vladimirov_georgij |
|
Темы:
2
Сообщения:
6
Участник с: 02 марта 2019
|
Добрый день! Установил intel-ucode, сгенерировал новый конфиг grub, добавил модуль cpuid в загрузку, но микрокод почему то не обновляется:
При этом что, говорит, что микрокод должен быть обновлён до ревизии 18
Подскажите пожалуйста, в чём может быть проблема? |
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
vladimirov_georgijПроблема в неправильной расшифровке вывода. Вот зачем используешь команду bsdtar -Oxf /boot/intel-ucode.img | iucode_tool -tb -lS - ??? - для любопытства или для понимания? Если для понимания, то нужно внимательно читать вывод, полученный этой командоой и правильно его интерпретировать. А лучше вообще не лезти в эти дебри.
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
Покажи выводы: # dmidecode | grep -i 'signature', а лучше (не зная, что за BIOS) grep -E 'family|model|stepping' -m 4 /proc/cpuinfo EDIT 1 - выводы нужны для уточнения processor signature, хотя уверен, что вывод будет следующий а значит processor_signature=06-0d-08, а sig=0x006d8Если посмотреть последнию версию firmware microcode (20190312), то там отсутствут обновление микрокода для сигнатуры 06-0d-08 ls ~/Документы/Firmware/microcode/intel_microcode/intel-ucode | grep 06-0d Но есть обновление микрокода для сигнатуры 06-0d-06, о чем также и сообщает выводvladimirov_georgijжелезный мозг не нашел 06-0d-08 и сообщает о похожем 06-0d-06. То есть это то, о чем я писал, нужно внимательно смотреть вывод глупой машины и делать анализ. Обновление микрокода требует строгой идентификации и если что то не совпадет, то обновление не произойдет.
Ошибки не исчезают с опытом - они просто умнеют
|
vladimirov_georgij |
|
Темы:
2
Сообщения:
6
Участник с: 02 марта 2019
|
vasek Использую это так как это указано в вики арча - для проверки что есть подходящий для моего процессора код. Получается, раз он выводит одну строчку, значит, для моего процессора есть один подходящий микрокод. Разве нет? Извлекает образ микрокода и ищет в нём ваш cpuid:Если обновление доступно, оно должно отобразиться под selected microcodes Вывод dmidecode:
Вывод /proc/cpuinfo:
vasek, большое спасибо тебе за толковое объяснение. Таким образом, "похожее" обновление микрокода 06-0d-06 не является подходящим? |
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
vladimirov_georgijОно вообще не является обновлением для данного cpu, имеющего sig=0x006d8, просто железяка не нашла нужного обновления и выбрала наиболее подходящее (для cpu, имеющего sig=0x006d6), но система идентификации перед обновлением четко отслеживает все неточности и если замечает несоответствия, то ничего и не обновляется. Для понимания процесса обновления просто нужно один раз выполнить обновление в ручную, подсунув системе только всего один патч, подходящий для данного процессора и все станет понятно. В принципе узнать было ли обновление микрокода можно и подругому - из вывода cpuinfo или на прямую, считав информацию из регистра MSR 1. До обновления микрокода cat /proc/cpuinfo | grep -m 1 microcode microcode : 0x14 sudo rdmsr 0x8B -f 63:00 1400000000 .... (что соответсвует 0x14) 2. После обновления микрокода (я обновляю микрокод только при необходимости, прямо из работающей системы) cat /proc/cpuinfo | grep -m 1 microcode microcode : 0x2f sudo rdmsr 0x8B -f 63:00 2f00000000 .... (что соответсвует 0x2f)
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
vladimirov_georgijОтвечал ночью, а потому ответ был не совсем точный. Однозначно ответить нельзя. Возможно теоретически и является, нужен подробный анализ, а это не так то и просто. Кроме того нужно знать по каким параметрам идет поиск чтобы установить нужное обновление и в итоге получить строку vladimirov_georgijТак что возможно это обновление и является подходящим, но, как видно из вывода, версия этого найденного обновления (rev 0x0018) старее установленной (revision=0x20). Возможно в твоем случае это и является основной причиной не выполнения обновления. Как уже писал выше, перед обновлением идет проверка многих параметров и если что то не соответствует, то обновление не выполняется. А потому в подобных ситуациях и нужно внимательнее читать логи, в них всегда можно найти что то полезное, что поможет ответить на вопрос. И как написал выше - не стоит лезти в эти дебри ради интереса, не нужно делать проверки - доверся электронному мозгу, он редко когда ошибается. А если уж залазить, то капитально, чтобы понимать что к чему, а для этого нужно много читать. PS - осмелюсь перефразировать цитату Мао Цзэдуна - компьютер это не бумажный тигр, не стоит его дергать за усы.
Ошибки не исчезают с опытом - они просто умнеют
|
vasek |
|
Темы:
47
Сообщения:
11741
Участник с: 17 февраля 2013
|
Как правило сигнатура процессора является именем файла-бинарника для обновления ... но бывают и исключения. В скачиваемом файле обновления intel-ucode находится около сотни файлов-бинарников (патчей микрокода). ls ~/Документы/Firmware/microcode/intel_microcode/intel-ucode | wc -l 108 Мой пример: sig=0x206a7, signature=06-2a-07 и смотрим наличие патча ls ~/Документы/Firmware/microcode/intel_microcode/intel-ucode | grep 06-2a-07 06-2a-07 Для выполнения автоматического обновления микрокода мне достаточно скопировать файл 06-2a-07 в директорию /usr/lib/firmware/intel-ucode … и все, больше ничего не нужно.
Ошибки не исчезают с опытом - они просто умнеют
|