| #!/bin/bash | |
| # | |
| # Formats a floppy to use Syslinux | |
| dummy="" | |
| # need to have mtools installed | |
| if [ -z `which mformat` -o -z `which mcopy` ]; then | |
| echo "You must have the mtools package installed to run this script" | |
| exit 1 | |
| fi | |
| # need an arg for the location of the kernel | |
| if [ -z "$1" ]; then | |
| echo "usage: `basename $0` path/to/linux/kernel" | |
| exit 1 | |
| fi | |
| # need to have a root file system built | |
| if [ ! -f rootfs.gz ]; then | |
| echo "You need to have a rootfs built first." | |
| echo "Hit RETURN to make one now or Control-C to quit." | |
| read dummy | |
| ./mkrootfs.sh | |
| fi | |
| # prepare the floppy | |
| echo "Please insert a blank floppy in the drive and press RETURN to format" | |
| echo "(WARNING: All data will be erased! Hit Control-C to abort)" | |
| read dummy | |
| echo "Formatting the floppy..." | |
| mformat a: | |
| echo "Making it bootable with Syslinux..." | |
| syslinux -s /dev/fd0 | |
| echo "Copying Syslinux configuration files..." | |
| mcopy syslinux.cfg display.txt a: | |
| echo "Copying root filesystem file..." | |
| mcopy rootfs.gz a: | |
| # XXX: maybe check for "no space on device" errors here | |
| echo "Copying linux kernel..." | |
| mcopy $1 a:linux | |
| # XXX: maybe check for "no space on device" errors here too | |
| echo "Finished: boot floppy created" |