Finnix includes full support for network booting, via PXE on x86 platforms, or by direct OpenFirmware network boot on PowerPC platforms.
Finnix requires an initrd which includes network and NFS modules. This initrd is not provided directly on the Finnix CD, however a utility called finnix-netboot-server is provided which will generate an appropriate initrd. The utility will also set up NFS and TFTP servies so that a running Finnix session can become a netboot server.
Run finnix-netboot-server. It is an interactive curses application, and will do the following:
- Ask for the current running session's IP address. The program will fill in its best guess, and is used for setting up the TFTP boot menu to pass the appopriate NFS location to Finnix.
- Build a netboot-enabled initrd. This initrd includes NFS and network modules, and is specific to the version of Finnix it was built on. However, IP information is not stored within the initrd, so it may be used for multiple netboot servers.
- Copy and modity the necessary boot files to /srv/tftp/finnix. Generally this is the contents of /isolinux on the x86 CD and /boot on the PowerPC CD, plus the netboot-enabled initrd.
- Start NFS services, exporting /cdrom to the network.
- Start TFTP services, serving /srv/tftp to the network.
- Instruct the user on how to set up DHCP services (x86) or how to boot from OpenFirmware (PowerPC).
If you would like to set up a permanent Finnix netboot server, it is recommended you run finnix-netboot-server on a running Finnix instance anyway. It will take care of the necessary modifications for you, saving you the trouble of modifying an initrd by hand. Then copy the contents of /cdrom and /srv/tftp/finnix to your netboot server in the appropriate locations, edit /srv/tftp/finnix/pxelinux.0/default and set IP information as necessary, and set up NFS exports.
Single large initrd netbooting
An alternative to setting up an NFS server is to use finnix-netboot-biginit, which will create a large initrd that contains the entire Finnix distribution. This way, you will only need the large initrd and the kernel to boot Finnix. However, a downside is that during the boot process, the initrd will always remain in memory on the netbooted machine. Moreover, at various points in the initrd load and boot process, the RAM requirements are three times the size of the initrd. That is, if finnix-netboot-biginit creates a 150MB initrd, Linux and Finnix will need 450MB of RAM at various points in the boot process, effectively requiring 512MB to netboot Finnix using the biginit method.