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

Re: Updating kernels impossible when /boot is getting full



On 8/1/21 1:00 PM, Greg Wooledge wrote:
On Sun, Aug 01, 2021 at 12:45:27PM -0700, David Christensen wrote:
On 7/31/21 9:20 PM, Ilkka Huotari wrote:
-rw-r--r--  1 root root 153M heinä  10 14:22 initrd.img-5.11.0-22-generic
-rw-r--r--  1 root root 151M heinä  23 13:13 initrd.img-5.11.0-25-generic

A 500 GB boot partition would be enough for several kernels, etc., on Debian
10 amd64.

(which they're not running)


True.  And, I see a typo in my post -- that should be 500 MB.


The question is why their initrd files are 5 times as big as normal.

unicorn:~$ ls -l /boot/initrd.img-*
-rw-r--r-- 1 root root 30924690 Jan 29  2021 /boot/initrd.img-4.19.0-13-amd64
-rw-r--r-- 1 root root 34310935 Jul 21 07:30 /boot/initrd.img-5.10.0-7-amd64
-rw-r--r-- 1 root root 34313404 Jul 31 09:05 /boot/initrd.img-5.10.0-8-amd64


Agreed.  "153M" and "151M" are considerably larger than expected:

2021-08-01 13:45:08 dpchrist@dipsy ~
$ cat /etc/debian_version ; uname -a
10.10
Linux dipsy 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux

2021-08-01 13:46:33 dpchrist@dipsy ~
$ ls -l /boot/initrd.img-4.19.0-1*
-rw-r--r-- 1 root root 37293255 Mar 29 16:45 /boot/initrd.img-4.19.0-14-amd64 -rw-r--r-- 1 root root 37310536 Mar 29 16:56 /boot/initrd.img-4.19.0-16-amd64 -rw-r--r-- 1 root root 37316775 Jul 25 12:43 /boot/initrd.img-4.19.0-17-amd64


We get these threads too damned often.  Someone who knows what makes
initrd images swell up, please step in and advise.  And no, it's not
"try using a different compression algorithm".  It's something in the
*content*.

The only advice I can give is "open them up and see what's inside them,
and compare that to what you see in a regular Debian stable initrd file".
But that's a lot of work, and I can't imagine an Ubuntu user actually
doing that.[1]

Unfortunately, it may turn out that what makes them 5 times as big is
something unique to Ubuntu.  Perhaps they ship a hundred megabytes of
extra non-free firmware.  Who the hell knows?  Not a Debian list, that's
for sure.

[1] But just in case I'm dead wrong, here's the contents of mine, to
compare against.  Attached, compressed.  It's a large text file, but
it compresses pretty well.  Maybe the list software won't strip it.


I don't know why the OP's initrd files are large.


STFW here is information on initrd.img files:

https://www.kernel.org/doc/html/latest/filesystems/ramfs-rootfs-initramfs.html


Get the listing for my initrd.img file:

2021-08-01 13:52:37 root@dipsy ~
# file /boot/initrd.img-4.19.0-17-amd64
/boot/initrd.img-4.19.0-17-amd64: gzip compressed data, last modified: Sun Jul 25 19:43:38 2021, from Unix, original size 126331392

2021-08-01 14:10:00 root@dipsy ~
# mkdir /tmp/initrd.img-4.19.0-17-amd64

2021-08-01 14:10:19 root@dipsy ~
# cd /tmp/initrd.img-4.19.0-17-amd64/

2021-08-01 14:10:24 root@dipsy /tmp/initrd.img-4.19.0-17-amd64
# gunzip -c /boot/initrd.img-4.19.0-17-amd64 | cpio -i -d -H newc --no-absolute-filenames
246741 blocks

2021-08-01 14:12:36 root@dipsy /tmp/initrd.img-4.19.0-17-amd64
# ls -l
total 36
lrwxrwxrwx  1 root root    7 Aug  1 14:12 bin -> usr/bin
drwxr-xr-x  3 root root 4096 Aug  1 14:12 conf
drwxr-xr-x  2 root root 4096 Aug  1 14:12 cryptroot
drwxr-xr-x  8 root root 4096 Aug  1 14:12 etc
-rwxr-xr-x  1 root root 6338 Aug  1 14:12 init
lrwxrwxrwx  1 root root    7 Aug  1 14:12 lib -> usr/lib
lrwxrwxrwx  1 root root    9 Aug  1 14:12 lib32 -> usr/lib32
lrwxrwxrwx  1 root root    9 Aug  1 14:12 lib64 -> usr/lib64
lrwxrwxrwx  1 root root   10 Aug  1 14:12 libx32 -> usr/libx32
drwxr-xr-x  2 root root 4096 Aug  1 14:12 run
lrwxrwxrwx  1 root root    8 Aug  1 14:12 sbin -> usr/sbin
drwxr-xr-x 10 root root 4096 Aug  1 14:12 scripts
drwxr-xr-x 10 root root 4096 Aug  1 14:12 usr
drwxr-xr-x  3 root root 4096 Aug  1 14:12 var

2021-08-01 14:55:47 root@dipsy ~
# OUT=/home/dpchrist/initrd.img-4.19.0-16-amd64.txt.gz && find * | xargs ls -ld | gzip -9 > $OUT && chown dpchrist:dpchrist $OUT


Please see initrd.img-4.19.0-16-amd64.txt.gz, attached.


If the OP would care to run the above commands and post his initrd.img file, we could examine it.


Munge your listing file and my listing file to remove number of links, size, month, day, and time fields, and sort:

2021-08-01 14:35:17 dpchrist@dipsy ~
$ gunzip initrd.img-5.10.0-8-amd64.txt.gz

2021-08-01 14:59:00 dpchrist@dipsy ~
$ gunzip initrd.img-4.19.0-16-amd64.txt.gz

2021-08-01 15:10:56 dpchrist@dipsy ~
$ IN=initrd.img-5.10.0-8-amd64.txt && perl -ane '@F[1,4,5,6,7]=("","","","",""); $F[8]=~s/\d\.\d+\.\d-\d+/V.V.V-V/; print "@F\n"' $IN | sort > $IN.2

2021-08-01 15:13:37 dpchrist@dipsy ~
$ IN=initrd.img-4.19.0-16-amd64.txt && perl -ane '@F[1,4,5,6,7]=("","","","",""); $F[8]=~s/\d\.\d+\.\d-\d+/V.V.V-V/; print "@F\n"' $IN | sort > $IN.2


Compare the munged files:

2021-08-01 15:15:10 dpchrist@dipsy ~
$ diff -d initrd.img-4.19.0-16-amd64.txt.2 initrd.img-5.10.0-8-amd64.txt.2 | gzip -9 > initrd.img-4.19.0-16-amd64.diff.initrd.img-5.10.0-8-amd64.gz

Please see initrd.img-4.19.0-16-amd64.diff.initrd.img-5.10.0-8-amd64.gz, attached.


David

Attachment: initrd.img-4.19.0-16-amd64.txt.gz
Description: application/gzip

Attachment: initrd.img-4.19.0-16-amd64.diff.initrd.img-5.10.0-8-amd64.gz
Description: application/gzip


Reply to: