[Fedora-livecd-list] experimental unionfs and initramfs code

Jane Dogalt jdogalt at yahoo.com
Mon Apr 24 16:18:20 UTC 2006


Well, I managed to get my first proof-of-concept fedora core 5 based livecd iso
generated, which utilizes unionfs+squashfs via initramfs.

This is absolutely bleeding edge stuff which I only post as a helpful example
for others who may be interesting in similar hacking.  I do have an iso online,
but I won't advertise it's location because I don't want to blow my hosting
bandwidth on a 700MB download which isn't really useful in and of itself.  But
here are the nash and init modifications I made, which illustrate what I had to
do, and I'll briefly outline the rest of what I did to manually stitch together
the iso.

http://viros.org/releases/20060423a.dio/

So the nash I hacked on was the stock fedora core 5 one.  And my modifcations
started from the truly elegant linux-from-scratch livecd init.c/init.h.  Though
by the time I packaged it up, I had mostly made my custom vswitchroot and
vsetuproot match up pretty closely with the native setuproot and switchroot. 
When I'm done polishing, there may only be a couple lines of different code,
and therefore an argument to those functions might be the right answer (for
me).

The init (nash script) I started out with was the basic one from a normal hard
disk install (via qemu, and not using lvm) fc5 initramfs.  As you can tell by a
diff, the changes are fairly minimal.  In fact, with the above mentions,
eventually the difference might just be an argument to setuproot, switchroot,
and a new function setupliveunion.

Otherwise, the rest of the base system is relatively unmodified, just added
unionfs, disabled selinux (it puked, and may not be happy with unionfs, or just
requires more polishing of the init sequence), and then changed fstab so it
wouldn't try to fsck root.

I'll post more progress as it happens (mostly after finals), and my experiences
using unionfs and qemu.  I'm pretty sure I can get a sweet completely non-root
headless scripted build going as soon as I add a harmless 3-line patch to qemu.
 Beyond that, since qemu is obviously painfully slow, I'll be going down the
route of only using kickstarts, and not anacondas gui, which again, for me is
the right answer, and especially almost necessary when working with qemu.

None of this really impacts kadischi except as idea fodder (my best
contribution), but I figure this isn't kadischi-devel-list, it's
fedora-livecd-list, so maybe some folks are interested in some other
alternatives.

Peace...

-jdog

P.S.- I can't wait to give a 3 layer union a shot, to see if my
early-boot-file-segregation idea really does improve non-emulated boot speed
due to reduced seek thrashing.  (and beyond that, using mkisofs -sort to see if
there is a discernable speed increase from putting the boot files on the
outside tracks of the cdrom versus the inside).


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




More information about the Fedora-livecd-list mailing list