|
|
1.1 ! root 1: #!/bin/bash ! 2: # ! 3: # Generate a syslinux floppy that loads a iPXE image ! 4: # ! 5: # gensdsk foo.sdsk foo.lkrn ! 6: # ! 7: # the floppy image is the first argument ! 8: # followed by list of .lkrn images ! 9: # ! 10: ! 11: case $# in ! 12: 0|1) ! 13: echo Usage: $0 foo.sdsk foo.lkrn ... ! 14: exit 1 ! 15: ;; ! 16: esac ! 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: img=$1 ! 26: shift ! 27: dir=`mktemp -d bin/sdsk.dir.XXXXXX` ! 28: ! 29: mformat -f 1440 -C -i $img :: ! 30: cfg=$dir/syslinux.cfg ! 31: cat > $cfg <<EOF ! 32: ! 33: # These default options can be changed in the gensdsk script ! 34: TIMEOUT 30 ! 35: EOF ! 36: first= ! 37: for f ! 38: do ! 39: if [ ! -r $f ] ! 40: then ! 41: echo $f does not exist, skipping 1>&2 ! 42: continue ! 43: fi ! 44: # shorten name for 8.3 filesystem ! 45: b=$(basename $f) ! 46: g=${b%.lkrn} ! 47: g=${g//[^a-z0-9]} ! 48: g=${g:0:8}.krn ! 49: case "$first" in ! 50: "") ! 51: echo DEFAULT $g ! 52: ;; ! 53: esac ! 54: first=$g ! 55: echo LABEL $b ! 56: echo "" KERNEL $g ! 57: mcopy -m -i $img $f ::$g ! 58: done >> $cfg ! 59: mcopy -i $img $cfg ::syslinux.cfg ! 60: if ! syslinux $img ! 61: then ! 62: exit 1 ! 63: fi ! 64: ! 65: rm -fr $dir
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.