|
|
1.1 ! root 1: #!/bin/bash ! 2: # ! 3: # Generate a legacy floppy emulation ISO boot image ! 4: # ! 5: # genliso foo.liso foo.lkrn bar.lkrn ... ! 6: # ! 7: # The .liso image filename is the first argument followed by ! 8: # a list of .lkrn images include in .liso image ! 9: ! 10: case $# in ! 11: 0|1) ! 12: echo Usage: $0 foo.liso foo.lkrn ... ! 13: exit 1 ! 14: ;; ! 15: esac ! 16: ! 17: case "`mtools -V`" in ! 18: Mtools\ version\ 3.9.9*|Mtools\ version\ 3.9.1[0-9]*|[mM]tools\ *\ [4-9].*) ! 19: ;; ! 20: *) ! 21: echo Mtools version 3.9.9 or later is required ! 22: exit 1 ! 23: ;; ! 24: esac ! 25: ! 26: out=$1 ! 27: shift ! 28: ! 29: dir=`mktemp -d bin/liso.dir.XXXXXX` ! 30: ! 31: img=$dir/boot.img ! 32: mformat -f 1440 -C -i $img :: ! 33: ! 34: cfg=$dir/syslinux.cfg ! 35: cat > $cfg <<EOF ! 36: # These default options can be changed in the genliso script ! 37: SAY iPXE ISO boot image generated by genliso ! 38: TIMEOUT 30 ! 39: EOF ! 40: ! 41: first= ! 42: for f ! 43: do ! 44: if [ ! -r $f ] ! 45: then ! 46: echo $f does not exist, skipping 1>&2 ! 47: continue ! 48: fi ! 49: # shorten name for 8.3 filesystem ! 50: b=$(basename $f) ! 51: g=${b%.lkrn} ! 52: g=${g//[^a-z0-9]} ! 53: g=${g:0:8}.krn ! 54: case "$first" in ! 55: "") ! 56: echo DEFAULT $g ! 57: ;; ! 58: esac ! 59: first=$g ! 60: echo LABEL $b ! 61: echo "" KERNEL $g ! 62: mcopy -m -i $img $f ::$g ! 63: done >> $cfg ! 64: ! 65: mcopy -i $img $cfg ::syslinux.cfg ! 66: ! 67: if ! syslinux $img ! 68: then ! 69: exit 1 ! 70: fi ! 71: ! 72: mkisofs -q -o $out -c boot.cat -b boot.img $dir ! 73: ! 74: rm -fr $dir
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.