Microcode: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
ArchChem (Diskussion | Beiträge)
EFI-Stub-Kernel hinzugefüt und Verweis auf englischen Artikel
ArchChem (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
Zeile 10: Zeile 10:


== Aktivieren von Intel Microcode-Updates ==
== Aktivieren von Intel Microcode-Updates ==
{{Achtung|Seit der Kernelversion linux 3.17-2 bzw. linux-lts 3.14.21-2 werden Intel Microcode-Updates nicht mehr automatisch angesteuert und müssen manuell aktiviert werden.}}
{{Achtung|Seit der Kernelversion ''linux 3.17-2'' bzw. ''linux-lts 3.14.21-2'' werden Intel Microcode-Updates nicht mehr automatisch angesteuert und müssen manuell aktiviert werden.}}
Die Updates werden durch Hinzufügen von {{ic|/boot/intel-ucode.img}} als ersten initrd-Befehl in der Bootloader-Konfiguration erreicht.
Die Updates werden durch Hinzufügen von {{ic|/boot/intel-ucode.img}} als ersten initrd-Befehl in der Bootloader-Konfiguration erreicht.
=== Beispiele ===
=== Beispiele ===

Version vom 26. Oktober 2014, 16:18 Uhr

Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


Einige Prozessoren erlauben es, den Firmware-Code (oder auch Microcode genannt) beim Systemstart zu überschreiben, so dass ohne ein BIOS-Update eventuelle Firmware-Fehler beseitigt werden können. Das Überschreiben gilt aber nur bis zum Ausschalten des Computers (es ist reversibel), so dass danach wieder der ursprüngliche Code vorhanden ist.

Microcode-Updates aktivieren

Für AMD-Prozessoren befindet sich alles Nötige in dem Paket linux-firmware, welches bereits installiert sein sollte.

Intel-Benutzer müssen das Paket intel-ucode installieren.

Aktivieren von Intel Microcode-Updates

Achtung: Seit der Kernelversion linux 3.17-2 bzw. linux-lts 3.14.21-2 werden Intel Microcode-Updates nicht mehr automatisch angesteuert und müssen manuell aktiviert werden.

Die Updates werden durch Hinzufügen von /boot/intel-ucode.img als ersten initrd-Befehl in der Bootloader-Konfiguration erreicht.

Beispiele

EFI Stub Kernel

Man fügt zwei initrd-Befehle hinzu:

initrd=/intel-ucode.img initrd=/initramfs-linux.img

Gummiboot

Man benutzt die initrd-Option zweimal in dem unter /boot/loader/entries/ für Arch Linux vorgesehenen Eintrag:

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options ...

Grub

Bisher hat das Arch Linux Entwickler-Team noch nicht entschieden, wie es mit Microcode-Updates bei Grub verfahren möchte (s. a. im Bug FS#42354. Bis dahin kann man sich mit zwei Notlösungen verhelfen.

Möglichkeit 1: Editieren der grub.conf

Man editiert die Datei /etc/grub.conf und fügt zu jedem dort gelisteten Eintrag entweder /intel-ucode.img, falls man eine extra Boot-Partition besitzt, oder /boot/intel-ucode.img, falls man keine spezielle Boot-Partition verwendet, hinzu.

[...]
echo	'Loading initial ramdisk ...'
initrd	/intel-ucode.img /initramfs-linux.img
[...]

Achtung: Mit jedem Update von GRUB wird diese Datei überschrieben, so dass anschließend die Änderungen erneut vorgenommen werden müssen.

Möglichkeit 2: Editieren der /etc/grub.d/10_linux

Man bearbeitet die Datei etc/grub.d/10_linux, von der aus die grub.conf erstellt wird, und fügt folgende Zeilen hinzu (am Ende der Datei):

   if test -n "${initrd}" ; then
+    if test -f "${dirname}/intel-ucode.img"; then
+        ucode="${rel_dirname}/intel-ucode.img"
+    else
+        ucode=
+    fi
     # TRANSLATORS: ramdisk isn't identifier. Should be translated.
     message="$(gettext_printf "Loading initial ramdisk ...")"
     sed "s/^/$submenu_indentation/" << EOF
 	echo	'$(echo "$message" | grub_quote)'
-	initrd	${rel_dirname}/${initrd}
+	initrd	${ucode} ${rel_dirname}/${initrd}
 EOF

Anschließend generiert man die grub.conf neu:

# grub-mkconfig -o /boot/grub/grub.cfg

Hinweis: Bei dieser Methode kann es dazu kommen, das eventuelle GRUB-Updates nicht richtig installiert werden

Syslinux

Man kann hier verschiedene initrd-Einträge durch Kommas trennen. Dazu bearbeitet man die Datei /boot/syslinux/syslinux.cfg:

LABEL arch
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
    INITRD ../intel-ucode.img,../initramfs-linux.img
    APPEND ...