[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 Fedora-livecd-list
mailing list