[arch-dev-public] Changes to microcode updates
evangelos at foutrelis.com
Mon Oct 13 12:54:52 UTC 2014
On 12/10/14 18:13, Evangelos Foutras wrote:
> On 12/10/14 15:28, Thomas Bächler wrote:
>> For AMD, a similar mechanism is available, but since I don't own an AMD
>> CPU, I cannot implement this. This causes problems, since the microcode
>> update is no longer triggered automatically on boot (since microcode is
>> no longer a module). If you want to update the AMD ucode, you probably
>> need to run
>> echo > /sys/devices/system/cpu/microcode/reload
>> on boot. I hope someone with an AMD CPU will look into this.
> I generated amd-ucode.img with the following commands:
> $ mkdir -p kernel/x86/microcode
> $ cat /usr/lib/firmware/amd-ucode/microcode_amd*.bin \
> $ find kernel | bsdcpio -o -H newc -R 0:0 >amd-ucode.img
> In syslinux.cfg I specified (w/ separate /boot partition):
> INITRD ../amd-ucode.img,../initramfs-linux.img
> While the above works fine on my desktop and microcode is updated early
> like it's supposed to, my laptop with the exact same configuration just
> hangs at the message "Booting the kernel."
I did some further testing on my laptop regarding early microcode
loading and it works fine when the kernel is built with either
CONFIG_PREEMPT_NONE=y or CONFIG_PREEMPT_VOLUNTARY=y.
Our default kernel uses CONFIG_PREEMPT=y, which apparently displeases my
laptop greatly... I'm not sure how we should proceed.
More information about the arch-dev-public