site  contact  subhomenews

Preannouncing 'UniPup'

July 04, 2008 — BarryK
I mentioned in a comment to the last post, that Slitaz expands in RAM so takes up a lot of space, despite the original tiny size.
However, the idea of running in the initial ramdisk, not doing a switch_root, no layered-filesystem on '/', is something that I have often thought about.

It is so simple. Everything is in the initrd.gz file and we stay in the "initial ramdisk" (actually initramfs) after bootup. I decided to build a Puppy that works that way, and yep got it going. I have written a special script in Unleashed for building this pup, needs a codename, so I have named it "UniPup".

The achilles heal though, how to minimise the size expansion when the initrd.gz has loaded into RAM? The kernel modules are gzipped, I upx'ed many executables -- but shared library files can't be upx'ed. So I converted everything in /usr to usr.sfs and use aufs or unionfs to mount it on /usr with a tmpfs on top.

Yes, I know, a layerfs again, but it is only on /usr, not on /, and that has enormous advantages, like clean shutdown.

I haven't got there yet, but I am planning a system that will allow all of the user-created files in / to be saved to a pup_save file. It won't have the limitations of Puppy 1.x.

This is still partly vaporware, but thought I would let everyone know what I'm doing. I'll see if I can upload a demo in a day or two.


One Better

Username: kirk
"Barry, Are you still planning to upload an alternate 4.1alpha3 with udev?

sfs or appdir from network
Username: Raffy
"A Puppy optimized for getting sfs or appdir (via the network) to add to a running Puppy* sounds good.But if the machine has no disk storage, will the use of "tmpfs" make the whole idea work? ---------------------- * The core Puppy could be loaded from a small read-only flash drive or from the network (using PXE).

Compress Shared libraries
Username: Jesse
"A possible way to have shared libraries compressed. Jesse

Tags: puppy