Marco Burmeister

  private Homepage



Linux - openSUSE Multi-Kernel Handling

In openSUSE kann eingestellt sein, dass mehrere Linux Kernel vorgehalten werden. Aktiv ist davon nach dem Booten nur eine Version. Es kann aber angegeben, dass mehrere alte Versionen vorgehalten werden sollen. Sollte der neue Kernel Probleme machen, so kann das System mit einer älteren Version gestartet und erfolgreich genutzt werden.

Im Standard war das System bei mir schon so konfiguriert.

Ich bin Anfang 2023 aber auf ein Problem gestoßen, von dem ich dachte, dass ich das nicht mehr erleben werde. Der neue Kernel führte dazu, dass mein Linux sich ab einem gewissem Grad nicht mehr weiter starten ließ und ich mit einem hängenden System dastand.
Der Kernel kernel-default-5.14.21-150400.24.49.3.x86_64 funktionierte bei mir leider nicht, weshalb ich wieder zurück auf den Vorgänger kernel-default-5.14.21-150400.24.46.1.x86_64 wechseln musste. Das Vorgehen wird hier auch beschrieben werden.

Die Seite ist in die folgenden Bereiche eingeteilt:




top Multi-Kernel Version Konfiguration

Einrichtung / Prüfung

Um die Konfiguration des eigenen Systems zu prüfen, muss in der Konfigurationsdatei /etc/zypp/zypp.conf nach zwei Einstellungen geschaut werden.
Im Normalfall sollte das bei openSUSE Leap im Default-Zustand aktiviert sein!

  1. Als erstes muss nach dem Parameter multiversion gesucht werden. Auf meinem System stand hier der folgenden Eintrag:
    
    multiversion = provides:multiversion(kernel)			
    		
    Mit dieser Einstellung wird grundsätzlich die Funktionalität Multi-Kernel bereitgestellt.
  2. Nun ist als nächstes die Zeile mit dem Parameter multiversion.kernels entscheidend. Die Möglichkeiten zur Konfiguration wird unten erklärt.

    Bei meinem System befand sich die folgende Einstellung, die auch die Default-Einstellung sein sollte:
    
    multiversion.kernels = latest,latest-1,running		
    	

Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!



Parameter: multiversion.kernels

Dieser Parameter definiert, welche Kernel Versionen und wie viele aufbewahrt werden.

Die Kernel, die nicht definiert sind, werden dann automatisiert vom System gelöscht.

Folgende Einstellungen sind möglich:

EinstellungBedeutung
latestDer Kernel mit der höchsten Versionsnummer soll erhalten bleiben
latest-NDer Kernel mit der n-ten höchsten Versionsnummer soll erhalten bleiben
runningDer aktuell laufende Kernel soll erhalten bleiben
oldestDer Kernel mit der niedrigsten Versionsnummer soll erhalten bleiben
oldest+NDer Kernel mit der n-ten niedrigsten Versionsnummer soll erhalten bleiben

Beispiel:
Die folgende Zeile würde den laufenden Kernel, die höchste Versionsnummer und die 2 vorherigen Kernel-Versionen sowie die angegebene Kernel-Version aufbewahren.


multiversion.kernels = latest,latest-1,latest-2,5.14.21-150400.24.46-default,running	

Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!

top Bestimmte Kernel-Version löschen

Wie in der Einleitung angesprochen, hatte ich ein Problem mit einer bestimmten Kernel-Version. Der Vorgänger war noch vorhanden und mit diesem konnte ich wieder alles erfolgreich starten.

Es stellt sich nun die Frage, wie ich sauber den defekten Kernel lösche, damit nur noch der funktionierende vorhanden ist und beim Booten genutzt wird.
Ich könnte dem Bootloader sagen, welchen Kernel er nehmen soll. Das ist aber kein schöner Weg.

Herausfinden der vorhandenen Kernel-Versionen auf dem System:
Hierfür kann der Befehl


rpm -qa |grep kernel-default
verwendet werden.



Löschen einer alten Kernel-Version:
Zum Löschen kann der Befehl zypper rm [kernel-name-version] verwendet werden. Haben wir die Liste der installierten Kernel abgerufen, muss der zu löschende Kernel diesem Befehl übergeben werden. Der Befehl löst auch Abhängigkeiten auf.

Beispiel für den Kernel kernel-default-5.14.21-150400.24.49.3.x86_64:


zypper rm kernel-default-5.14.21-150400.24.49.3.x86_64



top Links zum Thema

Hinweis:
Für den Inhalt von Internet-Seiten, auf die von dieser Seite verwiesen wird, übernehme ich keine Verantwortung!