1 |
On Wednesday 01 Feb 2017 22:34:09 Mick wrote: |
2 |
--->8 |
3 |
> I eventually got on top of this. No initramfs is needed, although if you |
4 |
> are using one then it will serve the same purpose too. |
5 |
> |
6 |
> These are the steps I followed: |
7 |
> |
8 |
> Emerged sys-apps/iucode_tool and ran: |
9 |
> |
10 |
> iucode_tool -S |
11 |
> |
12 |
> which spewed out the CPU signature as: 0x00040661 |
13 |
> |
14 |
> Then I emerged intel-microcode with USE=split-ucode, to generate the |
15 |
> microcode binaries the kernel can use directly. Saving and searching |
16 |
> through the output of the emerge compilation I found this snippet: |
17 |
> |
18 |
> intel-ucode/06-46-01 |
19 |
> signature: 0x40661 <===< |
20 |
> flags: 0x32 |
21 |
> revision: 0x16 |
22 |
> date: 2016-04-01 |
23 |
> size: 24576 |
24 |
> |
25 |
> Previously in a rush, I got confused when I compared the hex notation of |
26 |
> the CPU signature with 0x000 in front of it, with the above. Thereafter |
27 |
> I added 'intel-ucode/06-46-01' in the kernel, like so: |
28 |
> |
29 |
> Device Drivers ---> |
30 |
> Generic Driver Options ---> |
31 |
> [*] Include in-kernel firmware blobs in kernel binary |
32 |
> (intel-ucode/06-46-01 <other_CPU_firmware_follows_here>) External |
33 |
> firmware blobs to build into the kernel binary |
34 |
> (/lib/firmware/) Firmware blobs root directory |
35 |
> |
36 |
> The intel-ucode needs to be loaded early at the start of the boot process, |
37 |
> so I put it first and comma separated the rest of the CPU firmware blobs. |
38 |
|
39 |
Mine are all space separated. |
40 |
|
41 |
> I now get an output which clearly states "microcode updated early". |
42 |
|
43 |
The first line of dmesg says so here now, for the first core, then 50 ms later |
44 |
the other cores follow suit. |
45 |
|
46 |
> I posted this in case it helps others too. |
47 |
|
48 |
And I'm grateful. I hadn't got round to tweaking CPU microcode, but seeing |
49 |
your post I thought it would be a good idea. |
50 |
|
51 |
-- |
52 |
Regards |
53 |
Peter |