1

Я просто попытался обновить микрокод для моего процессора Intel Core i3-3217U, следуя инструкциям Intel. Я использую Linux Mint Debian, выпуск 2 (ядро 3.16.0-5-amd64).

Что я сделал:

  • Есть /sys/devices/system/cpu/microcode/reload
  • Нет /lib/firmware/intel-ucode , только /lib/firmware/intel . Я все равно добавил папку из загруженного пакета.
  • Согласно инструкции, как SU я выполнил

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

cat /proc/cpuinfo | grep microcode microcode дает мне 0x1f , который является обновленной версией - но только до тех пор, пока система работает. После перезагрузки я вернулся к 0x12 .

Как сделать обновление постоянным?

4 ответа4

2

В качестве промежуточного решения, когда обновление микрокода не перенесено в Debian, вы можете добавить «echo 1> /sys /devices /system /cpu /microcode /reload» в /etc/rc.local после установки обновления микрокода в соответствии с инструкциями Intel. Это довольно позднее исправление, но, вероятно, все в порядке, если вы доверяете своей загрузочной среде :)

2

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

1

Я обнаружил, что могу загрузить микрокод на исходный виртуальный диск, используя код из пакета debian intel-microcode. В настоящее время это более старая версия микрокодов, но они могут быть переопределены.

После установки пакета я вручную удалил все файлы в /lib/firmware/intel-ucode и заменил их новыми версиями из загрузки Intel. После этого я могу обновить initrd.img-<kernel version> с помощью

update-initramfs -u

grub-mkconfig также выполнит это.

Насколько я понимаю, intel-ucode.img упомянутый в другом ответе, будет так называемым "архивом ранних initramfs". Похоже, что скрипт подключения initramfs-tools, включенный в пакет, сам выбирает, помещать ли модуль обновления в отдельный файл .img или в основной файл initrd.img.

Редактировать: Кажется, что новые версии микрокода уже попали в нестабильный пакет. Зависимости не меняются, поэтому они могут работать на Debian Stretch (или на Джесси, на которой я все еще работаю). Я подозреваю, что пройдет всего несколько дней, пока новая версия пакета не будет перенесена. Тогда установки будет достаточно.

0

Обновления микрокода применяются во время загрузки и, следовательно, должны быть добавлены в загрузчик, например, GRUB2 или systemd-boot. В частности, /boot/intel-ucode.img (или там, где этот файл находится в вашей системе) следует добавить в качестве первого образа initrd вашего процесса загрузки (но он не должен заменять ваш обычный образ initrd). После установки пакета обновления микрокода скрипт grub-mkconfig обычно сам позаботится об этом, но вы можете проверить, есть ли в файле /boot/grub/grub.cfg похожая строка:

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

Если нет, вы можете либо переустановить пакет микрокода, либо запустить скрипт grub-mkconfig вручную.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .