My goal is to create a linux installation that can run totally diskless and stateless (i.e., if anything goes wrong during runtime, a reboot fully restores the original system image). This kind of thing is useful with clusters of large numbers of identical (or nearly so) machines. No NFS root file system, no hard drive, nothing. It seems there are two ways to boot it: network and read-only CD-ROM.
I’m playing around with this using virtual machines, so I’m not sure which will offer better performance. I have had success booting the Debian Etch installer by following an article entitled Setting up a server for PXE network booting. I used the dnsmasq setup because I already have a Debian VM which runs dnsmasq to serve as a DHCP server and NAT box for my diskless VMs.
This proves that my server is configured correctly, and that my guest VMs will boot from it. However, I want an operation guest image, not the Debian installer.
I then found an older article on Diskless Linux which had a useful Makefile for working with the compressed root filesystem image. It suggested copying files into the new root filesystem image manually, a process that doesn’t much interest me, especially since I’ve used debootstrap successfully many times in the past. I’ve also used systems based on BusyBox in the past, so I expect to come to some sort of resolution.
Damn Small Linux Diskless Boot worked when I mounted the ISO, copied its contents to my tftpboot folder, and added a sensible entry to my pxelinux.cfg/default file:
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal initrd=dsl/minirt24.gz noscsi noideraid nosound nousb nofirewire noicons minimal nomce noapic noapm quiet BOOT_IMAGE=knoppix
I want to get rid of all the X support and install a web server.
To be continued…