Intel microcode firmware (install/update)

Microcode firmware - это не что иное, как микропрограмма процессора, предоставляемая Intel или AMD.

Ядро Linux может обновлять микропрограмму процессора без обновления BIOS во время загрузки. Microcode процессора хранится в оперативной памяти, и ядро обновляет его при каждой загрузке. Эти обновления микрокода от Intel/AMD необходимы для исправления ошибок или внесения исправлений, чтобы избежать ошибок процессора. В этой заметки показано, как установить обновление микрокода AMD или Intel с помощью менеджера пакетов или обновления микрокода процессора, поставляемые Intel, в Linux.

Как узнать текущее состояние микрокода. Выполните следующую команду от имени пользователя root:

# dmesg | grep microcode

Обратите внимание, что вполне возможно, что для вашего процессора не существует обновления микрокода. В этом случае он будет выглядеть следующим образом:

[    0.952699] microcode: sig=0x306a9, pf=0x10, revision=0x1c

[    0.952773] microcode: Microcode Update Driver: v2.2.

Как установить микропрограмму Intel с микрокодом в Linux с помощью менеджера пакетов. Инструмент для преобразования и развертывания обновления микрокода процессора для x86/amd64 поставляется с Linux. Процедура установки микрокода прошивки AMD или Intel в Linux выглядит следующим образом:

  • Debian/Ubuntu Linux тип пользователя: sudo apt install intel-microcode
  • CentOS/RHEL Linux тип пользователя: sudo yum install microcode_ctl

Названия пакетов для популярных дистрибутивов Linux выглядят следующим образом:

  • microcode_ctl и linux-firmware - пакет обновления микрокода для CentOS/RHEL.
  • intel-microcode - Debian/Ubuntu и клоны - пакет обновления микрокода для Intel CPUS.
  • amd64-microcode - Debian/Ubuntu и клоны прошивки микрокода для процессоров AMD.
  • linux-firmware - Микропрограмма Arch Linux для процессоров AMD (устанавливается по умолчанию и никаких действий с вашей стороны не требуется).
  • intel-ucode - микрокодовая прошивка Arch Linux для процессоров Intel.
  • microcode_ctl, linux-firmware и ucode-intel - пакет обновления микрокода для Suse/OpenSUSE Linux.

Внимание: В некоторых случаях обновление микрокода может вызвать проблемы с загрузкой, например, зависание сервера или автоматический сброс настроек во время загрузки.

Введите следующую команду apt command/apt-get в Debian/Ubuntu Linux для Intel CPU:

$ sudo apt-get install intel-microcode

Для активации обновления микрокода необходимо перезагрузить устройство:

$ sudo reboot

Проверка после перезагрузки:

# dmesg | grep 'microcode'

Если вы используете RHEL/CentOS, попробуйте установить или обновить следующие два пакета с помощью команды yum:

$ sudo yum install linux-firmware microcode_ctl

$ sudo reboot

$ sudo dmesg | grep 'microcode'

Как обновить/установить микрокод, загруженный с сайта Intel. Используйте следующий метод, только если он рекомендован вашим производителем, в противном случае придерживайтесь пакетов Linux, как описано выше. Большинство сопровождающих дистрибутивов Linux обновляют микрокод через менеджер пакетов. Метод с использованием менеджера пакетов безопасен и проверен многими пользователями.

Итак, сначала посетите сайт AMD или Intel, чтобы получить последнюю версию микрокода прошивки. В данном примере у меня есть файл ~/Downloads/microcode-20180108.tgz (не забудьте проверить контрольную сумму), который должен помочь в борьбе с meltdown/Spectre. Сначала извлеките его с помощью команды tar:

$ mkdir firmware

$ cd firmware

$ tar xvf ~/Downloads/microcode-20180108.tgz

$ ls -l

Я протестировал следующие инструкции только на CentOS/RHEL/Debian. Более старые ядра, поставляемые с более старыми дистрибутивами, могут не работать, если вы не видите файл /sys/devices/system/cpu/microcode/reload. Обратите внимание, что некоторые клиенты получают повышенное количество перезагрузок системы после применения обновлений прошивки. В частности, в этих системах используются процессоры Intel Broadwell и Haswell как для клиентов, так и для CPU, используемых в серверах. Не применяйте выпуск прошивки Intel 20180108 на процессорах Intel Broadwell и Haswell. По возможности используйте метод менеджера пакетов.

Убедитесь, что /sys/devices/system/cpu/microcode/reload завершается:

$ ls -l /sys/devices/system/cpu/microcode/reload

Вы должны скопировать все файлы из intel-ucode в /lib/firmware/intel-ucode/ с помощью команды cp:

$ sudo cp -v intel-ucode/* /lib/firmware/intel-ucode/

Cкопировали каталог intel-ucode в /lib/firmware/. Запишите интерфейс reload 1, чтобы перезагрузить файлы микрокода:

# echo 1 > /sys/devices/system/cpu/microcode/reload

Обновление существующей initramfs таким образом, чтобы в следующий раз она загружалась через ядро:

$ sudo update-initramfs -u

$ sudo reboot

Проверка того, что микрокод был обновлен при загрузке или перезагружен командой echo:

# dmesg | grep microcode

Вот и все. Вы только что обновили прошивку для своего процессора Intel.

 

Производители процессоров выпускают обновления стабильности и безопасности для microcode процессора.

 

Последние материалы