SystemRescueCD is very useful to have on hand for those issues that come up at the worst times. Instead of having to dig for that USB key or CD that SystemRescueCD is on, I’ve setup my PXE server with SystemRescueCD to save time on having to find where I’ve put the CD. It also means that when SystemRescueCD is updated, all I need to do is update the files on my PXE server instead of having to burn a new CD or install it again on a USB key which means less clutter for me which is always good.
The only downside to booting over the network is the time it takes to boot if you’re still on good ol’ 100 megabit “Fast” Ethernet as SystemRescueCD weights in at just over 300 megabytes, which also means the system that you’re network booting on must have at least 512 megabytes of ram in order to network boot SystemRescueCD as all the data is stored in RAM when you networkboot.
Anyways, onto the nitty grittys.
Step 1 – Getting the SystemRescueCD files
We need the ISO file that contains the files we will need to PXE boot SystemRescueCD which can be downloaded from here.
Once we have the ISO file, we need 4 files off the ISO file, which are –
- initram.igz – this is the initial ramdisk that SystemRescueCD uses to boot
- rescuecd – This is the kernel that SystemRescueCD uses, however there are other options that can be used.
- sysrcd.dat – This contains the squash file system that becomes the root filesystem for SystemRescueCD
- sysrcd.md5 – This is the signature file for SystemRescueCD, and isn’t actually needed, but good idea to have.
Once we have these 4 files, we need to place them onto our PXE server. I have used the directory /tftpboot/srcd for my files on the server.
Step 2 – Configuring the PXE Server
We will need to edit the file that contains the configuration for the PXE server. If you have been following my PXE Server guide then the file is called default in the pxelinux.cfg directory.
Using your favourite text editor, add the following lines to the configuration file –
MENU LABEL SystemRescueCD 2.4.1
append initrd=srcd/initram.igz netboot=tftp://10.1.1.1/srcd/sysrcd.dat
The last two lines will need customisation to your setup if you use a different kernel, or the IP address of your PXE server is different, as will the path for the kernel, initram and netboot parameters.
Once the configuration file is updated, you should now be able to boot SystemRescueCD over the network with little difficulty, however if the network has some issues you may find it will take a little while as the TFTP protocol sends data over UDP which does not support resending corrupted data.