Чому оновлення мікрокодів Intel не працюють у моїй системі?


8

Я хочу оновити свою систему, щоб пом’якшити подвиги Spectre та Meltdown.

Відповідна сторінка Ubuntu зазначено, що мені потрібно оновити мікрокоди: "З точки зору гостьового та негіпервізорного голого металу, станом на оновлення ядра 21 лютого, наскільки нам відомо, пом'якшення для Spectre та Meltdown на 64-розрядні amd64, ppc64el та s390x є повнофункціональними, доки всі оновлення мікрокоду, мікропрограмного забезпечення та гіпервізора під системою будуть виконані ... "

У мене є, intel-microcodeі iucode-toolвстановлено, і оновлено, проте працюєdmesg | grep -i microcode і grep -i microcode /var/log/syslog*повернення нічого , що змушує мене думати , що або процесор микрокода не оновлюється або що - то ще не так.

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

операційна система: Lubuntu 16.04

Процесор: Intel N3700 (Braswell)

включені програмні репозиції: головний, всесвіт

включені оновлення: xenial-security

Редагувати:
Вихід grep name /proc/cpuinfo | sort -uє
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Мій процесор - це не Skylake, ні озеро Кабі.

У /proc/cpuinfoгіпер-нитках відображається як підтримується, але ця сторінка Intel говорить, що вона не підтримується:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -ГГц

Редагувати 2:
Я біг sudo update-initramfs -uі перезавантажувався. Виходи залишаються однаковими.

Вихід /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*:

/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:

Здається, що для мого процесора не існує оновленого мікрокоду, що цікаво, оскільки на Additional Driversвкладці раніше (наприкінці 2017 р.) Був вибраний мікрокод ; тепер, немає.

Правка 3:
Вихід apt list --installed | grep intel-microcode:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-microcode/xenial-security,now 3.20180108.0+really20170707ubuntu16.04.1 amd64 [installed]

Редагувати 4:
Тепер я розумію, що для мікропрограми процесора немає оновлення, це означає, що оригінальна проблема вирішена, і я залишу її такою, якою вона є.

Тим НЕ менше, dmesgі journalctl -bповинні ще вихідні лінії близько микрокода версії, я вважаю.
Я також помітив, що ці журнали завантаження починаються з "5" замість типових 1 або 0, і є повторюване повідомлення про помилку, яке робить їх усіченими ( dmesgнічого не говорить про усікання, але journalctlговорить, що є 371635 пропущених повідомлень ядра, див. Нижче) . Я зараз проігнорую це.

March 19 06:36:40 NN systemd-journald[266]: Runtime journal (/run/log/journal/) is 8.0M, max 78.9M, 70.9M free.
March 19 06:36:40 NN systemd-journald[266]: Missed 371635 kernel messages
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action():           (null)
March 19 06:36:40 NN kernel:    IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq():  ffffffffb9ee8f70, 
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40, 
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120

1
Ось докладні вказівки щодо перевірки мікрокоду в системах debian - list.debian.org/debian-devel/2017/06/msg00308.html . Опублікуйте вихід цих команд. Почніть з ідентифікації свого процесора grep name /proc/cpuinfo | sort -uта зауважте "Деякі з процесорів у цих двох списках не впливають, оскільки у них відсутня підтримка гіперпотоку. Виконайте команду нижче в оболонці командного рядка (наприклад, xterm), і вона видасть повідомлення, якщо гіпер -threading підтримується / вмикається: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

Я редагував питання.
MeltingPoint

Чи можете ви, будь ласка, запустити sudo update-initramfs -u && sudo rebootта перевірити ще раз після перезавантаження.
Пантера

1
Можливо, в пакеті ubuntu немає мікрокоду для вашого процесора. запустіть це, щоб побачити/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
doug

1
У "кінці 2017 року" у вас, можливо, був мікро код для вашої процесорної системи на основі спроб виправлень спектру / зриву. Цей код було видалено /, тобто пакет було повернено до попереднього, що не потребує нічого для вашого процесора.
дог

Відповіді:


4

На основі результатів /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*не завантажується мікрокод для вашого процесора, оскільки на даний момент його немає. Це не означає, що не буде в майбутньому. Ви можете безпечно залишити встановлений intel-microcode та iucode-інструмент, якщо для підпису вашого процесора є оновлення, що містить мікрокод, воно буде використовуватися.


2

Помилка в Meltdown / Spectre Micro Microcode

Виникла помилка на початку оновлення Intel Microcode на початку 2018 року щоб вирішити проблеми з безпекою Meltdown / Spectre. Як такий, мікрокод довелося повернути до попередньої версії.

Ось мікрокод, який я використовую (відмовився від усіх оновлень з січня 2018 року):

$ apt list --installed | grep intel-microcode

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-microcode/now 3.20170707.1~ubuntu16.04.0 amd64 [installed,upgradable to: 3.20180108.0+really20170707ubuntu16.04.1]

Встановивши Intel Microcode Update, ви отримаєте цю версію або щось подібне:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Меню Ubuntu 16.04 LTS

Я не впевнений у структурі меню Lubuntu, але для звичайного Ubuntu це доступ до елементів керування оновленнями Intel Microcode Update:

Додаткові драйвери.png

Нижній варіант керує оновленнями Intel Microcode Updates.

Встановіть Intel Microcode від CLI

Щоб взагалі пропустити меню GUI, ви можете встановити з командного рядка:

sudo apt update
sudo apt install intel-microcode

dmesg тепер показує правильний вихід

Після виконання етапів установки dmesgповертає потрібний результат (на відміну від вашого запитання, де він нічого не показує):

$ dmesg | grep -i microcode
[    1.166542] microcode: sig=0x506e3, pf=0x20, revision=0xba
[    1.166993] microcode: Microcode Update Driver: v2.2.
[16082.584598] microcode: microcode updated early to revision 0xba, date = 2017-04-09

У запитанні ОП чітко зазначено, що "у мене встановлений та оновлений інструмент intel-micro та iucode-інструмент", тому я не дуже впевнений, як це допомагає.
Пантера

@Panther Я пропустив додавання свого dmesgрезультату, який я спочатку мав, коли почав писати відповідь. Я додам це в. В основному після виконання етапів встановлення dmesgрезультат з'являється так, як належить.
WinEunuuchs2Unix

В ОП також чітко зазначено, що "dmesg | grep -i мікрокод та grep -i мікрокод / ​​var / log / syslog * нічого не повертають". Я підозрюю, що нам потрібно бігтиsudo update-initramfs -u && sudo reboot
Пантера

@Panther Уперше мені здалося, що мікрокод встановлений неправильно. Хороший момент щодо перезавантаження. Про це НП нічого не згадує. Я буду стежити за подальшою відповіддю ОП на ваш коментар під його запитанням. Я не впевнений update-initramfs -uу необхідності, оскільки тут не вказано: askubuntu.com/questions/545925/… . Однак це ніколи не шкодить.
WinEunuuchs2Unix

Мікрокод, як правило, є частиною initramfs і завантажується під час завантаження, тому, хоча це і не очікується, я пропоную відновити initramfs як можливий виправлення незвичної ситуації з ОП. Допоможе, якби ми знали, який мікрокод встановлений.
Пантера

2

Ubuntu випустив фіксований оновлення ядра проти цього подвигу. Нове ядро ​​вимагало змін.

Довідка: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki

Я перебуваю в Ubuntu 16.04, використовуючи драйвер дисплея Nouveau. У моєму випадку Intel-мікрокод був видалений після встановлення нового ядра.

Це оновлення випускається відразу після того, як Intel випустила виправлення помилок для вразливості безпеки помилок.

Це повинно вирішити вашу проблему.

Якщо у вас замінено драйвер власності intel, як на моєму місці, і все ще хочете драйвера власності intel-microcode.

Intel випускає мікрокоди процесора Linux для виправлення помилок Meltdown & Spectre | bleepingcomputer.com

Наразі нові драйвери не включені до Ubuntu ppa. Можливо, користувачам доведеться завантажити його вручну з веб-сайту Intel.

Попередження: Це може спричинити конфлікт драйверів або нестабільність вашої Ubuntu. Ви повинні встановити його на власний ризик.

Завантажте файл даних мікрокодового процесора Linux | downloadcenter.intel.com

Для мене у мого ноутбука ubuntu у мене немає жодних проблем. Тому я не хочу ризикувати. Я залишив команду Ubuntu, щоб вирішити, що найкраще в моїй системі. Чекаю оновлення від команди водіїв Ubuntu.


Я не розумію, як це відповідає на моє запитання. Ви можете пояснити? Я intel-microcodeвстановив.
MeltingPoint


Оновіть свій ядро, Ubuntu зафіксував його іншим способом.
Аравінд


Якщо Intel-мікрокод був видалений, у вас є 2 варіанти. варіант 1) будьте в безпеці і зачекайте, поки команда ubuntu випустить оновлення, як я. Або 2) ви можете запустити власний експеримент, завантаживши вручну на власний ризик.
Аравінд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.