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