Debian-Kernel-Bug
Bild: Debian | Quelle Mohd Sohail | Lizenz: CC BY-SA-2.0

Ein Bugreport in Debians Fehlerdatenbank sollte Besitzer von ARM-Geräten derzeit von einem Upgrade des Kernels abhalten, da dieser eine Reihe von ARM-Geräten am Booten hindert.

Debian-Kernel-Bug

Der Bugreport sieht Kernel 4.9.144-3 als Verursacher des Problems. Dieser war im Rahmen von GNU/Linux Debian 9.8 »Stretch« mit ausgeliefert worden. Wie der Ersteller des Bugreports und weitere betroffene Besitzer von verschiedenen ARM-Geräten schildern, hängen die Geräte beim Hochfahren bei der Meldung Starting kernel.

Schuldiger gefunden

Das es wirklich an dieser Kernel-Version lag, fand der Bugreporter heraus, indem er den aktualisierten Kernel einem Downgrade auf 4.9.130-2 unterzog. Mit diesem vorhergehenden Kernel bootete das Gerät anstandslos.

Viele Boards betroffen

Das erste als betroffen gemeldete Gerät war ein Lamobo-R1-Board. Doch schon bald gesellten sich andere Boards hinzu, die die Liste auf Lemaker Bananapi, Cubox-i4pro, Cubox-i4x4, Wandboard Quad, Odroid-XU4, Odroid-U3, Marvell Armada XP, Olimex OLinuXino-LIME2, Cubietruck, Firefly-RK3288 und den Router Linksys WRT1200AC ausdehnten.

Ein weiterer Betroffener stellte nach Überprüfung fest, dass der inkriminierte Kernel unter vielen anderen Änderungen auch zwei Maßnahmen gegen Spectre beinhaltete. Er baute den Kernel neu und deaktivierte die Maßnahmen, der Kernel startete trotzdem nicht.

Upstream oder Debian?

Die Frage, ob der Fehler im Upstream-Kernel oder in Debians Konfiguration steckt, deutet auf Debian, da Hardware mit Allwinner-SoC auf entsprechenden Boards beim Kernel-CI-Projekt keinerlei Probleme aufweist.

Der gleiche Anwender moniert, dass es bei Debian viel zu kompliziert sei, einen älteren Kernel zu booten. Bei Ubuntu und vielen anderen Distributionen reicht dazu die Auswahl eines älteren Kernel im GRUB-Bootmanager.

Patch im Test

Mittlerweile existiert ein Patch, der den Fehler anscheinend behebt, aber noch in der Testphase steckt. Anwender der betroffenen Boards sollten mit einem Update auf Debian 9.8 noch etwas warten, bis der Bugreport offiziell geschlossen ist und auf einen reparierten Kernel verweist.

Lehrstunde

Zwei Lehren kann Debian aus diesem Kernel-Bug ziehen: Es sollte einfacher sein, einen älteren Kernel zu booten. Zudem müssen Kernel, zumindest für die ARM-Plattform, besser getestet werden, bevor sie freigegeben werden.

Verwandte Themen

GNU/Linux Debian 9.8 »Stretch« freigegeben
views 684
Screenshot: ftNicht einmal einen Monat nach Debian 9.7 hat das Debian-Release-Team mit Debian 9.8 »Stretch« das achte Punkt-Release für die Stabl...
MX-18 »Continuum« veröffentlicht
views 2.0k
An den Feiertagen oder zwischen den Jahren bleibt oft Zeit, sich neue oder aktualisierte Distributionen anzuschauen. Etwas abseits vom Linux-Main...
Debian GNU/Linux 9.6 erschienen
views 1.1k
Screenshot: ftDebian 9.0 »Stretch« erschien am 16.6. 2017 und erhielt jetzt mit Debian 9.6 sein sechstes Punkt-Update. Debian 9.5 erschien Mitte ...
Intel Microcode für Debian Stable aktualisiert
views 444
Screenshot: ft Für Debian GNU/Linux 9 »Stretch« steht ein aktualisierter Intel Microcode zum Schutz vor Angriffen durch die Sicherheitsl...
Debian GNU/Linux 9.5 erschienen
views 662
Screenshot: ft Debian 9.0 »Stretch« erschien am 16.6. 2017 und erhielt jetzt mit Debian 9.5 sein fünftes Punkt-Update. Debian 9.4 erschi...

Beitrag kommentieren

Alle Kommentare
  • Bodiro

    19.02.2019, 07:29 Uhr

    Bezieht sich das komplizierte Booten eines älteren Kernel nur auf die arm-Plattform oder nur auf Debian 9 oder beides? Gerade spaßeshalber einen älteren Kernel unter Debian 10 gebootet per Auswahl im Grub-Menü. Kein Problem.

    • Ferdinand Thommes

      19.02.2019, 08:22 Uhr

      Das bezieht sich vermutlich nur auf die ARM-Plattform. Ich habe es nicht selbst getestet, die Vorgehensweise ist ja im Bugreport im Eingangspost angegeben.

  • Timo

    21.02.2019, 18:03 Uhr

    Das komplizierte Booten bezieht sich auf die Weise, wie Debian Kernel Updates behandelt. Grundsätzlich kann man auch in Debian in Grub einen älteren Kernel auswählen, sofern noch einer installiert ist. Das Problem bei Debian, im Unterschied zu Ubuntu, ist, dass Debian es i.d.R. vermeidet, das Kernel ABI zu verändern und sich bei einem Update der Name des Kernel-Pakets nicht ändert. Damit wird der Kernel einfach komplett überschrieben und es ist nicht mehr möglich, den vorigen zu booten. Bei Ubuntu hingegen wird der Name des Kernel Pakets mit jedem Update geändert, sodass der vorige Kernel parallel zum neuen erhalten bleibt.

    Das heißt übrigens nicht, dass sich der Name des Kernel Pakets bei Debian nie ändert. Wenn sich ABI Änderungen nicht vermeiden lassen, wird die Versionsnummer im Namen des Pakets hochgezählt. In diesem Fall wird der Kernel dann auch nicht überschrieben. Zuletzt war das in Debian Stable im Herbst der Fall. Wer aber seither sein System neu eingerichtet hat, dessen einziger Kernel wurde mit dem jüngsten Update eben einfach überschrieben. Auch wer nach der letzten ABI-Änderung meinte, er kann den älteren Kernel entfernen, da der (damals) aktuelle Kernel ja funktioniere, steht nun u.U. vor einem Problem.