#979407 amd64-microcode: Amd64 microcode is not being loaded by the kernel from early initramfs. #979407
- Package:
- amd64-microcode
- Source:
- amd64-microcode
- Submitter:
- Philip Armstrong
- Date:
- 2024-08-30 07:15:03 UTC
- Severity:
- normal
On boot, the cpus are reported as having the following microcode version by the kernel: microcode: CPU0: patch_level=0x0800820c But this is not the latest version of the microcode, which is 0x800820d & if I trigger a microcode load from the shell with echo 1 > /sys/devices/system/cpu/microcode/reload after booting then the microcode is updated to that newer version. I have checked & the initramfs does contain an uncompressed cpio archive containing the microcode file kernel/x86/microcode/AuthenticAMD.bin as expected. So either the kernel is not seeing this, or for some reason it does not contain the latest microcode version, despite that latest version being the one loaded from /lib/firmware/amd64-microcode when triggered post-boot. It would be nice to sort this out! Any suggestons as to where to start? cheers, Phil Armstrong
How do you check the current version of microcode in use? Since amd64-microcode package is so outdated in Debian, I updated microcode files manually from the upstream Linux firmware repo, putting them in /usr/lib/firmware/amd-ucode. Then I ran sudo dpkg-recoconfigure amd64-microcode hoping it will update it. On next reboot I have the same version as before (basically what's in my UEFI) according to dmesg. Doing echo 1 > /sys/devices/system/cpu/microcode/reload and checking /proc/cpuinfo I also don't see any change. Thanks, Shmerl.
Dear Maintainer,
* What led up to the situation?
SinkClose: https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7014.html
The CPU is a AMD EPYC 7452 (family:17h, Model:31h, Stepping:0) .
* What exactly did you do (or not do) that was effective (or
ineffective)?
I tried the provided amd64-microcode from bookworm and now the
latest amd64-microcode package from sid.
* What was the outcome of this action?
The microcode patchlevel for amd64-microcode version 3.20240820.1
should be: 0x830107c . but upon booting linux-image-6.1.0-23-amd64
and the latest linux-image-6.1.0-25-amd64 (grabbed that manually).
cat /proc/cpuinfo still says 0x830107a .
* What outcome did you expect instead?
Having the microcode patchlevel be 0x830107c . 0x830107a seems to
come from the BIOS AGESA (~December 2023). Sadly Supermicro hasn't
published an update yet.