diff options
Diffstat (limited to 'contrib/syslinux-4.02/gpxe/src/util/geniso')
-rwxr-xr-x | contrib/syslinux-4.02/gpxe/src/util/geniso | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/gpxe/src/util/geniso b/contrib/syslinux-4.02/gpxe/src/util/geniso new file mode 100755 index 0000000..7c2f767 --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/util/geniso @@ -0,0 +1,55 @@ +#!/bin/bash +# +# Generate a isolinux ISO boot image +# +# geniso foo.iso foo.lkrn +# +# the ISO image is the first argument so that a list of .lkrn images +# to include can be specified +# +case $# in +0|1) + echo Usage: $0 foo.iso foo.lkrn ... + exit 1 + ;; +esac +# This should be the default location of the isolinux.bin file +isolinux_bin=${ISOLINUX_BIN:-util/isolinux.bin} +if [ ! -r $isolinux_bin ] +then + echo $0: $isolinux_bin not found, please install, or set ISOLINUX_BIN in arch/i386/Makefile correctly + exit 1 +fi +out=$1 +shift +dir=`mktemp -d bin/iso.dir.XXXXXX` +cfg=$dir/isolinux.cfg +cp -p $isolinux_bin $dir +cat > $cfg <<EOF +# These default options can be changed in the geniso script +SAY Etherboot ISO boot image generated by geniso +TIMEOUT 30 +EOF +first= +for f +do + if [ ! -r $f ] + then + echo $f does not exist, skipping 1>&2 + continue + fi + b=$(basename $f) + g=${b%.lkrn} + g=${g//[^a-z0-9]}.krn + case "$first" in + "") + echo DEFAULT $g + ;; + esac + first=$g + echo LABEL $b + echo "" KERNEL $g + cp -p $f $dir/$g +done >> $cfg +mkisofs -q -l -o $out -c boot.cat -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table $dir +rm -fr $dir |