Early loading of microcode updates with all firmware
From: Paul Menzel
Date: Fri Jun 30 2017 - 06:45:32 EST
Dear Borislav,
Thank you for recently updating the document *Early load microcode* [1].
My goal is to include all microcode updates from AMD and Intel, as the
image is supposed to run on several systems.
Therefore, I included the files in the initramfs image, under
`/lib/firmware`, and selected the microcode related Kconfig options.
```
$ grep MICROCODE /boot/config-4.11.7.mx64.161
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
```
But, the microcode is not updated. For example, I have to manually run
the command below.
```
$ echo 1 | sudo tee /sys/devices/system/cpu/microcode/reload
```
Reading the document, that method is not explicitly mentioned there, so
I guess itâs not supported.
So two question. If I want to add it to the initramfs image, the
document says to prepend the updates. But I am unclear how to create
`microcode.bin` to contain all the files in
`/lib/firmware/intel-ucode/`, and then the ones for AMD devices. Do I
just concatenate both?
Regarding the section *Builtin microcode*, it would be quite cumbersome
to list all the microcode files. It looks like wildcards like `*` are
not supported. At least the build breaks, if `intel-ucode/*` is used in
the prompt.
Kind regards,
Paul
[1] https://www.kernel.org/doc/Documentation/x86/early-microcode.txt