This is a quick and dirty script to convert a floppyfw floppy (http://www.zelow.no/floppyfw/) to a tagged image for booting with Etherboot (http://etherboot.sourceforge.net/). The advantages of network booting include: it's much faster loading from the network than from a floppy disk, you can boot from any size floppy, and you are not limited to the maximum of 1.44 MB of the physical floppy. If you have enough RAM and use a virtual floppy to build the initial boot image, you can put as much on it as will fit the ramdisk. See further down under -nonet if you want to boot from HD or CDROM. This program requires mtools, tar, bzip2, loopback mount in the kernel, and root privileges to execute. Hope you have them. This script works for any of the releases for which a subdirectory of that name is provided, but it should not be too hard to make it work for other releases, all that is done here is to substitute some scripts for the distributed ones. First of all you should make the floppy work the way you want before converting it to a tagged image. This involves editing the various config files on the floppy. Instructions on this are distributed from the floppyfw web page mentioned above. Edit the $tftpdir assignment for the directory where you put your tagged images. Edit the $libdir assignment and the use lib directive near the top if you decide to put this package somewhere other than /usr/local/lib/mkffwnb/. Adjust the instructions below as necessary. Copy everything to $libdir. mkdir -p /usr/local/lib/mkffwnb/ cp -a . /usr/local/lib/mkffwnb/ Make a link from /usr/local/lib/mkffwnb/mkffwnb.pl to /usr/local/bin/mkffwnb so that it's in your path. ln -s /usr/local/lib/mkffwnb/mkffwnb.pl /usr/local/bin/mkffwnb Then run it as: mkffwnb You can also provide a floppy drive as an argument, e.g. mkffwnb x: where x: could be mapped to a disk file. This allows you to build an image without a real floppy drive. Remember that for virtual drives root must have the mapping for the drive in question in ~root/.mtoolsrc. You can use the option --localtime=/etc/localtime to specify that the file /etc/localtime is to be copied to /etc/localtime on the initrd. Instead of /etc/localtime, you can use any of the timezone files under /usr/share/zoneinfo/, it's just that /etc/localtime will usually be the correct one for your timezone. If you use the option -nonet, it leaves the intermediate files in $tempdir, /tmp/mkffwnb by default. This is useful if you want the vmlinuz and initrd.gz files for use with LILO or isolinux to boot from HD or CDROM. Actually you can also use these with a floppy, it loads faster if you fold all the scripts and modules into the initrd ahead of time. mkffwnb has to be run as root because it uses loopback mounts and also because the files inside the initrd are owned by root. Ken Yap 2003-04-20