On Tue, Jan 18, 2011 at 8:16 AM, Mark Knecht <markkne...@gmail.com> wrote:
> On Tue, Jan 18, 2011 at 7:38 AM, Paul Hartman
> <paul.hartman+gen...@gmail.com> wrote:
>> On Mon, Jan 17, 2011 at 10:29 PM, William Kenworthy <bi...@iinet.net.au> 
>> wrote:
>>> The bios microcode update is likely an enable setting rather than the
>>> bios actually updating the cpu.  You need to do some reading/asking of
>>> the manufacturers (not here) if it bothers you.
>>
>> Thanks for the links, I didn't realize they made the microcode data
>> available separately.
>>
>> From Intel's download site for the microcode data:
>>
>> "The microcode data file contains the latest microcode definitions for
>> all Intel processors. Intel releases microcode updates to correct
>> processor behavior as documented in the respective processor
>> specification updates. While the regular approach to getting this
>> microcode update is via a BIOS upgrade, Intel realizes that this can
>> be an administrative hassle. The Linux Operating System and VMware ESX
>> products have a mechanism to update the microcode after booting. For
>> example, this file will be used by the operating system mechanism if
>> the file is placed in the /etc/firmware directory of the Linux
>> system."
>>
>>
> Thanks for the info Paul.
>
> For kicks I tried it on an Intel DH55HC MB running an Core i5-661.
>
> 1) Created /etc/firmware
> 2) Downloaded the Intel microcode-20101123.tgz file
> 3) Enabled the /dev/cpu/microcode option under Processor Types and Features
> 4) Rebuilt the kernel and rebooted
>
> I see this in dmesg:
>
> mark@firefly ~ $ dmesg | grep micro
> [    0.495337] microcode: CPU0 sig=0x20652, pf=0x2, revision=0x9
> [    0.495436] microcode: CPU1 sig=0x20652, pf=0x2, revision=0x9
> [    0.495535] microcode: CPU2 sig=0x20652, pf=0x2, revision=0x9
> [    0.495635] microcode: CPU3 sig=0x20652, pf=0x2, revision=0x9
> [    0.495751] microcode: Microcode Update Driver: v2.00
> <tig...@aivazian.fsnet.co.uk>, Peter Oruba
> mark@firefly ~ $
>
> On this machine the message doesn't change whether the microcode file
> is located in /etc/firmware or not so I don't know how to tell if the
> process worked but the processor doesn't need any updates or whether
> it didn't work at all.
>
> - Mark
>
OK, I got it to load by hand:

1) emerge microcode-ctl

which also emerges microcode-data. Unfortunately microcode-data looks
to be out of date. Add microcode_ctl to the boot level:

rc-update add microcode_ctl boot

2) Unzip and untar the microcode file from Intel.

3) The above emerge placed the microcode.dat file in /lib/firmware,
not /etc/firmware as suggested by the kernel, so I loaded the newer
one from Intel by hand using microcode-ctl:


firefly firmware # microcode_ctl -f /etc/firmware/microcode-20101123.dat
microcode_ctl: writing microcode (length: 430080)
microcode_ctl: microcode successfuly written to /dev/cpu/microcode
firefly firmware # dmesg | grep micro
[    0.495755] microcode: CPU0 sig=0x20652, pf=0x2, revision=0x9
[    0.495853] microcode: CPU1 sig=0x20652, pf=0x2, revision=0x9
[    0.495952] microcode: CPU2 sig=0x20652, pf=0x2, revision=0x9
[    0.496050] microcode: CPU3 sig=0x20652, pf=0x2, revision=0x9
[    0.496168] microcode: Microcode Update Driver: v2.00
<tig...@aivazian.fsnet.co.uk>, Peter Oruba
[ 2647.731262] microcode: CPU0 updated to revision 0xc, date = 2010-06-10
[ 2647.731982] microcode: CPU1 updated to revision 0xc, date = 2010-06-10
[ 2647.732815] microcode: CPU2 updated to revision 0xc, date = 2010-06-10
[ 2647.733608] microcode: CPU3 updated to revision 0xc, date = 2010-06-10
firefly firmware #

Now the microcode revision appears to be updated.

I suspected that if I renamed the file in /etc/firmware to
'microcode.dat' maybe it would load automatically at boot time but it
didn't so I moved it to lib/firmware where microcode_ctl does load it.

NOTE: There is a /etc/conf.d/microcode_ctl config file but it doesn't
see to include a path for microcode so I guess at this time I'm stuck
overwriting the /lib/firmware directory until I learn more.

Cheers,
Mark

Reply via email to