root=/dev/ram0

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:

LABEL dsl_lowram
KERNEL dsl/linux24
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…

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s