Layered File System
Lighthouse64's file system utilizes AUFS to form a unification file system, which can appear to merge several different file systems into one virtual file system.
Lighthouse64‘s main file system is compressed into a single read-only file using Squashfs. During boot, the read-only main file system (L64-nnn.sfs) is mounted at /initrd/pup_ro2. At first shutdown you’re asked if you want to create a save file (L64save.3fs). During boot that file, which is really a read-write file system, is mounted at /initrd/pup_rw. Then the init script uses AUFS to merge the main read-only file system with the read-write save file, and mounts this new virtual file system on /.
the Bootmanager, found under Setup in the main menu, you can add other
.sfs files to the virtual file system (after a reboot). The
Devx-L64_nnn.sfs, which contains gcc, static libraries, headers,
kernel source and everything else you need to compile application,
could be added into our virtual file system. Just place the
Devx-L64_nnn.sfs file at the root of the partition that contains our
save file (/mnt/home), use the Bootmanager to add it and then
reboot. These extra sfs files are mounted at /initrd/pup_roX and
merged into the rest of the virtual file system which gets mounted at /.
Typical file system mounting:
So what are the advantages to all this? Many, here’s a
To create another save file you need to boot RAM only. If
booting from CD, you would use the boot option lhp pfix=ram
If booting from GRUB you can edit your menu.lst or hit the e key when the GRUB screen pops up. Then add pfix=ram to the kernel line. Then you’ll boot up with out a save file, the pup_rw layer will be in RAM. When you shutdown you’ll be asked if you want to create a new save file. When you reboot and multiple L64save files are detected you’ll be asked which one you want to use. If you encrypted your save file, you’ll also be asked for your password.