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=0x806ea 、 revision=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