Nach Kernel-Update wird keine initrd erstellt

In den letzten Wochen kamen via zypper dup Updates für die Kernelpakete auf die Versionen 5.3.5-1 und 5.3.6-1.
In beiden Fällen gab zypper zum Ende des Updates ein WARNING aus und es wurde keine initrd für diese Versionen erzeugt:

Creating initrd: /boot/initrd-5.3.6-1-default
dracut: Executing: /usr/bin/dracut --logfile /var/log/YaST2/mkinitrd.log --force /boot/initrd-5.3.6-1-default 5.3.6-1-default
dracut: dracut module 'caps' will not be installed, because command 'capsh' could not be found!
dracut: dracut module 'stratis' will not be installed, because command 'stratisd-init' could not be found!
dracut: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut: dracut module 'convertfsconvertfsconvertfs' cannot be found or installed.
Generating  /boot/initrd-5.3.2-1-default /boot/initrd-5.3.4-1-default /boot/initrd-5.3.5-1-default /boot/initrd-5.3.6-1-default targets failed

Auch der GRUB-Eintrag für den Kernel 5.3.6-1 sieht entsprechend anders aus als üblich:

submenu "Erweiterte Optionen für openSUSE Tumbleweed"{
menuentry "openSUSE Tumbleweed, mit Linux 5.3.6-1-default" --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux>
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if  x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 --hint='hd0,msdos1'  a2a0>
                else
                  search --no-floppy --fs-uuid --set=root a2a01ca8-d367-4e2a-9bb6-b993f1df6904
                fi
                echo    'Linux 5.3.6-1-default wird geladen …'
                linux   /boot/vmlinuz-5.3.6-1-default root=/dev/sdc1  resume=/dev/sdd1 splash=silent quiet showopts rd.convertfs rd.convertfs rd.convertfs
}

Wie läßt sich das beheben?

Hi,

könnte es ein Speicherproblem in /boot sein? Je nachdem wie die Partitionen aufgebaut sind und /boot recht klein ist, könnte das ein Problem sein. Ich hatte das mal in der ein oder anderen VM. Falls es das nicht ist, würde ich mal das syslog anschauen, vielleicht steht da was Nützliches drin. Ansonsten fällt mir dazu erst mal nichts Anderes ein.

Gruß
Eugen

Schwer zu sagen, einfach einmal die gesamte Ausgabe von ‘/usr/bin/dracut’ posten.

Es ließ sich lösen, auch wenn ich nicht wirklich erklären kann WARUM der Fehler auftrat:

  1. dachte ich auch an den freien Speicherplatz in /boot, vor allem, da ich wußte, daß da einige alte vmlinuz / initrds sind. Ich habe dort mal aufgeräumt und Daten, die ich sowieso nicht mehr nutze (Kernel 4.x usf) rausgeworfen - ohne Erfolg.

  2. habe ich eine andere Version von dracut installiert und statt der 49.x eine 44.2 verwendet. Danach sah die Ausgabe von mkinitrd so aus:


Creating initrd: /boot/initrd-5.3.6-1-default
dracut: Executing: /usr/bin/dracut --logfile /var/log/YaST2/mkinitrd.log --force /boot/initrd-5.3.6-1-default 5.3.6-1-default
dracut: dracut module "convertfsconvertfsconvertfs" cannot be found or installed.
Generating /boot/initrd-5.3.6-1-default targets failed

Die drei zuvor fehlenden dracut-Module waren anscheinend dann auf einmal da.

Allerdings habe ich mich über den Namen “convertfsconvertfsconvertfs” für ein dracut-Modul gewundert und mal in /etc/dracut.conf.d nachgeschaut. In der Datei 05-convertfs.conf stand dann


add_dracutmodules+="convertfs"
add_dracutmodules+="convertfs"
add_dracutmodules+="convertfs"

Wieso das drei Mal dort auftauchte, erschließt sich mir nicht. 2 Einträge habe ich entfernt, dann hat alles funktioniert und für die neuen Kernel habe ich auch meine initrd.
Vielen Dank für Eure Ratschläge! lol!

Prima, dass es wieder initrds gibt, doch deine Beobachtungen und Schlussfolgerungen kann ich nicht nachvollziehen. Bei mir sieht der Ordner so aus:

erlangen:~ # ll /etc/dracut.conf.d/
total 8
-rw-r--r-- 1 root root 487 Oct 10 11:58 99-debug.conf
-rw-r--r-- 1 root root 821 Jul 10 01:46 ostree.conf
erlangen:~ # 

Die aktuelle Version von dracut funktioniert prima und meldet folgendes:


I: Executing: /usr/bin/dracut --logfile /var/log/YaST2/mkinitrd.log --force /boot/initrd-5.3.6-1-default 5.3.6-1-default
I: dracut module 'caps' will not be installed, because command 'capsh' could not be found!
I: dracut module 'stratis' will not be installed, because command 'stratisd-init' could not be found!
I: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
I: dracut module 'caps' will not be installed, because command 'capsh' could not be found!
I: dracut module 'stratis' will not be installed, because command 'stratisd-init' could not be found!
I: *** Including module: bash ***
I: *** Including module: systemd ***
I: *** Including module: systemd-initrd ***
I: *** Including module: i18n ***
I: *** Including module: drm ***
I: *** Including module: plymouth ***
I: *** Including module: kernel-modules ***
I: *** Including module: kernel-modules-extra ***
I: *** Including module: rootfs-block ***
I: *** Including module: suse-btrfs ***
I: *** Including module: suse-xfs ***
I: *** Including module: terminfo ***
I: *** Including module: udev-rules ***
I: Skipping udev rule: 40-redhat.rules
I: Skipping udev rule: 50-firmware.rules
I: Skipping udev rule: 50-udev.rules
I: Skipping udev rule: 91-permissions.rules
I: Skipping udev rule: 80-drivers-modprobe.rules
I: *** Including module: dracut-systemd ***
I: *** Including module: haveged ***
I: *** Including module: ostree ***
I: *** Including module: usrmount ***
I: *** Including module: base ***
I: *** Including module: fs-lib ***
I: *** Including module: shutdown ***
I: *** Including module: suse ***
I: *** Including modules done ***
I: *** Installing kernel module dependencies ***
I: *** Installing kernel module dependencies done ***
I: *** Resolving executable dependencies ***
I: *** Resolving executable dependencies done ***
I: *** Hardlinking files ***
I: *** Hardlinking files done ***
I: *** Stripping files ***
I: *** Stripping files done ***
I: *** Generating early-microcode cpio image ***
I: *** Constructing GenuineIntel.bin ***
I: *** Store current command line parameters ***
I: Stored kernel commandline:
I:  root=UUID=8b190950-c141-4351-9198-7a9592b4fb34 rootfstype=ext4 rootflags=rw,relatime
I: *** Creating image file '/boot/initrd-5.3.6-1-default' ***

Hallo Zusammen,
hatte nach dem letzten Kernelupdate (gestern) das Problem, dass kein initramfs erstellt wurde.
Es lag an dem Bash-Script /usr/bin/ldd, das nicht mehr funktionierte.
Ich habe in der “ldd” die erste Zeile

“#! /usr/bin/bash” in “#! /bin/bash”

geändert.
Dann läuft in diesem Zusammenhang “dracut” wieder und es wird wieder ein initramfs erstellt.
Das fehlerhafte “ldd” kam mit dem Paket “glibc-2.30-2.1.x86_64”.

LG