Sorry für den folgenden Roman, aber bevor ich meine Fragen stelle, möchte ich bitte erst mal das Problem beschreiben. Also:
Problem: Ich habe hier eine openSUSE Leap 15.4 auf einem Laptop laufen. Aus Hardware-Gründen nutze ich die Backport Kernels aus
Heute habe ich den Kernel von
Danach startete die Virtualbox nicht mehr. Fehlermeldung: Das
Ein Blick in
Zur 'Lösung' habe ich Folgendes unternommen: (1) Das Repo
Jetzt läuft die VirtualBox wieder.
Fragen:
Problem: Ich habe hier eine openSUSE Leap 15.4 auf einem Laptop laufen. Aus Hardware-Gründen nutze ich die Backport Kernels aus
Kernel:/stable:/Backport/standard/
(und Kernel:/stable:/Backport:/KMP/standard/
). Außerdem läuft auf dem Ding auch eine Virtualbox (die Version 7.0.8_SUSE r156879
von openSUSE).Heute habe ich den Kernel von
6.3.8-lp154.5.1.ge044c8e.x86_64
auf 6.4.0-lp154.8.g192b657-default
upgedated.Danach startete die Virtualbox nicht mehr. Fehlermeldung: Das
vboxdrv
sei nicht installiert und im journalctl -b
bekam ich Fehler
Code:
systemd[1]: vboxdrv.service: Failed with result 'exit-code'.
systemd[1]: Failed to start VirtualBox Linux kernel module.
/lib/modules/6.4.0-lp154.8.g192b657-default/misc/
zeigte, dass das vboxdrv
Module gar nicht kompiliert war und ein Versuch das Kernel Module händisch mit /usr/sbin/vboxconfig
zu kompilieren zeigte dann auch in /var/log/virtualbox.log
das Problem: Der 6.4.0-lp154.8.g192b657-default
wird mit gcc11
kompiliert, die Leap 15.4 hat defaultmäßig aber den gcc7
und das scheint just ab dieser Kernel Version bei diversen Kompiler-Switches Schwierigkeiten zu machen.Zur 'Lösung' habe ich Folgendes unternommen: (1) Das Repo
devel:/gcc/openSUSE_Leap_15.4/
zusätzlich eingebunden und daraus den gcc11
installiert. (2) Unter /usr/bin
den Symlink gcc-> gcc-7
auf gcc -> gcc-11
geändert. (3) Für dieses eine Mal das vboxdrv
Module mit /usr/sbin/vboxconfig
von Hand kompiliert - was dann auch fehlerfrei klappte. Die Hoffnung wäre, dass es beim nächsten Kernel update dann auch wieder automatisch kompiliert wird.Jetzt läuft die VirtualBox wieder.
Fragen:
- Hätte ich damit rechnen müssen, dass ein mit Backport Kernels betriebenes System irgendwann Schwierigkeiten mit den gcc Versionen bekommt? Oder kann/soll man das durch eine bestimmte clevere Kombination aus Repos zusätzlich zu den Kernel Backport Repos verhindern? Oder sollte man erwarten, dass die Distro-Maintainer:innen solche Inkompatibilitäten eigentlich nicht zulassen ... was dann heißen würde, dass es sich um einen kleinen Bug handelt (was wahrscheinlich eine fromme Hoffnung ist)?
- Ist meine 'Billigheimer'-Variante mit dem Ändern des Symlinks nur für das gcc Executable ausreichend, oder sollte man da etwas mit
update-alternatives
machen?