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: