Fehler in systemd lässt Linux bei Boot auf Ryzen 3000 abstürzen

Zur Markteinführung der neuen AMD Ryzen 3000 “Matisse” sind zahlreiche Reviews erschienen. Passend zum Themenschwerpunkt hat die Webseite Phoronix mit Linux als Betriebssystem getestet und stieß dabei auf unerwartete Probleme. Während Linux-Distributionen wie Ubuntu 18.04 LTS problemlos starteten, stürzten brandaktuelle Distributionen wie Ubuntu 19.04 oder Fedora Workstation 31 unmittelbar beim Systemstart ab.
Quelle: Phoronix
Der erste Gedanke, es müsse an einem der aktuellen 5.0er Kernel-Versionen liegen, manifestierte sich nicht, denn auch wenn ein aktueller Kernel in das alte Ubuntu 18.04 LTS integriert wird, tritt der Fehler nicht auf. Es musste also etwas anderes sein. Bei Heise hat man nun herausgefunden, dass es an einer neuen Version des System- und Service-Managers systemd liegt, der seit einigen Jahren bei den meisten Distributionen statt SysVinit eingesetzt wird. Hier sei es bereits Ende 2018 mit den systemd-Versionen 240, 241 und 242 zu ähnlichen Problemen gekommen wenn ein Zen-System aus dem Suspend aufwachen sollte. Spätestens im Februar 2019 wurde ein Problem mit dem Zufallsgenerator als Übeltäter identifiziert, sobald eine Zufallszahl per RDRAND-Instruktion vom Prozessor angefordert wird. Neu bei Ryzen 3000 “Matisse” ist nun, dass das Problem nicht erst beim Aufwachen aus dem Suspend auftritt, sondern bereits beim Boot.
Neben den genannten aktuellen Distributionen wäre auch Debian 10 betroffen gewesen. Allerdings konnten die Entwickler dort das Problem noch vorher identifizieren und mit einem Fix umschiffen:
Weshalb das eigentlich schon vor Monaten identifizierte Problem nun bereits beim Booten auftritt und nicht erst beim Resume, ob es an Matisse liegt oder am ebenfalls neuen Chipsatz X570, muss an dieser Stelle noch offen bleiben, ebenso, weshalb der Fehler nicht schon – wie bei Debian 10 – im Vorfeld behoben bzw. umgangen wurde. Aber anscheinend wird noch diskutiert, ob der Fehler systemseitig per BIOS/Microcode behoben oder softwareseitig umgangen werden soll.