Seit Juni 2019 ist ein Microcode-Bug in AMDs Ryzen 3000-CPUs bekannt, der Linux-Systeme ggf. am Booten hindert. Ich bin gerade auf einen Artikel gestoßen, der einige Informationen zum Asrock Rack X470D-Board in Bezug auf diese Problematik bereithält.
Anzeige
Ich verfolge Probleme mit CPUs nur am Rande, habe also vom Problem mit dem AMD Microcode-Bug in Ryzen 3000 CPUs nichts mitbekommen. Gerade meldete AMD prächtige Geschäftszahlen, die Ryzen-Prozessoren verkaufen sich prächtig (siehe diesen heise-Beitrag), das ist mir in Erinnerung geblieben. Aber es gibt die dunkle Seite in Form eines Microcode-Bugs, der für Ärger sorgt.
(Quelle: Pexels Fancycrave CC0 License)
Bug in RDRAND bringt Ärger
Der AMD Microcode-Bug in Ryzen 3000 CPUs hatte bereit kurz nach dem Release entsprechender Boards mit diesem Prozessor für Ärger gesorgt. Windows-Benutzer konnten das Spiel Destiny 2 (aufgrund eines Power-Management-Bugs) nicht erfolgreich starten. Bei Linux-Benutzer streikte das System in vielen Fällen und konnte nicht booten. Der Fehler beim Booten war auf die Verwendung von RDRAND (Zufallszahlengenerator) durch systemd zurückzuführen.
Anzeige
Jason Evangelho berichtete im Juli 2019 über das Problem auf Forbes, nachdem ihm ein AMD-Vertreter eine Erklärung per E-Mail zur Verfügung stellte:
AMD has identified the root cause and implemented a BIOS fix for an issue impacting the ability to run certain Linux distributions and Destiny 2 on Ryzen 3000 processors. We have distributed an updated BIOS to our motherboard partners, and we expect consumers to have access to the new BIOS over the coming days.
Das Problem ist also seit Monaten bekannt und AMD hat angekündigt, den Microcode-Bug per BIOS-Update zu fixen.
Das Problem ist noch vorhanden
Ein Nutzer hat die Tage auf Arstechnica seine Erfahrungen mit dem AMD Microcode-Bug beim Ryzen 3000 beschrieben. Er hatte sich ein neues System auf Basis eines Asrock Rack X470D4U-Boards und einer Ryzen 3000 CPU aufgebaut und wollte das am Wochenende in Betrieb nehmen. Da der Bug bereits längst bekannt ist, ging er davon aus, dass er einen Fix im BIOS habe. Er musste aber feststellen, dass sein Board mit Linux wegen des RDRAND-Bugs nicht booten wollte.
Linux-Benutzer können die Datei rdrand-test.zip herunterladen, entpacken und direkt in dem Ordner ausführen, in dem Sie es entpackt haben. Der Befehl ./amd-rdrdrandbug meldet unter Linux im Klartext, ob dieser spezielle Fehler vorhanden ist. Und ./test-rdrand gibt 20 RDRAND-Testwerte aus. Wenn ./test-rdrand jedes Mal den gleichen Satz von Werten produziert, ist der Zufallszahlengenerator der CPU kaputt.
In der Zwischenzeit wurden Workaround und Abhilfemaßnahmen vorgeschlagen. Die erste Möglichkeit ist, nordrand als Argument an GRUB beim Booten zu übergeben. Das behebt das Problem nicht; es sagt dem Kernel, den Befehl RDRAND nicht zu verwenden. Damit sollte das System wieder mit Linux booten – aber der Bug ist damit ja noch da. Im Arstechnica-Artikel werden weitere Vorschläge wie ein Microcode-Update für Linux diskutiert.
Der profanere Ansatz wäre aber, dass man vom Board-Hersteller ein BIOS-Update bezieht, welches den Fix für den Microcode-Bug beinhaltet. Im Arstechnica-Artikel beschreibt der Artikelautor aber, dass er für sein AMD Microcode-Bug zwar neue BIOS-Updates bekam, diese aber den Fix für den Bug nicht beinhalteten. Nachdem er den Artikel veröffentlichte, hat sich AMD mit Asrock in Verbindung gesetzt. Im ersten Schuss sollte der Artikelautor ein spezielles BIOS-Update mit Fix bekommen. Inzwischen hat Asrock sich aber bereit erklärt, das BIOS-Update allgemein für dieses Asrock Rack X470D4U-Board bereitzustellen. Interessierte Leser können weitere Details Arstechnica-Artikel nachlesen.
Anzeige