[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

futher adventures in initrd shrinking



I may have gotten this idea from someone else, so my apologies if it
looks like I'm presenting it as my own.  Just speak up and you'll get
the glory and adulation of the tens that are reading this list.

As you may know, I am working on converting us from an
initrd+install.img to one giant initrd containing everything from both.
My baseline of just shoving everything into one image was 172 MB
compressed.  This is pretty big - it increases memory requirements and
causes a variety of weird lags in bootup.  For just one data point, a VM
here refused to boot the boot.iso with anything less than 1 GB of
memory.

After some strategic removals as outlined in a previous mail, I reduced
this image to 131 MB compressed, 386 MB uncompressed.  This is much
better and is quite a bit smaller than what we have today.  It reduced
my boot.iso memory requirements to 560 MB.  However, it's still not
close to what I want.  My goal is a 100 MB compressed initrd.

So it's time to think a little more drastically.  Here it is:  What if
we kicked all translations out of the initrd?

This further reduces the initrd to 114 MB compressed, 329 MB
uncompressed.  Check out all those memory savings, plus think about how
much faster downloads will go if doing pxeboot.  As an English speaker,
I can't see how anyone would disapprove of this plan.

No?  Not my best idea ever?  Well, I'm not advocating removing
translation support from anaconda.  I just want to move it.  What if
instead of building in every single translation to one giant file that
everyone has to download, we moved each language into its own specific
support image file?

This file would basically be another cpio archive containing
/usr/share/locale/<lang>, perhaps plus some other files as they turn up.
These would be stored in a known location given by .treeinfo, perhaps in
a directory within images/.  Then in loader when you select your
language, the proper support image is fetched, mounted, and away we go.
For people using boot.iso or the DVD, there would be no downloading -
this would all just be mounted silently in the background.  For
pxebooting, it would mean downloading a separate file, but it would only
be the one smaller, specific one so it should save time and bandwidth.

It may sound like this is violating my principle that we should move
everything needed for installation into one single image to be
downloaded, but I don't think so.  I think once I get all the horrible
method-specific poking, transferring, and mounting code ripped out,
adding support for transferring and mounting one single image should be
pretty straightforward.

Thoughts?

- Chris


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]