On Thu, 2022-12-08 at 12:50 -0500, David Cantrell wrote: > On Wed, Dec 07, 2022 at 04:42:05PM -0800, Adam Williamson wrote: > > Hi folks! Today I woke up and found > > https://bugzilla.redhat.com/show_bug.cgi?id=2151495 , which diverted me > > down a bit of an "installer environment size" rabbit hole. > > > > As of today, with that new dep in webkitgtk, Rawhide's network install > > images are 703M in size. Here's a potted history of network install > > image sizes: > > > > Fedora Core 8: 103.2M (boot.iso 9.2M + stage2.img 94M) > > Fedora 13: 208M > > Fedora 17: 162M (last "old UI") > > Fedora 18: 294M (first "new UI") > > Fedora 23: 415M > > Fedora 28: 583M > > Fedora 33: 686M > > Fedora 37: 665M > > Fedora Rawhide: 703M > > > > The installer does not really do much more in Rawhide than it did in > > FC8. Even after the UI rewrite in F18, we were only at 294M. Now the > > image is well over 2x as big and does...basically the same. > > I take issue with this. It is not accurate to say that the installer now does > not do much more than it did for Fedora Core 8. There is more to the > installer than the UI. > > Broadly speaking, a lot of the growth came from converging the runtime > environment for the installer with the installed system. In Fedora Core 8 and > previous releases, the "installer environment" was a unique and stripped down > install. This was frustrating because it was effectively maintaining a small > mini distro for the purposes of running the distro installer. I meant it doesn't do much more in terms of what it achieves for the user. But we can also just take F18 as the base point, if you like. We're still over 2x as big as that was. > I think some curation on firmware could happen. I think probinson@ mentions > it later in this thread. If there were a way to identify the firmware > necessary for the installer environment that could probably simplify things. We already do a lot of "identifying the firmware necessary for the installer environment", see my earlier mail about all the stuff lorax does here. We've done the easy part, unfortunately. The stuff that's left is stuff that is, in some sense, needed - graphics card and wireless adapter firmwares, mainly. > > > Other obvious things that take up a lot of space: > > > > 1. /usr/lib/locale/locale-archive , from glibc-all-langpacks - this is > > 224M uncompressed. A quick test just compressing the file with xz on my > > system shows it compresses to around 11M, though, so that's probably > > all it adds up to after compression (the image is an xz-compressed > > squashfs) > > Can this be installed compressed? I'm not sure it can. The "compressed" size is the effective size we're concerned about, because the installer filesystem image is an xz-compressed squashfs. So 11M is already the "effective weight" of this file, I think - if I ran an image build with it removed, it'd probably be ~11M smaller. > > > 2. /usr/lib64/libLLVM-15.so, which is 114M on its own, compresses to > > 23M. We are, I think, basically stuck with this for mesa-dri-drivers , > > but does it have to be so *big*? > > If mesa-dri-drivers is not required for installation, it could be removed from > the installer environment. It is required - we don't get any graphics without it. > > 4. /usr/share/locale - 112M in total (uncompressed, not sure how much > > compressed) of translated strings from a ton of packages. No idea how > > many of these are really *needed* in the installer environment. We can > > maybe come up with a way to have lorax strip some, if we can come up > > with a viable way to figure out which. Obviously-fairly-large ones are > > from gnupg2 and libgweather4. I do recall we have some logic somewhere > > to decide which languages have a certain level of translation in > > anaconda; perhaps we could only include the strings for these > > languages? > > On that note, /usr/share/doc, /usr/share/man, and /usr/share/info could be > removed from the installer image if they are present. That likely won't free > a whole lot of space, but it's not nothing. All of those are already stripped: https://github.com/weldr/lorax/blob/master/share/templates.d/99-generic/runtime-cleanup.tmpl#L69 -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net _______________________________________________ Anaconda-devel mailing list -- anaconda-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to anaconda-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/anaconda-devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue