[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

initramfs-tools and intel-microcode with kernel 3.9.1 (sid)



On my laptop I'm running sid amd64.
I've noticed that during the early stages of booting, the Intel microcode fails to get loaded. Switching back to kernel version 3.8.2 solves this issue. So far I can't tell whether this is an actual problem, since I haven't
even understood what the microcode is or does.

dmesg for kernel version 3.9.1, initramfs-tools 0.113
[ 0.974211] platform microcode: firmware: agent aborted loading intel-ucode/06-17-0a (not found?) [ 0.979883] platform microcode: firmware: agent aborted loading intel-ucode/06-17-0a (not found?)

for kernel version 3.8.2, initramfs-tools 0.112
[ 0.878002] platform microcode: firmware: agent loaded intel-ucode/06-17-0a into memory [ 0.911476] platform microcode: firmware: agent loaded intel-ucode/06-17-0a into memory


When I manually re-run "update-initramfs -uv", it tells me that the microcode is found, bundled and put into
the initrd image. Here is an extract of the output:

Calling hook intel_microcode
intel-microcode: Adding microcode for currently online Intel processors
intel-microcode: Using early firmware update mode (Linux v3.9 and later)...
/usr/sbin/iucode_tool: system has processor(s) with signature 0x0001067a
/usr/sbin/iucode_tool: checked the signature of 2 processor(s)
/usr/sbin/iucode_tool: microcode bundle 1: /lib/firmware/intel-ucode/06-2a-07 (9216 bytes) /usr/sbin/iucode_tool: microcode bundle 2: /lib/firmware/intel-ucode/06-1c-0a (20480 bytes) /usr/sbin/iucode_tool: microcode bundle 3: /lib/firmware/intel-ucode/06-0f-0d (12288 bytes) /usr/sbin/iucode_tool: microcode bundle 4: /lib/firmware/intel-ucode/0f-06-04 (6144 bytes)
(...more of the same...)
/usr/sbin/iucode_tool: microcode bundle 32: /lib/firmware/intel-ucode/06-25-02 (7168 bytes) /usr/sbin/iucode_tool: microcode bundle 33: /lib/firmware/intel-ucode/0f-04-04 (3072 bytes) /usr/sbin/iucode_tool: microcode bundle 34: /lib/firmware/intel-ucode/0f-06-05 (4096 bytes) /usr/sbin/iucode_tool: processed 66 valid microcode(s), 66 signature(s), 66 unique signature(s)
/usr/sbin/iucode_tool: selected 3 microcode(s), 3 signature(s)
/usr/sbin/iucode_tool: Writing selected microcodes to: /var/tmp/mkinitramfs-EFW_2ZJIp33Cvd /usr/sbin/iucode_tool: /var/tmp/mkinitramfs-EFW_2ZJIp33Cvd: 3 microcode entries written, 25232 bytes



kernel version is 3.9.8-1 x86_64 GNU/Linux, initramfs-tools version 0.113
I tried (not very hard, though) to go back to initramfs-tools version 0.112, but that failed to build
any initrd image for the 3.9 kernel.

Also interesting (?) to see, that the newer initrd image is not compressed:

$ file /boot/initrd.img-3.8-2-amd64
/boot/initrd.img-3.8-2-amd64: gzip compressed data, from Unix, last modified: Sat May 18 22:01:03 2013

$ file /boot/initrd.img-3.9-1-amd64
/boot/initrd.img-3.9-1-amd64: ASCII cpio archive (SVR4 with no CRC)

I fail to extract the 3.9-1 image file with cpio. For 3.8-2 I used "zcat <file> | cpio -i" and can then find the ucode
in lib/firmware/intel-ucode/06-17-0a.

Whereas

$ cpio -t < initrd.img-3.9-1-amd64
kernel
kernel/x86
kernel/x86/microcode
kernel/x86/microcode/GenuineIntel.bin

This is the entire output!

Has anybody else seen this? Feature / bug / needs reporting?

--
Klaus


Reply to: