LINUX.ORG.RU

microcode update

 ,


0

2

Как сотворить сабж:

повике с intel-microcode

linux # iucode_tool -S -l /lib/firmware/intel-ucode/*

microcode bundle 85: /lib/firmware/intel-ucode/0f-04-09
microcode bundle 86: /lib/firmware/intel-ucode/0f-04-0a
microcode bundle 87: /lib/firmware/intel-ucode/0f-06-02
microcode bundle 88: /lib/firmware/intel-ucode/0f-06-04
microcode bundle 89: /lib/firmware/intel-ucode/0f-06-05
microcode bundle 90: /lib/firmware/intel-ucode/0f-06-08


linux # grep -i microcod .config
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y

grep -i FIRMWARE .config
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE="intel-ucode/0f-06-08"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"

но все равно

linux # dmesg | grep microcode 
[    0.000000] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x52 (or later)
[    1.560526] microcode: sig=0x906e9, pf=0x2, revision=0x42
[    1.560722] microcode: Microcode Update Driver: v2.2.
[   84.918762] microcode: updated to revision 0x5e, date = 2017-04-06

★★★★

там и так понятно, что ты не так всё делаешь.

инфа же стара уже, что для интела надо early_load. Lifun ★★★★ (09.10.2017 20:01:22)

https://wiki.gentoo.org/wiki/Intel_microcode#Software_3

лифун, я от тебя уже устал

intel-ucode dirctory contains binary microcode files named in
family-model-stepping pattern. The file is supported in most modern Linux
distributions. It's generally located in the /lib/firmware directory,
and can be updated throught the microcode reload interface.

To update the intel-ucode package to the system, one need:
1. Ensure the existence of /sys/devices/system/cpu/microcode/reload
2. Copy intel-ucode directory to /lib/firmware, overwrite the files in
/lib/firmware/intel-ucode/
3. Write the reload interface to 1 to reload the microcode files, e.g.
  echo 1 > /sys/devices/system/cpu/microcode/reload


deity ★★★★
() автор топика
Ответ на: комментарий от deadNightTiger

рили больше, только дата не совпадает

deity ★★★★
() автор топика
Ответ на: комментарий от deity

ой-йо, позор мне, я таки до конца статью никогда не читал. спсб за инфо

Deleted
()

ну, вообще, микрокод обновляется. только почему-то чрез 1.5 минуты.

Deleted
()
microcode_ctl -u 
microcode_ctl: writing microcode (length: 1302528)
microcode_ctl: microcode successfuly written to /dev/cpu/microcode

пусть будет решено крч

deity ★★★★
() автор топика

счас пересобрал ядро по вики. вот что имею

 ~ $ dmesg | grep -i microc
[    0.000000] microcode: microcode updated early to revision 0x22, date = 2017-01-27
[    1.665805] microcode: sig=0x306c3, pf=0x2, revision=0x22
[    1.666473] microcode: Microcode Update Driver: v2.2.
но у меня EFISTUB, как понял, для него этот способ предпочтительней; для других загрузчиков, наверное, нет.

Deleted
()
Ответ на: комментарий от deity

т.е. еще не каждый подходит? а где глянуть?

Каждый файл микрокода в названии имеет три числа. Это в шестнадцатиричной системе код семейства, модель и степпинг. Значения для своего процессора посмотри в /proc/cpuinfo в полях «cpu family», «model» и «stepping». Найди файл с подходящим именем, открой его в hex-редакторе. Посмотри байты с 4 по 7 включительно. Это в little-endian версия микрокода. Это и есть самая новая версия, доступная для твоего процессора.

i-rinat ★★★★★
()
Ответ на: комментарий от deity

С числами ты знатно лажанулся, это да. Причём так уверенно писал, что я аж засомневался — а вдруг действительно неправильно сравниваю?

Давай сюда свой /proc/cpuinfo; от одного ядра достаточно. Я тоже проверю.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

06-9e-09

сам пропустил как обновил, даже в посте есть, но после перезагрузки заново руками прошлось...

deity ★★★★
() автор топика
Последнее исправление: deity (всего исправлений: 1)
Ответ на: комментарий от Deleted

ага 10 разных способов есть если знать как правильно фирмварь зовётся.

# zgrep -i FIRMWARE /proc/config.gz 
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE="intel-ucode/06-9e-09"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"

#  dmesg | grep microcode 
[    0.000000] microcode: microcode updated early to revision 0x5e, date = 2017-04-06
[    1.565612] microcode: sig=0x906e9, pf=0x2, revision=0x5e
[    1.565878] microcode: Microcode Update Driver: v2.2.

если лень ведро каждый раз пересобирать - microcode_ctl -u

deity ★★★★
() автор топика
Ответ на: комментарий от deity

если кто-то не догнал то ревизия

grep  'cpu family\|model\|stepping' /proc/cpuinfo

Это в шестнадцатиричной системе код семейства, модель и степпинг. Значения для своего процессора посмотри в /proc/cpuinfo в полях «cpu family», «model» и «stepping».

thx i-rinat

cpu family : 6 model : 158

дальше выбор похожей похожей из ls -hl /lib/firmware/intel-ucode/*

ls -hl /lib/firmware/intel-ucode/* | grep 06-9e
-rw-r--r-- 1 root root 190K Oct  9 17:18 /lib/firmware/intel-ucode/06-9e-09

Device Drivers  --->
  Generic Driver Options  --->
    [*]   Include in-kernel firmware blobs in kernel binary
    (intel-ucode/06-9e-09) External firmware blobs to build into the kernel binary
    (/lib/firmware/) Firmware blobs root directory

deity ★★★★
() автор топика
Последнее исправление: deity (всего исправлений: 2)
Ответ на: комментарий от deity

ага 10 разных способов есть если знать как правильно фирмварь зовётся

так это в вики ж написано, как искать нужный файл.

Deleted
()
Ответ на: комментарий от Deleted

to find the appropriate filename(s) for the listed signature(s) use:

iucode_tool -S -l /lib/firmware/intel-ucode/*

выводит список всех прошивок, и невнятное he signature found in the microcode bundle 49, so the filename to use is intel-ucode/06-3c-03

selected microcodes: 068/001: sig 0x000906e9, pf_mask 0x2a, 2017-04-06, rev 0x005e, size

deity ★★★★
() автор топика
Последнее исправление: deity (всего исправлений: 1)
Ответ на: комментарий от deity

я вижу следующее

To find the appropriate filename(s) for the listed signature(s) use:

root #iucode_tool -S -l /lib/firmware/intel-ucode/*
iucode_tool: system has processor(s) with signature 0x000306c3
[...]
microcode bundle 49: /lib/firmware/intel-ucode/06-3c-03
[...]
selected microcodes:
  049/001: sig 0x000306c3, pf_mask 0x32, 2017-01-27, rev 0x0022, size 22528
The signature found in the microcode bundle 49, so the filename to use is intel-ucode/06-3c-03

по-моему, тут я ежу понятно, кмк

Deleted
()
Последнее исправление: Lifun (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.