Linux intel microcode update

How to install/update Intel microcode firmware on Linux

How to find out current status of microcode

Run the following command as root user:
# dmesg | grep microcode
Sample outputs:

Please note that it is entirely possible that there is no microcode update available for your CPU. In that case it will look as follows:

How to install Intel microcode firmware on Linux using a package manager

Tool to transform and deploy CPU microcode update for x86/amd64 comes with Linux. The procedure to install AMD or Intel microcode firmware on Linux is as follows:

  1. Open the terminal app
  2. Debian/Ubuntu Linux user type: sudo apt install intel-microcode
  3. CentOS/RHEL Linux user type: sudo yum install microcode_ctl

The package names are as follows for popular Linux distros:

  • microcode_ctl and linux-firmware – CentOS/RHEL microcode update package
  • intel-microcode – Debian/Ubuntu and clones microcode update package for Intel CPUS
  • amd64-microcode – Debian/Ubuntu and clones microcode firmware for AMD CPUs
  • linux-firmware – Arch Linux microcode firmware for AMD CPUs (installed by default and no action is needed on your part)
  • intel-ucode – Arch Linux microcode firmware for Intel CPUs
  • microcode_ctl, linux-firmware and ucode-intel – Suse/OpenSUSE Linux microcode update package

Warning: In some cases, microcode update may cause boot issues such as server getting hang or resets automatically at the time of boot. The procedure worked for me, and I am an experienced sysadmin. I do not take responsibility for any hardware failures. Do it at your own risk.

Examples

Type the following apt command/apt-get command on a Debian/Ubuntu Linux for Intel CPU:
$ sudo apt-get install intel-microcode
Sample outputs:

You must reboot the box to activate micocode update:
$ sudo reboot
Verify it after reboot:
# dmesg | grep ‘microcode’
Sample outputs:

If you are using RHEL/CentOS try installing or updating the following two packages using yum command:
$ sudo yum install linux-firmware microcode_ctl
$ sudo reboot
$ sudo dmesg | grep ‘microcode’

How to update/install microcode downloaded from Intel site

Only use the following method when recommended by your vendor otherwise stick to Linux packages as described above. Most Linux distro maintainer update microcode via the package manager. Package manager method is safe as tested by many users.

How to install Intel processor microcode blob for Linux (20180108 release)

Ok, first visit AMD or Intel site to grab the latest microcode firmware. In this example, I have a file named

/Downloads/microcode-20180108.tgz (don’t forget to check for checksum) that suppose to help with meltdown/Spectre. First extract it using the tar command:
$ mkdir firmware
$ cd firmware
$ tar xvf

/Downloads/microcode-20180108.tgz
$ ls -l
Sample outputs:

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

I tested the following instructions on a CentOS 7.x/RHEL 7.x/Debian 9.x and Ubuntu 17.10 only. Older kernel shipped with older distro might not work if you do not see /sys/devices/system/cpu/microcode/reload file. See discussion below. Please note that few customers getting of higher system reboots after applying firmware updates. Specifically, these systems are running Intel Broadwell and Haswell CPUs for both client and data center cpus used in server. Do not apply Intel firmware release 20180108 on Intel Broadwell and Haswell CPUs. If possible use package manager method.

Читайте также:  Отключить запуск других windows

Make sure /sys/devices/system/cpu/microcode/reload exits:
$ ls -l /sys/devices/system/cpu/microcode/reload
You must copy all files from intel-ucode to /lib/firmware/intel-ucode/ using the cp command:
$ sudo cp -v intel-ucode/* /lib/firmware/intel-ucode/
You just copied intel-ucode directory to /lib/firmware/. Write the reload interface to 1 to reload the microcode files:
# echo 1 > /sys/devices/system/cpu/microcode/reload
Update an existing initramfs so that next time it get loaded via kernel:
$ sudo update-initramfs -u
$ sudo reboot
Verifying that microcode got updated on boot or reloaded by echo command:
# dmesg | grep microcode
That is all. You have just updated firmware for your Intel CPU.

References

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

Microcode (Русский)

Производители процессоров выпускают обновления стабильности и безопасности для микрокода процессора. Несмотря на то, что микрокод можно обновить с помощью BIOS, ядро Linux также может применять эти обновления во время загрузки. Эти обновления предоставляют исправления ошибок, которые могут быть критичны для стабильности вашей системы. Без этих обновлений вы можете наблюдать ложные падения или неожиданные зависания системы, которые может быть сложно отследить.

Особенно пользователи процессоров семейства Intel Haswell и Broadwell должны установить эти обновления, чтобы обеспечить стабильность системы. Но, понятное дело, все пользователи должны устанавливать эти обновления.

Contents

Установка

Для процессоров AMD установите пакет amd-ucode .

Для процессоров Intel установите пакет intel-ucode .

Если Arch находится на съемном носителе, вы должны установить микрокод для обоих производителей процессоров.

Включение раннего обновления микрокода

Микрокод должен быть загружен загрузчиком. Из-за большого разнообразия конфигураций ранней загрузки у пользователей обновления микрокода могут быть не применены автоматически конфигурацией Arch по умолчанию. Многие ядра в AUR пошли по пути официальных ядер Arch в этом вопросе.

Чтобы применить эти обновления, добавьте /boot/amd-ucode.img или /boot/intel-ucode.img в качестве первого initrd в конфигурационном файле загрузчика. Это в дополнение к обычному initrd файлу. Смотрите ниже инструкции для популярных загрузчиков.

Автоматический способ

Утилита grub-mkconfig автоматически определит обновления микрокода и настроит соответственным образом GRUB. После установки пакета микрокода, перегенерируйте настройки GRUB, чтобы включить обновление микрокода при запуске:

Ручной способ

Альтернативно пользователи, управляющие настройками GRUB вручную, могут добавить /boot/производитель_цп-ucode.img (или /производитель_цп-ucode.img , если есть отдельный раздел /boot ) следующим образом:

Повторите это для каждой записи в меню.

systemd-boot

Используйте параметры initrd для загрузки микрокода перед исходным ramdisk следующим образом:

Самый последний микрокод производитель_цп-ucode.img должен быть доступен во время загрузки вашего системного раздела EFI (ESP). ESP должен быть смонтирован как /boot , чтобы обновлять микрокод каждый раз, когда обновляется amd-ucode или intel-ucode . В противном случае копируйте /boot/производитель_цп-ucode.img в ваш ESP при каждом обновлении пакета микрокода.

EFI boot stub / EFI handover

Добавьте два параметра initrd= :

The factual accuracy of this article or section is disputed.

Для ядер, которые были сгенерированы как один файл, содержащий все initrd, cmdline и ядро, сначала сгенерируйте initrd для интеграции, создав новый, следующим образом:

rEFInd

Отредактируйте опции загрузки в /boot/refind_linux.conf также как в примере EFI boot stub выше, например:

Пользователи, использующие ручные строфы в esp/EFI/refind/refind.conf для определения ядер, должны просто добавить initrd=/boot/производитель_цп-ucode.img (или /производитель_цп-ucode.img , если есть отдельный раздел /boot ), как требуется для строки опций, а не в основной части строфы. Например:

Syslinux

Несколько файлов initrd могут быть разделены запятыми в /boot/syslinux/syslinux.cfg :

LILO и потенциально другие старые загрузчики не поддерживают несколько образов initrd. В этом случае необходимо объединить производитель_цп-ucode.img и initramfs-linux.img в один образ.

Чтобы объединить образы в один initramfs-merged.img , можно использовать следующую команду:

Теперь отредактируйте /etc/lilo.conf для загрузки нового образа.

И запустите lilo от суперпользователя:

Читайте также:  Ошибка файла windows system32 config system

Позднее обновление микрокода

Поздняя загрузка обновления микрокода происходит после запуска системы. Для этого используются файлы в /usr/lib/firmware/amd-ucode/ и /usr/lib/firmware/intel-ucode/ .

Для процессоров AMD файлы обновления микрокода предоставляются пакетом linux-firmware .

Для процессоров Intel ни один пакет не предоставляет файлы обновления микрокода (FS#59841). Чтобы использовать позднюю загрузку, вам необходимо вручную извлечь intel-ucode/ из предоставленного Intel архива.

Включение позднего обновления микрокода

В отличие от ранней загрузки, поздняя загрузка обновлений микрокода в Arch Linux включена по умолчанию, используя /usr/lib/tmpfiles.d/linux-firmware.conf . После загрузки файл анализируется с помощью systemd-tmpfiles-setup.service(8) , а микрокод ЦП обновляется.

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

Это позволяет применять обновления микрокода после обновления linux-firmware без перезагрузки системы. Вы можете даже автоматизировать это с помощью хука pacman, например:

Отключение позднего обновления микрокода

Для систем AMD микрокод процессора будет обновляться, даже если пакет amd-ucode не установлен, так как файлы предоставлены linux-firmware (FS#59840). Чтобы отключить позднюю загрузку, вы должны переопределить временные файлы /usr/lib/tmpfiles.d/linux-firmware.conf . Это можно сделать, создав файл с тем же именем в /etc/tmpfiles.d/ :

Проверим, обновился ли microcode при загрузке

Чтобы убедиться, что микрокод обновился, воспользуемся dmesg:

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

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

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

На системах AMD, использующих позднюю загрузку, в выводе будет отображаться версия старого микрокода перед перезагрузкой микрокода, а новая — после перезагрузки. Это будет выглядеть примерно так:

Каким ЦП нужны обновления микрокода

Пользователи могут проконсультироваться как у Intel, так и у AMD насчёт поддержки конкретной модели процессора, перейдя по следующим ссылкам:

Обнаружение доступного обновления микрокода

Вы можете узнать, содержит ли intel-ucode.img образ микрокода для вашего процессора с помощью iucode-tool .

  1. Установите intel-ucode (для обнаружения обновления не требуется менять initrd)
  2. Установите iucode-tool
  3. Извлекает образ микрокода и ищет в нём ваш cpuid:
  4. Если обновление доступно, оно должно отобразиться под selected microcodes
  5. Микрокод может уже быть в вашем биосе и его загрузка может не отображаться в dmesg. Сравните с текущим запуском микрокода >

Применение ранней загрузки микрокода в кастомных ядрах

Для того, чтобы ранняя загрузка работала в кастомных ядрах, «CPU microcode loading support» должен быть вкомпилирован в ядро, а не скомпилирован как модуль. Это включает приглашение «Early load microcode», которое должно быть установлено в Y .

Источник

Linux intel microcode update

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

Обновления прошивок BIOS/UEFI вашей материнской платы обычно содержат новые версии микрокодов для поддерживаемых материнской платой центральных процессоров. По этой причине в первую очередь следует убедиться в том, что используется новейшая версия BIOS/UEFI.

Данное руководство позволяет оптимизировать работу лишь тех центральных процессоров, которые были разработаны компаниями Intel и AMD.

Примечания:

  • Установка пакета программного обеспечения с микрокодами может привести к нестабильной работе компьютера. По этой причине следует устанавливать данный пакет лишь тогда, когда наблюдаются какие-либо проблемы, связанные с функционированием центрального процессора вашего компьютера!
  • Не устанавливайте пакет программного обеспечения с микрокодами центральных процессоров в том случае, если он выпущен раньше, чем прошивка BIOS/UEFI материнской платы вашего компьютера!

1. Центральные процессоры производства компании Intel

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

Примечание: вам нужен пакет программного обеспечения с микрокодами центральных процессоров производства компании Intel, более новый, чем тот, что находится в официальном репозитории дистрибутива? В этом случае вы можете загрузить файл пакета программного обеспечения с расширением .deb из репозитория дистрибутива Debian, в который помещаются пакеты новейших версий. После окончания загрузки файла пакета следует найти его с помощью менеджера файлов и использовать двойной клик для установки микрокодов в систему. По окончании установки необходимо перезагрузить компьютер.

A. В случае использования дистрибутива Ubuntu вам придется установить Менеджер пакетов Synaptic (это можно сделать с помощью приложения Software). В Linux Mint данный менеджер пакетов присутствует сразу же после установки.

B. В первую очередь следует запустить Менеджер пакетов Synaptic. В дистрибутиве Ubuntu для этой цели следует нажать на белый логотип Ubuntu в верхней части боковой панели («Поиск на компьютере»), ввести запрос «Synaptic» и выбрать первый из предложенных вариантов приложений «Менеджер пакетов Synaptic». Не нужно использовать поле быстрого поиска пакетов программного обеспечения главного окна Менеджера пакетов Synaptic, так как соответствующий механизм ненадежен; вместо этого следует нажать кнопку «Поиск» на панели инструментов, в поле поиска открывшегося диалогового окна ввести запрос «microcode» и нажать кнопку «Поиск» рядом с ним.

C. Теперь следует проверить дату создания пакета программного обеспечения с микрокодами центральных процессоров: этот пакет должен быть создан позднее, чем прошивка BIOS/UEFI материнской платы вашего компьютера! Дата создания рассматриваемого пакета отражена в его номере версии, например 3.201501106.1 (в данном случае версия 3 пакета была создана 6 ноября 2015 года).

D. Пришло время установить флажок напротив названия пакета программного обеспечения «intel-microcode» и нажать кнопку «Применить» на панели инструментов приложения.

E. После завершения установки пакета программного обеспечения нужно перезагрузить компьютер.

F. После перезагрузки стоит проверить корректность загрузки одного из установленных микрокодов путем ввода следующей команды в окне терминала (используйте функции копирования/вставки для того, чтобы избежать ошибок):

dmesg | grep microcode

После окончания ввода команды следует нажать клавишу Enter для ее исполнения. Если микрокод был успешно загружен, вы увидите несколько сообщений об этом.

2. Центральные процессоры производства компании AMD

В случае использования процессоров производства компании AMD данное руководство будет актуально лишь для тех из них, которые были выпущены после 2006 года (AMD K10 и более новые). Если в вашем компьютере установлен один из таких центральных процессоров, вы можете действовать описанным ниже образом.

Примечание: вам нужен пакет программного обеспечения с микрокодами центральных процессоров производства компании AMD, более новый, чем тот, что находится в официальном репозитории дистрибутива? В этом случае вы можете загрузить файл пакета программного обеспечения с расширением .deb из репозитория дистрибутива Debian, в который помещаются пакеты новейших версий. После окончания загрузки файла пакета следует найти его с помощью менеджера файлов и использовать двойной клик для установки микрокодов в систему. По окончании установки необходимо перезагрузить компьютер.

A. В случае использования дистрибутива Ubuntu вам придется установить Менеджер пакетов Synaptic (это можно сделать с помощью приложения Software). В Linux Mint данный менеджер пакетов присутствует сразу же после установки.

B. В первую очередь следует запустить Менеджер пакетов Synaptic. В дистрибутиве Ubuntu для этой цели следует нажать на белый логотип Ubuntu в верхней части боковой панели («Поиск на компьютере»), ввести запрос «Synaptic» и выбрать первый из предложенных вариантов приложений «Менеджер пакетов Synaptic». Не нужно использовать поле быстрого поиска пакетов программного обеспечения главного окна Менеджера пакетов Synaptic, так как соответствующий механизм ненадежен; вместо этого следует нажать кнопку «Поиск» на панели инструментов, в поле поиска открывшегося диалогового окна ввести запрос «amd64-microcode» и нажать кнопку «Поиск» рядом с ним.

C. Теперь следует проверить дату создания пакета программного обеспечения с микрокодами центральных процессоров: этот пакет должен быть создан позднее, чем прошивка BIOS/UEFI материнской платы вашего компьютера! Дата создания рассматриваемого пакета отражена в его номере версии, например 2.20160316.1 (в данном случае версия 2 пакета была создана 2 марта 2016 года).

D. Пришло время установить флажок напротив названия пакета программного обеспечения «amd64-microcode» и нажать кнопку «Применить» на панели инструментов приложения.

E. После завершения установки пакета программного обеспечения нужно перезагрузить компьютер.

F. После перезагрузки стоит проверить корректность загрузки одного из установленных микрокодов путем ввода следующей команды в окне терминала (используйте функции копирования/вставки для того, чтобы избежать ошибок):

dmesg | grep microcode

После окончания ввода команды следует нажать клавишу Enter для ее исполнения. Если микрокод был успешно загружен, вы увидите несколько сообщений об этом.

4. Хотите ознакомиться с дополнительными советами?

Хотите узнать о других настройках и приемах работы с Linux-системами? На данном веб-сайте размещено большое количество подобных материалов.

Источник

Читайте также:  Asus vx239h драйвер windows 10
Оцените статью