[Fedora-livecd-list] [PATCH] --turbo-liveinst improves livecd installer speed by about 20%

Jeremy Katz katzj at redhat.com
Wed Jul 25 14:33:03 UTC 2007


On Tue, 2007-07-24 at 18:57 -0500, Douglas McClendon wrote:
> Jeremy Katz wrote:
> > On Mon, 2007-07-23 at 03:06 -0500, Douglas McClendon wrote:
> >> They implement what I have described rather verbosely on fedora-livecd-list and 
> >> in bug 248082.
> >>
> >> The short story is the fedora7 livecd installer works by copying a 4G ext3 image 
> >> to the destination rootfs, and then resizing to maximal size.
> >>
> >> The attached patches improve the speed of this step by 10-30% (for cdrom vs fast 
> >> livecd-iso-to-disk'd usbflash install media respectively).
> >>
> >> This is accomplished because the 4G image actually only holds 2G of data.  The 
> >> patch to livecd-creator, when invoked with --turbo-liveinst, will create a small 
> >> (25kb) binary delta file on the livecd.  The patch to anaconda, will detect the 
> >> presence of the file, and if it is there, use it with devicemapper to create a 
> >> 2G ext3 image, which can naturally be copied to the destination volume more 
> >> quickly.  (I.e. 2G of zeros don't get written to disk).
> > 
> > So I'm still not convinced that the wins here are really substantial
> > enough given the additional contortions that we have to go through to
> > get things going. 
> 
> I understand your attitude.  I will however do another round of polishing and 
> performance testing in an attempt to convince you.  Ultimately, I hope to at 
> least convince you to do your own side-by-side taste test and confirm my 
> results.  :)

*grin*  Sounds good.

> > As for being able to get to a smaller rootfs, I think that if you really
> > want to get to requiring a small root, then we have to entirely change
> > the copying to be more of a "copy the bits from the filesystem" as
> > opposed to a block-level copy.  That would also avoid the duplicated
> > copies if you have, eg, a separate /usr (and also avoid the overhead of
> > needing that space on the rootfs).  This would also end up avoiding the
> > copying overhead as well as the filesystem resizing, although you'd then
> > have to format the entire fs.  I think I'd be slightly more interested
> > in doing that, although care has to be taken to ensure that we really
> > are preserving everything then.
> 
> I agree with all of this.  Still, I go back to the existing patch, which 
> hopefully should be a bit more elegant and polished soon, and suggest that it is 
> at least worth seriously considering for F8.

Doing a file level copy rather than the block copy currently being done,
though, should be pretty straight-forward also.  It'd just be changing
the copy method in the livecd backend of anaconda to use the copytree
stuff that's already there.  Maybe I'll try to throw together a quick
test to time later and see how it fares.  I know it'll be a win for if
you have a separate /usr, the question is just for the "base" case.

Jeremy




More information about the livecd mailing list