Gentoo LinuxでCPUのマイクロコードをアップデートする

Tech > Distoribution > gentoo

個人PCではやる必要はないかもしれませんが、脆弱性満載のCPUで問題が発生しても面倒なのでしっかり対応する

確認

利用しているCPUのマイクロコードを確認する

~ # dmesg | grep microcode
[    0.223129] SRBDS: Vulnerable: No microcode
[    0.223129] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[    1.114536] microcode: sig=0x806ea, pf=0x80, revision=0x84
[    1.114892] microcode: Microcode Update Driver: v2.2.
~ #

何も対処されていない、SRBDS( CVE-2020-0543)やMDSの脆弱性に対応できていない

マイクロコードのインストール

最新のマイクロコードをインストールする

~ # emerge sys-firmware/intel-microcode

sys-firmware/intel-microcode インストール後に needrestart コマンドでマイクロコードの摘要状況を確認

~ # needrestart -r l
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

Pending processor microcode upgrade!

Diagnostics:
  The currently running processor microcode revision is 0x0084 which is not the expected microcode revision 0x00ec.

Restarting the system to load the new processor microcode will not be handled automatically, so you should consider
rebooting. [Return]

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

0x00ec が摘要可能と言っている

/boot/へearly_ucode.cpioを作成

OSのブート時にマイクロコードを適用する為のファイルを作成する

~ # iucode_tool -S --write-earlyfw=/boot/early_ucode.cpio /lib/firmware/intel-ucode/*
iucode_tool: system has processor(s) with signature 0x000806ea
iucode_tool: Writing selected microcodes to: /boot/early_ucode.cpio

/bootディレクトリにearly_ucode.cpioが作成される

grubの設定も変更しておく

/etc/default/grub へ以下の修正を適用する

GRUB_EARLY_INITRD_LINUX_CUSTOM="ucode.cpio"

grub.cfgを更新する

~ # grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Linux イメージを見つけました: /boot/vmlinuz-5.15.26-gentoo-x86_64
Found initrd image: /boot/early_ucode.cpio
Linux イメージを見つけました: /boot/vmlinuz-5.15.26-gentoo-x86_64.old
Found initrd image: /boot/early_ucode.cpio
Linux イメージを見つけました: /boot/vmlinuz-5.15.23-gentoo-x86_64
Found initrd image: /boot/early_ucode.cpio
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...

rebootする

# reboot

確認

再起動後に確認する

~ # dmesg | grep microcode
[    0.000000] microcode: microcode updated early to revision 0xec, date = 2021-04-28
[    0.888849] microcode: sig=0x806ea, pf=0x80, revision=0xec
[    0.889327] microcode: Microcode Update Driver: v2.2.
~ # 

sig=0x806earevision=0xec で更新されてる

~ # needrestart -r l
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.
~ # 

以上、Gentoo LinuxでCPUのマイクロコードを更新するでした

Posted on 2022-03-27 17:03:47

はじめまして

お茶の国静岡で、焼酎のお茶割なんか罰当たりで飲んだことはありません、常に一番搾りを嗜む静岡極東のBBQerです、最近まわりのエンジニアの方々がお料理を上手にやっている姿を恨めしそうに横目に見ながら、軟骨ピリ辛チクワを食べています、みなさんよろしく。

Posted

Amazon

tags

Oracle Linux 8 microcode firmware linux openzfs zfs gitea 麒麟 真野鶴 金鶴 日本酒 docker oracle pod podman cli virtualbox VirtualBox epub mobi calibre mask lens ワンライナー php redmine Linux Oracle Map OMap omap map BBQ カテゴリ管理 カテゴリ timestamp date oracle database string 麦焼酎 ダービー process 磨き蒸留 広井酒店、日本酒 芋焼酎 焼酎 ゆるキャン 広井酒店、日本酒池 spring framework java persistent spring session session spring hdbc-odbc persistent-odbc odbc day utctime スィート レマンの森 elm初期化 elm バイク xlr80 esqueleto database xl2tpd strongswan vpn l2tp ipsec 正月 ゲーム grub nginx systemctl portage 豚骨 圧力鍋 yesod-auth-hashdb yesod-auth yesod CentOS8 tsl ssl 設定 install gentoo ghci stackコマンド stack MathJax 数式 templete-haskell haskell