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

Re: initrd sizes mushroomed several months ago



Felix Miata composed on 2022-11-12 01:57 (UTC-0500):

> # grep MODULES= /etc/initramfs-tools/initramfs.conf
> MODULES=dep
> # ls -Ggh /boot/initrd.img-[5,6]*
> -rw-r--r-- 1 6.8M May  8  2022 /boot/initrd.img-5.17.0-1-686
> -rw-r--r-- 1  31M Aug  2 03:06 /boot/initrd.img-5.18.0-3-686
> -rw-r--r-- 1  31M Sep 30 15:43 /boot/initrd.img-5.19.0-2-686
> -rw-r--r-- 1  36M Nov 12 01:36 /boot/initrd.img-6.0.0-3-686

> Does anyone here have an explanation for the mega-change in size of initrds after
> kernel 5.17? My initramfs.conf has had MODULES=dep since before testing/bullseye
> became testing/bookworm.

That was on host 32bit host gx28b with ATI RV516 [Radeon X1300/X1550 Series], and
the rest of the follow-up in the past few days was with host gx78b with AMD HD6450
(Caicos; Terascale 2). On host fi965 with AMD HD8570 (Oland; GCN1), where all was
roughly similar other than specific GPU to gx78b I just did:

1-Installed dracut, and copied /etc/dracut.conf.d/* from TW to Bullseye's
/etc/dracut.conf.d/, which installation left empty:
# ls -gG /etc/dracut.conf.d/
total 3
-rw-r--r-- 1 894 Jan 26 08:01 10-persistent_policy.conf
-rw-r--r-- 1  29 Nov 10 01:35 13-persistent-local.conf
-rw-rw-r-- 1 200 Feb  4 00:25 dmodules.conf
# cat /etc/dracut.conf.d/*f | grep -v ^#
persistent_policy="by-uuid"
persistent_policy="by-label"
compress="zstd"
hostonly="yes"
omit_drivers+=" btrfs dmraid encryptfs i18n iscsi lvm lvm2 plymouth resume
sata_sil uefi-lib usb_storage "
--no-kernel
--no-early-microcode

	The installation tried to rebuild all existing initrds, but failed on account of
my symlinks in /boot/ that it wasn't prepared to deal with.

2-prepended . to all symlink names in /boot/.

3-apt update

4-time apt-get upgrade
	This did not add a new kernel. Dracut rebuilt all existing initrds. I noticed no
activity from update-initramfs.

5-rebooted successfully using 6.0x's new initrd.

6-apt-get full-upgrade
	... 34 upgraded, 21 newly installed, 0 to remove and 0 not upgraded, including
6.1x kernel.

7-rebooted successfully using 6.1x's new initrd.

This is the current state of all initrds. Newest of each exists without leading .
or last digit:
# ls -gGh /boot/.ini*
-rw-r--r-- 1 7.3M Apr 20  2022 /boot/.initrd.img-5.16.0-6-amd641
-rw-r--r-- 1  14M Feb  4 00:17 /boot/.initrd.img-5.16.0-6-amd642 # dracut
-rw-r--r-- 1 8.3M Aug  4  2022 /boot/.initrd.img-5.18.0-3-amd641
-rw-r--r-- 1  15M Feb  4 00:18 /boot/.initrd.img-5.18.0-3-amd642 # dracut
-rw-r--r-- 1  33M Sep 13 01:26 /boot/.initrd.img-5.19.0-1-amd641
-rw-r--r-- 1  15M Feb  4 00:18 /boot/.initrd.img-5.19.0-1-amd642 # dracut
-rw-r--r-- 1  33M Oct 20 02:29 /boot/.initrd.img-5.19.0-2-amd641
-rw-r--r-- 1  15M Feb  4 00:19 /boot/.initrd.img-5.19.0-2-amd642 # dracut
-rw-r--r-- 1  27M Dec 27 04:54 /boot/.initrd.img-6.0.0-6-amd641
-rw-r--r-- 1  15M Feb  4 00:20 /boot/.initrd.img-6.0.0-6-amd642 # dracut
-rw------- 1  15M Feb  4 00:46 /boot/.initrd.img-6.1.0-2-amd641 # dracut
# lsinitramfs .initrd.img-6.0.0-6-amd641 | wc -l
1208
# lsinitramfs .initrd.img-6.0.0-6-amd642 | wc -l
881
# lsinitramfs .initrd.img-6.0.0-6-amd641 | grep mwar | wc -l
728
# lsinitramfs .initrd.img-6.0.0-6-amd642 | grep mwar | wc -l
1
# lsinitramfs .initrd.img-6.1.0-2-amd641 | grep box
# lsinitramfs .initrd.img-6.1.0-2-amd641 | wc -l
882
#

So, dracut is building considerably smaller by leaving out firmware, and leaving
out radeon.ko and amdgpu.ko, but adding other things TBD once I have ideas what to
look for. I suspect it could be a lot of individual tools instead of (absent) busybox.
-- 
Evolution as taught in public schools is, like religion,
	based on faith, not based on science.

 Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

Felix Miata


Reply to: