summaryrefslogtreecommitdiffstats
path: root/src/util/genliso
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/genliso')
-rwxr-xr-xsrc/util/genliso44
1 files changed, 17 insertions, 27 deletions
diff --git a/src/util/genliso b/src/util/genliso
index 0a67eb3c..17823841 100755
--- a/src/util/genliso
+++ b/src/util/genliso
@@ -2,24 +2,18 @@
#
# Generate a legacy floppy emulation ISO boot image
#
-# genliso foo.liso foo.lkrn
+# genliso foo.liso foo.lkrn bar.lkrn ...
#
-# the ISO image is the first argument so that a list of .lkrn images
-# to include can be specified
-#
-case $0 in
-*genliso)
- ;;
-*genfdimg)
- genfdimg=1
- ;;
-esac
+# The .liso image filename is the first argument followed by
+# a list of .lkrn images include in .liso image
+
case $# in
0|1)
echo Usage: $0 foo.liso foo.lkrn ...
exit 1
;;
esac
+
case "`mtools -V`" in
Mtools\ version\ 3.9.9*|Mtools\ version\ 3.9.1[0-9]*|Mtools\ version\ 4.*)
;;
@@ -28,25 +22,23 @@ Mtools\ version\ 3.9.9*|Mtools\ version\ 3.9.1[0-9]*|Mtools\ version\ 4.*)
exit 1
;;
esac
+
out=$1
shift
+
dir=bin/liso.dir
mkdir -p $dir
-case "$genfdimg" in
-1)
- img=$out
- ;;
-*)
- img=$dir/boot.img
- ;;
-esac
+
+img=$dir/boot.img
mformat -f 1440 -C -i $img ::
+
cfg=bin/syslinux.cfg
cat > $cfg <<EOF
# These default options can be changed in the genliso script
-SAY Etherboot ISO boot image generated by genliso
+SAY gPXE ISO boot image generated by genliso
TIMEOUT 30
EOF
+
first=
for f
do
@@ -70,16 +62,14 @@ do
echo "" KERNEL $g
mcopy -m -i $img $f ::$g
done >> $cfg
+
mcopy -i $img $cfg ::syslinux.cfg
+
if ! syslinux $img
then
exit 1
fi
-case "$genfdimg" in
-1)
- ;;
-*)
- mkisofs -o $out -c boot.cat -b boot.img $dir
- ;;
-esac
+
+mkisofs -o $out -c boot.cat -b boot.img $dir
+
rm -fr $dir