Running Linux from a ramdisk (root)
I have been pondering about this for a while now...
Is it possible to run Linux entirely from RAM (ramdisk)?
Actually, I am pretty sure it's possible (everything is possible in Linux :D), since we already have initrd. So let's change the question to... is it sensible?
A script can be written to copy the content of the ramdisk to harddrive on shutdown, and from harddrive on boot, essentially making shutdown into hibernate.
I am thinking about doing this on a laptop
advantages -
SPEED! (~2GB/s read/write)
low power consumption if we can turn off the harddrive (RAM is powered all the time anyways)
weight (if we can take out the harddrive, but I don't think we can, read on)
disadvantages -
small capacity - most laptops only have 2 SODIMM slots, and 4GB DDR2 modules are insanely expensive/not available right now, which means we can get a maximum of 2x2GB. Potentially 2x4GB in a year or 2.
volatile - data loss on power loss, and makes complete shutdowns longer (copying ramdisk to HD)
The small capacity problem can be elevated by using tmpfs (like ramdisk, except it only uses as much memory as it needs to store the files, and CAN be swapped), and a large swap partition. This is why I said it's probably not possible to remove the harddrive entirely.
Volatility is not so much of a problem on laptops, since they have batteries, and can be configured to hibernate automatically when battery is critically low. Most of the time it can be put to suspend/standby (powering down everything except RAM) when not in use. On my laptop, for example, suspend takes about 1%/hr, which I think is acceptable, as long as it's charged everyday.
Obviously important files shouldn't be saved on the ramdisk. They can be saved to either harddrive or over network.
So... what do you think? Anything I overlooked?
EDIT:
Looks like someone thought about this already =D.
http://www.rikiji.it/index.php?action=archive&nid=7