update-initramfs & No space left on device

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Benutzeravatar
thunder11
Beiträge: 2148
Registriert: 19.04.2023 09:08:30

Re: update-initramfs & No space left on device

Beitrag von thunder11 » 04.08.2024 14:16:27

Ich glaube nicht, dass der Parameter most vs. dep den entscheidenden Unterschied macht.

Code: Alles auswählen

 ls -alh /boot|grep init
-rw-r--r--  1 root root  15M  1. Aug 07:39 initrd.img-6.9.10-amd64
-rw-r--r--  1 root root  15M  4. Aug 07:18 initrd.img-6.9.12-amd64
-rw-r--r--  1 root root  15M 21. Jul 06:07 initrd.img-6.9.9-amd64
Geändert hab ich da noch nie was. Das kam sozusagen alles vom "Himmel" :mrgreen:

Code: Alles auswählen

cat /etc/initramfs-tools/initramfs.conf|grep -v ^# 
MODULES=most
BUSYBOX=auto
KEYMAP=n
COMPRESS=zstd
DEVICE=
NFSROOT=auto
RUNSIZE=10%
FSTYPE=auto

KP97
Beiträge: 3701
Registriert: 01.02.2013 15:07:36

Re: update-initramfs & No space left on device

Beitrag von KP97 » 04.08.2024 15:31:01

thunder11 hat geschrieben: ↑ zum Beitrag ↑
04.08.2024 14:16:27
Ich glaube nicht, dass der Parameter most vs. dep den entscheidenden Unterschied macht.
Doch, das darfst Du uns ruhig glauben. Das und die Kompressionsrate verkleinert die initrd schon sehr deutlich.

miwie
Beiträge: 144
Registriert: 10.07.2002 08:59:23
Kontaktdaten:

Re: update-initramfs & No space left on device

Beitrag von miwie » 04.08.2024 15:32:15

thunder11 hat geschrieben: ↑ zum Beitrag ↑
04.08.2024 14:16:27
Ich glaube nicht, dass der Parameter most vs. dep den entscheidenden Unterschied macht.
Doch!
Ich habe zwar keine aktuellen Zahlen mehr zur Hand, bei mir war aber der Unterschied signifikant.

KP97
Beiträge: 3701
Registriert: 01.02.2013 15:07:36

Re: update-initramfs & No space left on device

Beitrag von KP97 » 04.08.2024 15:47:44

Da fällt mir grad doch was ein.
Vor ein paar Tagen tauchte in Sid schon mal dracut-install als Vorhut auf. Testweise habe ich den Rest auch installiert, mittlerweile läuft das ja auch in Debian.
Es ist aber trotz dracut.config sehr umständlich, da die Anzahl der Module auf die vom System benötigten einzuschränken. Ich hab' mir das erstmal gespart und hatte trotz Kompression xz
eine Größe von 15.4 MB, im Vergleich zu angepasstem initramfs mit 5.8 MB. Das nenne ich schon einen deutlichen Unterschied.

Die Archleute haben Dracut ja schon länger als default, evtl. haben sie auch die config angepaßt.
Das könnte uns TRex verraten, er hat ja eines im Einsatz...

michaa7
Beiträge: 4917
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: update-initramfs & No space left on device

Beitrag von michaa7 » 04.08.2024 15:59:30

thunder11 hat geschrieben: ↑ zum Beitrag ↑
04.08.2024 14:16:27
Ich glaube nicht, dass der Parameter most vs. dep den entscheidenden Unterschied macht.
...
Nun, die Frage wäre dann ob 114€ oder 22€ für dich nen Unterschied macht. In M satt € war das der Unterschied zwischen "most" und "dep", ohne Kompression.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
thunder11
Beiträge: 2148
Registriert: 19.04.2023 09:08:30

Re: update-initramfs & No space left on device

Beitrag von thunder11 » 04.08.2024 16:29:43

Mag ja sein, dass ich total ignorant bin, und einen ganz speziellen Rechner habe, bei dem einfach alles verstellt ist.
Aber

Code: Alles auswählen

15040 -rw-r--r--  1 root root 15400946  1. Aug 07:39 initrd.img-6.9.10-amd64
15044 -rw-r--r--  1 root root 15403727  4. Aug 07:18 initrd.img-6.9.12-amd64
15008 -rw-r--r--  1 root root 15364570 21. Jul 06:07 initrd.img-6.9.9-amd64
dann

Code: Alles auswählen

most <>dep
dann

Code: Alles auswählen

update-initramfs -u
jetzt:

Code: Alles auswählen

15040 -rw-r--r--  1 root root 15400946  1. Aug 07:39 initrd.img-6.9.10-amd64
15044 -rw-r--r--  1 root root 15403848  4. Aug 16:21 initrd.img-6.9.12-amd64
15008 -rw-r--r--  1 root root 15364570 21. Jul 06:07 initrd.img-6.9.9-amd64
Hmmmmm 8O
Zuletzt geändert von thunder11 am 04.08.2024 16:48:55, insgesamt 1-mal geändert.

JTH
Moderator
Beiträge: 3077
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: update-initramfs & No space left on device

Beitrag von JTH » 04.08.2024 16:47:25

update-initramfs -u überarbeitet nur die Initrd des aktuellsten Kernels, für die anderen müsste man z.B. -k all zusätzlich angeben.

Und das Ergebnis von dep hängt halt vom einzelnen Rechner ab. Wie du siehst, meint es bei dir sogar, dass noch mehr Module notwendig sein könnten, mit dep ist deine initrd.img-6.9.12-amd64 sogar etwas größer. Als genereller Anhalt, ob jetzt most oder dep „besser“ sei oder immer zu kleinerer Initrd führe, taugt das Ausprobieren auf einem einzelnen Rechner kaum.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22438
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: update-initramfs & No space left on device

Beitrag von KBDCALLS » 04.08.2024 16:48:32

  • -u ist auch nur nur ein Update -c ist ein create

    Code: Alles auswählen

    root@hannelore:~# update-initramfs -h
    
    Usage: update-initramfs {-c|-d|-u} [-k version] [-v] [-b directory]
    
    Options:
     -k version     Specify kernel version or 'all'
     -c             Create a new initramfs
     -u             Update an existing initramfs
     -d             Remove an existing initramfs
     -b directory   Set alternate boot directory
     -v             Be verbose
    
    See update-initramfs(8) for further details.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
thunder11
Beiträge: 2148
Registriert: 19.04.2023 09:08:30

Re: update-initramfs & No space left on device

Beitrag von thunder11 » 04.08.2024 17:08:50

KBDCALLS hat geschrieben: ↑ zum Beitrag ↑
04.08.2024 16:48:32
-u ist auch nur nur ein Update -c ist ein create
Jawoll -- sofort ausgeführt:

Code: Alles auswählen

root@XFCE:~# update-initramfs -c -k 6.9.10-amd64
update-initramfs: Generating /boot/initrd.img-6.9.10-amd64
root@XFCE:~# update-initramfs -c -k 6.9.12-amd64
update-initramfs: Generating /boot/initrd.img-6.9.12-amd64
Ergebnis :x :P

Code: Alles auswählen

15048 -rw-r--r--  1 root root 15405127  4. Aug 17:00 initrd.img-6.9.10-amd64
15044 -rw-r--r--  1 root root 15403870  4. Aug 17:01 initrd.img-6.9.12-amd64
15008 -rw-r--r--  1 root root 15364570 21. Jul 06:07 initrd.img-6.9.9-amd64

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22438
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: update-initramfs & No space left on device

Beitrag von KBDCALLS » 04.08.2024 17:50:17

Hier mal ein Vergleich mit dep und einmal mit most

  • Code: Alles auswählen

    lk  initrd.img-6.9.12-amd64  boot_II/initrd.img-6.9.12-amd64 
    -rw-r--r-- 1 10696 31. Jul 17:44 boot_II/initrd.img-6.9.12-amd64
    -rw-r--r-- 1 44276  4. Aug 17:37 initrd.img-6.9.12-amd64
    root@hannelore:/boot# 
Größenangaben in Kilobyte. Bei dep sind 98 Module enthalten bei most sind 1098. Also signifikant mehr , Und das sollte sich wohl in der Größe bemerkbar machen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
MSfree
Beiträge: 11604
Registriert: 25.09.2007 19:59:30

Re: update-initramfs & No space left on device

Beitrag von MSfree » 04.08.2024 18:44:49

KBDCALLS hat geschrieben: ↑ zum Beitrag ↑
04.08.2024 17:50:17
Bei dep sind 98 Module enthalten bei most sind 1098.

Code: Alles auswählen

lsinitramfs /boot/initrd.img-6.9.12-amd64 | grep .ko$ | wc -l
liefert bei mir sogar nur 36 Module.

Die 10 dicksten Brocken bekommt man mit:

Code: Alles auswählen

lsinitramfs -l /boot/initrd.img-6.9.12-amd64 | sort -n -k5 | tail -10
Das liefert bei mir:

Code: Alles auswählen

-rw-r--r--   1 root     root       813048 Jun 13 15:32 usr/lib/x86_64-linux-gnu/libzstd.so.1.5.6
-rwxr-xr-x 268 root     root       817936 Jul 16 12:51 usr/sbin/watchdog
-rw-r--r--   1 root     root       919768 Jul 23 19:09 usr/lib/x86_64-linux-gnu/libm.so.6
-rw-r--r--   1 root     root       928137 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/drivers/ata/libata.ko
-rw-r--r--   1 root     root      1527801 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/drivers/gpu/drm/drm.ko
-rwxr-xr-x   1 root     root      1529736 Jul 25 14:18 usr/bin/udevadm
-rwxr-xr-x   1 root     root      1950160 Jul 23 19:09 usr/lib/x86_64-linux-gnu/libc.so.6
-rw-r--r--   1 root     root      2445721 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/fs/ext4/ext4.ko
-rw-r--r--   1 root     root      5706872 Jun  4 18:23 usr/lib/x86_64-linux-gnu/libcrypto.so.3
-rw-r--r--   1 root     root      9145465 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/drivers/gpu/drm/i915/i915.ko
Mit

Code: Alles auswählen

MODULES=dep
COMPRESS=zstd
COMPRESSLEVEL=19
in /etc/initramfs-tools/initramfs.conf bekomme ich dann eine initrd von rund 9.5MiB für den 6.9.12 Kernel.

Noch etwas, das Paket Debianzstd ist nicht standardmässig installiert, wenn man ohne Suggests und Recommends installiert. Das ist aber notwendig, wenn man die initrd mit zstd komprimieren will.

michaa7
Beiträge: 4917
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: update-initramfs & No space left on device

Beitrag von michaa7 » 04.08.2024 18:57:52

thunder11 hat geschrieben: ↑ zum Beitrag ↑
04.08.2024 16:29:43
Mag ja sein, dass ich total ignorant bin, und einen ganz speziellen Rechner habe, bei dem einfach alles verstellt ist.
Aber

Code: Alles auswählen

15040 -rw-r--r--  1 root root 15400946  1. Aug 07:39 initrd.img-6.9.10-amd64
15044 -rw-r--r--  1 root root 15403727  4. Aug 07:18 initrd.img-6.9.12-amd64
15008 -rw-r--r--  1 root root 15364570 21. Jul 06:07 initrd.img-6.9.9-amd64
Naja, bei dir ist ja die die initrd von vorne herein nur 15M (bei mir war es das zehnfache!).

Baust du deine eigenen Kernel mit eigener Konfig? Das ist sicher kein Distributionskernel der für einen breiten Nutzerkreis konfiguriert wurde. Dementsprechend wird wohl auch die initrd mit der "most" konfiguration kleiner. Wenn das daher schon ne mini initrd ist kann man natürlich nichts mehr einsparen.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

KP97
Beiträge: 3701
Registriert: 01.02.2013 15:07:36

Re: update-initramfs & No space left on device

Beitrag von KP97 » 04.08.2024 19:34:36

Auch wenn ich nicht gemeint war, aber mein Beitrag zu initramfs und Dracut weiter oben bezog sich auf einen Eigenbaukernel (6.1.103). Also auch da deutliche Unterschiede.
Zuletzt geändert von KP97 am 05.08.2024 16:05:30, insgesamt 1-mal geändert.

Benutzeravatar
thunder11
Beiträge: 2148
Registriert: 19.04.2023 09:08:30

Re: update-initramfs & No space left on device

Beitrag von thunder11 » 04.08.2024 23:29:47

michaa7 hat geschrieben: ↑ zum Beitrag ↑
04.08.2024 18:57:52
Baust du deine eigenen Kernel mit eigener Konfig? Das ist sicher kein Distributionskernel der für einen breiten Nutzerkreis konfiguriert wurde. Dementsprechend wird wohl auch die initrd mit der "most" konfiguration kleiner. Wenn das daher schon ne mini initrd ist kann man natürlich nichts mehr einsparen.
Nee wie gesagt, ist das Standard, an der Geschichte habe ich noch nie geschraubt.
Nach MSfree:

Code: Alles auswählen

lsinitramfs /boot/initrd.img-6.9.12-amd64 | grep .ko$ |wc -l
58

Code: Alles auswählen

lsinitramfs -l /boot/initrd.img-6.9.12-amd64 | sort -n -k5 | tail -10
-rwxr-xr-x 268 root     root       817936 Jul 16 12:51 usr/sbin/watchdog
-rw-r--r--   1 root     root       882897 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/drivers/usb/core/usbcore.ko
-rw-r--r--   1 root     root       919768 Jul 23 19:09 usr/lib/x86_64-linux-gnu/libm.so.6
-rw-r--r--   1 root     root      1142784 Jul 26 19:43 usr/lib/firmware/i915/mtl_gsc_1.bin
-rw-r--r--   1 root     root      1527801 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/drivers/gpu/drm/drm.ko
-rwxr-xr-x   1 root     root      1529736 Jul 25 14:18 usr/bin/udevadm
-rwxr-xr-x   1 root     root      1950160 Jul 23 19:09 usr/lib/x86_64-linux-gnu/libc.so.6
-rw-r--r--   1 root     root      2445721 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/fs/ext4/ext4.ko
-rw-r--r--   1 root     root      5706872 Jun  4 18:23 usr/lib/x86_64-linux-gnu/libcrypto.so.3
-rw-r--r--   1 root     root      9145465 Jul 27 23:52 usr/lib/modules/6.9.12-amd64/kernel/drivers/gpu/drm/i915/i915.ko
Debianzstd ist natürlich installiert.

Benutzeravatar
thunder11
Beiträge: 2148
Registriert: 19.04.2023 09:08:30

Re: update-initramfs & No space left on device

Beitrag von thunder11 » 05.08.2024 09:20:30

Jetzt hätte ich aber doch noch einen Frage:
In der ganzen initrd.img gibt es kein Modul für Virtualbox.
das einzige, was ich finde ist:

Code: Alles auswählen

lsinitramfs /boot/initrd.img-6.9.12-amd64 | grep vbo
usr/lib/udev/rules.d/60-vboxdrv.rules
Diese Datei ist aber nicht vorhanden.

Ich nutze zur Installation von Virtualbox die *.run Datei, die natürlich Kernel-Module bildet.

Beim Kernel - Update ist dann immer /sbin/vboxconfig auszuführen.
Die Module sind dann vorhanden in

Code: Alles auswählen

ls -alR /usr/lib/modules/6.9.12-amd64 |grep -i vbox

drwxr-xr-x  2 root root   4096  3. Aug 06:42 vboxvideo
/usr/lib/modules/6.9.12-amd64/kernel/drivers/gpu/drm/vboxvideo:
-rw-r--r--  1 root root 29032 27. Jul 23:52 vboxvideo.ko.xz

drwxr-xr-x  2 root root 4096  3. Aug 06:42 vboxguest
/usr/lib/modules/6.9.12-amd64/kernel/drivers/virt/vboxguest:
-rw-r--r-- 1 root root 22540 27. Jul 23:52 vboxguest.ko.xz

drwxr-xr-x  2 root root 4096  3. Aug 06:42 vboxsf
/usr/lib/modules/6.9.12-amd64/kernel/fs/vboxsf:
-rw-r--r--  1 root root 20416 27. Jul 23:52 vboxsf.ko.xz
-rw-rw-r-- 1 root root 4116704  3. Aug 06:52 vboxdrv.ko
-rw-rw-r-- 1 root root  638384  3. Aug 06:52 vboxnetadp.ko
-rw-rw-r-- 1 root root 1004232  3. Aug 06:52 vboxnetflt.ko
Warum wird das nicht in die initrd.img eingebaut ??

Benutzeravatar
MSfree
Beiträge: 11604
Registriert: 25.09.2007 19:59:30

Re: update-initramfs & No space left on device

Beitrag von MSfree » 05.08.2024 09:47:13

thunder11 hat geschrieben: ↑ zum Beitrag ↑
05.08.2024 09:20:30
In der ganzen initrd.img gibt es kein Modul für Virtualbox.

Warum wird das nicht in die initrd.img eingebaut ??
VBox wird nicht früh im Bootprozeß gebraucht. Die nötigen Module kann der Kernel auch erst dann laden, wenn das /-Dateisystem gemuntet bereits ist.

Antworten