Ludwig Nussel wrote:
Raymond Wooninck wrote:
It seems that my reply from yesterday didn't arrived in the mailing list. Therefore please see my reply below.
On Tuesday, April 17, 2012, Ludwig Nussel
wrote: so we have the choice between a) enlarging the initrd by including pango b) not display any text or hint at all c) use text mode for prompts d) use an alternative label.so that uses freetype directly instead of pango
a) seems undesirable bloat esp since there is no localization at all in initrd and I doubt that will change until 12.2 (feel free to prove me wrong) b) is currently implemented and not satisfactory IMO c) fails 1. and 2. and doesn't provide localization either d) would fullfil 1. and 2. but would need someone to actually write C code ...
The current state of Plymouth in Factory is that option A was implemented. I have added the necessary files to have text support during the boot process. The initrd (on my system) grew with about 700Kb and this was also confirmed by other people. The whole Pango framework is not required and the only additions are:
usr/share/fonts/truetype/DejaVuSans.ttf usr/share/fonts/truetype/DejaVuSerif.ttf usr/lib64/libpangoft2-1.0.so.0.3000.0 (176Kb) usr/lib64/libpangoft2-1.0.so.0 usr/lib64/libpangocairo-1.0.so.0.3000.0 (52Kb) usr/lib64/libpangocairo-1.0.so.0 usr/lib64/libpango-1.0.so.0.3000.0 (308Kb) usr/lib64/libpango-1.0.so.0 usr/lib64/pango/1.6.0/modules/pango-basic-fc.so (11Kb) etc/pango/pango64.modules (3Kb) etc/fonts/conf.d/60-latin.conf etc/fonts/fonts.conf (5Kb)
As indicated once they are in the compressed initrd, then the total additional space requires is about 700Kb. And most of it is taken by the two font files.
For me the biggest question mark is that even if we write a new label.so to support FreeType, do we still need fonts inside the initrd ? If so, what would be the actual different with using FreeType instead of the indicated pango libraries.
Of course you need a font. Your list above does not include freetype itself, fontconfig, glib and other libraries that are required by the pango libraries. So I guess those are already the costs of plymouth itself. I had assumed that the plugin architecture of label.so was done to avoid excessive deps. Apparently that assumption was wrong and something else already requires excessive libraries. In that case the few extra kb for pango don't matter indeed. Using freetype directly instead of pango to save space would only make sense if that also avoids having glib etc in initrd.
Ok, so I modified cp_bin of mkinitrd to not copy binaries that depend on glib. initrd size went down to 5.8MB The culprit is udev. mkinitrd blindly copies anything in /lib/udev including dependencies to initrd which doubles the size. With that hack after installing plymouth the initrd has 8.9MB After forcefully removing suspend and splashy while keeping plymouth the initrd has 6.6MB. So that should be the basis for your measurements. The superfluous dependencies added by udev and splashy need to be addressed. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org