7 proposals - was Re: [Fedora-livecd-list] Kadischi - Anaconda

Jane Dogalt jdogalt at yahoo.com
Fri Mar 31 22:44:15 UTC 2006


--- "Bill Rugolsky Jr." <brugolsky at telemetry-investments.com> wrote:

> A few musings:
> 
> I've been considering how to create a LiveCD with an installer.  I
> see two approaches:
> 
> (1) reconstruct rpms from the LiveCD filesystem, and do the usual
>     one-at-a-time install.  This is likely to be very slow, because
>     of seeking.
> 
> (2) Group rpms into transaction groups by examining installation
>     prerequisites and preinstall-scriptlet bounds, and then just
>     apply pre-install scriptlets, copy files from the live filesystem
>     and apply the post-install scriptlets.
>     [ PyRPM might be a good starting point for doing this.]
> 
> On one FC5 x86_64 install, there are 72 pre-install scriptlets in 1511
> packages.  Most of these are of the useradd/groupadd variety.  Many
> others are applicable when doing upgrades.
> 
> In order to do this, one would want the source filesystem that is
> being copied to represent the pristine file trees from the RPMS.
> That would argue in favor of using something like unionfs to layer
> LiveCD specific file customizations over a pristine tree.

Another brute force alternative is to just duplicate information, and store the
rpms on the livecd.  As we move to dvd and hd-dvd, this may not be so bad.

Expounding on your unionfs musing, one could have many layers in the union.  At
the bottom, you could have a pristine @minimal (lets pretend like that still
exists) install, then livecd customizations, then an @desktop layer, etc.  Just
a musing though, as I vaguely recall there are signifigant performance
penalties as you get more and more layers in the union.

> 
> On another topic, removing the CD/DVD:
> 
> One could use (experimental?) dm-mirror to copy the CD contents in
> the background.  One could use dm over loop, or there's an experimental
> dm-loop module that functions like loop, but requires dmsetup instead
> of losetup.  Using the dm-mirror module, one could set up a mirror
> between a loop from the CD and a loop from some other filesystem; when
> the (squashfs) filesystem is done copying, the mirror can be broken,
> the CD loop removed, and the CD ejected.

I do like this idea, though trying to do serious io multitasking with a cd gets
pretty ugly with seek thrashing.  I.e. try doing a dd dump of an iso while the
cd is mounted and you are trying to use it (let alone run a system from it). 
Back when I did my early-boot caching, I had my mandrake-8 livecd image down to
135M, so waiting for it to copy wasn't so bad.  But I do like the idea.  I
suppose if you could effectively renice the mirror so that it truly didn't slow
down the foreground running system, it would work very nicely.

-jdog



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




More information about the livecd mailing list