summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b0ca9b1)
generated iso.
Added -b option for specifying default boot options.
Added -c option for copying the contents of the specified directory to the
generated iso image.
Added -f flag to grml2iso forcing overwrite of existing iso image.
Adjusted documentation of grml2iso.
# License: This file is licensed under the GPL v2 or any later version.
################################################################################
# TODO:
# License: This file is licensed under the GPL v2 or any later version.
################################################################################
# TODO:
-# * support isolinux as bootloader on the ISO
-# * support setting grml2usb options (e.g. --bootoptions=...)
+# * support setting grml2usb options
################################################################################
# define function getfilesize before "set -e" {{{
################################################################################
# define function getfilesize before "set -e" {{{
- echo >&2 "Usage: $0 -o target.iso source1.iso [source2.iso ...]"
+ echo >&2 "Usage: $0 [OPTIONS] -o target.iso source1.iso [source2.iso ...]"
+ echo >&2 "
+Options:
+ -b Boot Params Additional boot parameters passed to grml2usb
+ -c Directory Copy files from directory to generated iso
+ -f Force overwrite of existing target.iso
+"
[ -n "$1" ] && exit $1 || exit 1
}
# }}}
[ -n "$1" ] && exit $1 || exit 1
}
# }}}
[[ $# -gt 2 ]] || usage 1
ISOFILE=''
[[ $# -gt 2 ]] || usage 1
ISOFILE=''
- while getopts ao: name; do
+ DIR=''
+ GRML2USB_PARAMS=''
+ FORCE=''
+ while getopts fb:c:o: name; do
case $name in
o) ISOFILE="$OPTARG";;
case $name in
o) ISOFILE="$OPTARG";;
+ b) GRML2USB_PARAMS='--bootoptions='"${OPTARG}";;
+ c) DIR="$OPTARG";;
+ f) FORCE='true';;
[ -n "$ISOFILE" ] || usage 1
# we don't to override any files by accident
[ -n "$ISOFILE" ] || usage 1
# we don't to override any files by accident
- if [ -e "$ISOFILE" ]; then
+ if [ -e "$ISOFILE" -a ! -n "$FORCE" ]; then
echo "Error: target file $ISOFILE exists already." >&2
exit 1
fi
echo "Error: target file $ISOFILE exists already." >&2
exit 1
fi
+ if [ ! -z "$DIR" -a ! -d "$DIR" ] ; then
+ echo "Error: specified parameter for -c is not a directory" >&2
+ exit 1
+ fi
+
shift $(($OPTIND - 1))
# }}}
shift $(($OPTIND - 1))
# }}}
# }}}}
# execute grml2usb with all ISOs you'd like to install {{{
# }}}}
# execute grml2usb with all ISOs you'd like to install {{{
- $GRML2USB "$@" "$WRKDIR/cddir"
+ $GRML2USB "${GRML2USB_PARAMS}" "$@" "$WRKDIR/cddir"
# }}}
# move syslinux to isolinux {{{
# }}}
# move syslinux to isolinux {{{
echo "include hd.cfg" >> boot/isolinux/grmlmain.cfg
# }}}
echo "include hd.cfg" >> boot/isolinux/grmlmain.cfg
# }}}
+# copy specified directory to cd {{{
+ if [ -n "$DIR" ] ; then
+ echo >&2 "Copying ${DIR} to generated iso"
+ rsync -a ${DIR}/ .
+ fi
+
+# }}}
+
# generate the CD/DVD ISO {{{
mkisofs -V 'grml-multiboot' -l -r -J -no-pad \
-no-emul-boot -boot-load-size 4 -boot-info-table \
# generate the CD/DVD ISO {{{
mkisofs -V 'grml-multiboot' -l -r -J -no-pad \
-no-emul-boot -boot-load-size 4 -boot-info-table \
The work directory needs at least as much free disk space as the sum
of all specified ISOs.
The work directory needs at least as much free disk space as the sum
of all specified ISOs.
This option is mandatory and specifies where the resulting multiboot grml ISO
should be placed. Note that (to avoid any possible data loss) grml2iso will exit
if the specified target.iso exists already.
This option is mandatory and specifies where the resulting multiboot grml ISO
should be placed. Note that (to avoid any possible data loss) grml2iso will exit
if the specified target.iso exists already.
+ *\-c <directory>*::
+
+The content of the specified directory will be copied to the resulting
+multiboot grml ISO.
+
+ *\-b <boot params>*::
+
+Use specified default bootoptions as default.
+
+ *\-f *::
+
+Force the program to run and overwrite an existing iso image.
+
+
+
Usage examples
--------------
Usage examples
--------------
Create multiboot ISO /tmp/grml.iso with grml_2009.05.iso and grml64_2009.05.iso.
Create multiboot ISO /tmp/grml.iso with grml_2009.05.iso and grml64_2009.05.iso.
+ # grml2iso -b 'lang=de ssh=passwd' -c /tmp/grml-content -o /srv/grml.iso /srv/grml/grml_2009.10.iso
+
+Create a new iso with additional boot parameters and copy the content from /tmp/grml-content to the generated iso image.
+
# GRML2USB=/srv/git/grml2usb grml2iso -o /srv/grml.iso /srv/grml/grml_2009.05.iso /srv/grml/grml64-medium_2009.05.iso
Create multiboot ISO /srv/grml.iso with grml_2009.05.iso and
# GRML2USB=/srv/git/grml2usb grml2iso -o /srv/grml.iso /srv/grml/grml_2009.05.iso /srv/grml/grml64-medium_2009.05.iso
Create multiboot ISO /srv/grml.iso with grml_2009.05.iso and