Siduction Forum

Siduction Forum => Upgrade Warnings => Topic started by: harley-peter on 2025/05/21, 10:19:28

Title: libkmod error
Post by: harley-peter on 2025/05/21, 10:19:28
Hallo,
ein heutiges du ergibt bei mir folgende Fehlermeldung:
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.14.7-1-siduction-amd64
libkmod: ERROR: conf_files_filter_out: Directories inside directories are not supported: /etc/modprobe.d/virtualbox-dkms.conf


Allerdings scheint alles zu funktionieren, auch Virtualbox.
Title: Re: libkmod error
Post by: Teriarch on 2025/05/21, 13:07:10
> Allerdings scheint alles zu funktionieren, auch Virtualbox.

Das ist die Frage. Ein

$ dpkg -L virtualbox-dkms |grep etc

ergibt:

/etc/modprobe.d/virtualbox-dkms.conf
/etc/modprobe.d/virtualbox-dkms.conf/virtualbox-dkms.modprobe.conf

Und das Konfigurationsverzeichnis /etc/modprobe.d von modprobe erlaubt keine Unterverzeichnisse.
Beim Laden des Moduls kvm.ko, welches für die Hardware Virtualisierung verantwortlich ist, wird neuerdings
kvm.ko bereits beim Laden als Hypervisor eingesetzt. Und die Konfigurationsdatei
"virtualbox-dkms.modprobe.conf" mit Inhalt

options kvm     enable_virt_at_load=0

soll das verhindern. Dazu kommt es alledings nicht, weil sie sich aufgrund eines Bugs in virtualbox-dkms
in einem Unterverzeichnis befindet. Ob kvm wirklich als Hypervisor geladen wird, kannst Du mit

$ cat /sys/module/kvm/parameters/enable_virt_at_load

überprüfen. Falls das Ergebnis "Y" ist, wird zwar "$ virtualbox" ausgeführt, aber kein OS gestartet, weil kvm
die für Virtualbox notwendige Virtualisierung blockiert. Die vorläufige Lösung bis zur Beseitigung des Bugs:

$ sudo mv /etc/modprobe.d/virtualbox-dkms.conf/virtualbox-dkms.modprobe.conf /etc/modprobe.d
$ sudo rmdir /etc/modprobe.d/virtualbox-dkms.conf

HTH

PS.: So wie der Treiber kvm.ko für qemu die Virtualisierung veranlasst, ist der Treiber vboxdrv.ko für virtualbox
       zuständig, aber nur einer von ihnen kann zu jedem Zeitpunkt als Hypervisor aktiv sein.
Title: Re: libkmod error
Post by: harley-peter on 2025/05/21, 13:41:03
Ein "cat /sys/module/kvm/parameters/enable_virt_at_load" ergibt bei mir ein "N" und es funktioniert auch das OS (Windows 10) anstandslos. Also werde ich vorerst mal nichts unternehmen.  :)
Title: Re: libkmod error
Post by: Teriarch on 2025/05/21, 15:28:53
Das ist interessant: Selbst wenn "virtualbox-dkms.modprobe.conf"
im Verzeichnis /etc/modprobe.d/virtualbox-dkms.conf vorhaden ist,
sie aber aus besagten Gründen beim Laden durch modprobe
keine Berücksichtigung findet, dann wird kvm.ko mit dem Parameter
enable_virt_at_load=Y geladen. Du findest aber "N".
Und die Frage ist: Warum?

Kannst Du vielleicht zur Klärung nachsehen, ob irgendeine andere
Konfigurationsdatei in /etc/modprobe.d dafür verantwortlich ist?
Rein aus Interesse...
Title: Re: libkmod error
Post by: der_bud on 2025/05/22, 20:01:53
Vor einiger Zeit ging hier hinsichtlich "kvm gleich beim starten aktiv. stört VBox" was durchs Forum (ich find es grad nicht). Da wurde als Workaround ein Bootparameter genannt, den sicherlich einige Leute gesetzt haben, ich zum Beispiel: "kvm.enable_virt_at_load=0" auf der Kernelzeile. Vielleicht hat harley-peter den auch in der grub.cfg, ein 'cat /proc/cmdline' gibt Aufschluss. ;)

---
Edit - doch gefunden:
=> https://forum.siduction.org/index.php?topic=9623.msg76604#msg76604
=> https://forum.siduction.org/index.php?topic=9598.msg76345#msg76345
=> https://forum.siduction.org/index.php?topic=9530.msg76168#msg76168
Title: Re: libkmod error
Post by: harley-peter on 2025/05/25, 16:55:47
@Teriarch:
Bei mir ist das gleich mehrere Male eingetragen:
grep -i -r enable_virt /etc
/etc/default/grub.ucf-dist:GRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.show_status=1 kvm.enable_virt_at_load=0"
/etc/default/grub:GRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.show_status=1 kvm.enable_virt_at_load=0"
/etc/modprobe.d/virtualbox-dkms.conf/virtualbox-dkms.modprobe.conf:options kvm     enable_virt_at_load=0


Den Eintrag in /etc/default/grub hatte ich selbst vorgenommen auf Grund des Hinweises in https://forum.siduction.org/index.php?topic=9530.msg76168#msg76168
Title: Re: libkmod error
Post by: Teriarch on 2025/05/25, 21:26:57
O.k. Damit hat der_bud mit seiner Vermutung recht, und das ist auch der Grund, weswegen
der Parameter enable_virt_at_load auf "N" gesetzt ist. Bei der Installation eines neuen
Kernels wird durch /etc/kernel/postinst.d/initramfs-tools der Prozess update-initramfs auf-
gerufen, der seinerseits die zugehorige initrd baut. Dabei wird durch modprobe zunächst
überprüft, ob die dazu notwendigen Module auch geladen werden können, und aufgrund
der fehlerhaften Anwesenheit  des Unterverzeichnisses  /etc/modprobe.d/virtualbox-dkms.conf
führt das schließlich zur Fehlermeldung.

Diese hat zwar keine weiteren Konsequenzen, aber durch Entfernen des Unterverzeichnisses
würde sie verschwinden. Eine korrigierte Version von virtualbox-dkms wird das Problem in
naher Zukunft ohnehin beseitigen.