microcode update on Xeon X3430
Posted: 2019/08/06 08:34:06
Hi all,
I was trying to update my CPUs microcode but ran into some problems.
First, I checked whether or not my CPU is supported:
https://access.redhat.com/articles/3540901
https://access.redhat.com/articles/3562741
→ yep, it is.
Then I installed microcode_ctl using yum, but… nothing happened. Neither µcode was loaded nor the initrd was rebuild. Bummer.
I forced the initrd rebuild:
and rebooted, but still no luck:
Next step was to try it manually:
Still a big "nope": nothing happened.
Now trying the iucode_tool with microcode_ctl's shipped files and with the microcode downloaded from github:
Looks promising, right? Well, let's take a closer look:
I think I'm lost here. Does anybody have a clue on how I could load the updated microcode?
I was trying to update my CPUs microcode but ran into some problems.
First, I checked whether or not my CPU is supported:
Code: Select all
$ egrep -e 'model|cpu family|stepping|microcode' /proc/cpuinfo | sort | uniq
cpu family : 6
microcode : 0xa
model : 30
model name : Intel(R) Xeon(R) CPU X3430 @ 2.40GHz
stepping : 5
https://access.redhat.com/articles/3562741
→ yep, it is.
Then I installed microcode_ctl using yum, but… nothing happened. Neither µcode was loaded nor the initrd was rebuild. Bummer.
I forced the initrd rebuild:
Code: Select all
$ dracut -f
$ lsinitrd | egrep 'Early|\/micro'
Early CPIO image
drwxr-xr-x 2 root root 0 Aug 6 09:25 kernel/x86/microcode
-rw-r--r-- 1 root root 9216 Aug 6 09:25 kernel/x86/microcode/GenuineIntel.bin
Code: Select all
$ dmesg | grep -i micro
[ 0.012100] MDS: Vulnerable: Clear CPU buffers attempted, no microcode
[ 1.770009] microcode: sig=0x106e5, pf=0x2, revision=0xa
[ 1.770118] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
Code: Select all
$ curl -s -L https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/master.tar.gz | tar -tzf -
$ cp Intel-Linux-Processor-Microcode-Data-Files-master/intel-ucode/* /lib/firmware/intel-ucode/
$ echo 1 > /sys/devices/system/cpu/microcode/reload
Now trying the iucode_tool with microcode_ctl's shipped files and with the microcode downloaded from github:
Code: Select all
$ ./iucode_tool -q -tb -lS /usr/share/microcode_ctl/ucode_with_caveats/intel/intel-ucode
selected microcodes:
078/001: sig 0x000106e5, pf_mask 0x13, 2018-05-08, rev 0x000a, size 9216
$ ./iucode_tool -q -tb -lS Intel-Linux-Processor-Microcode-Data-Files-master/intel-ucode
selected microcodes:
078/001: sig 0x000106e5, pf_mask 0x13, 2018-05-08, rev 0x000a, size 9216
Code: Select all
$ ./iucode_tool -tb -lS Intel-Linux-Processor-Microcode-Data-Files-master/intel-ucode | grep 78
./iucode_tool: system has processor(s) with signature 0x000106e5
microcode bundle 78: Intel-Linux-Processor-Microcode-Data-Files-master/intel-ucode/06-1e-05
078/001: sig 0x000106e5, pf_mask 0x13, 2018-05-08, rev 0x000a, size 9216
$ cpio -id < /boot/initramfs-`uname -r`.img kernel/x86/microcode/GenuineIntel.bin
20 blocks
$ md5sum kernel/x86/microcode/GenuineIntel.bin Intel-Linux-Processor-Microcode-Data-Files-master/intel-ucode/06-1e-05
ccfadbf7fb5c97e23353f5d28a533015 kernel/x86/microcode/GenuineIntel.bin
ccfadbf7fb5c97e23353f5d28a533015 Intel-Linux-Processor-Microcode-Data-Files-master/intel-ucode/06-1e-05