Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Howto: Intel Skylake microcode update bug broken hyperthread
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
pietinger
n00b
n00b


Joined: 17 Oct 2006
Posts: 33

PostPosted: Wed Jun 28, 2017 2:33 pm    Post subject: Howto: Intel Skylake microcode update bug broken hyperthread Reply with quote

Yesterday I read this article: https://lwn.net/Articles/726496/

... and thought its time to learn how to install a microcode update. I had a little help from the gentoo-wiki: https://wiki.gentoo.org/wiki/intel_microcode

It took me longer than I thought before ... maybe this will help you a little bit.

First of all, I had to emerge the unstable package "intel-microcode" to get the version: 20170511.

Now I have a lot of files in /lib/firmware/intel-ucode. But which one do I need ? After (a long) searching in the web I found the missing Info: All Versions showing me in "cat /proc/cpuinfo" are in decimal and I have to translate in in hexadecimal. I have an i7-6700 and got this Output:

Code:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 94
model name      : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
stepping        : 3


After translating dec 94 in hex 5E I knew I need the file 06-5e-03 (cpu family-model-stepping)

I choosed the method "New method without initram-fs/disk" from the gentoo-wiki because I allready included a file before. If you want to load 2 files you only need to sperate them by a blank.

Code:

 .config - Linux/x86 4.9.34-gentoo Kernel Configuration
 → Device Drivers → Generic Driver Options
  Generic Driver Options
  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus ----).  Highlighted letters are hotkeys.   │ 
  │  Pressing <Y> includes, <N> excludes, <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.    │ 
  │  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                                                         │ 
  │                                                                                                                             │ 
  │ │                         [ ] Support for uevent helper                                                                   │ │ 
  │ │                         -*- Maintain a devtmpfs filesystem to mount at /dev                                             │ │ 
  │ │                         [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs                           │ │ 
  │ │                         [*] Select only drivers that don't need compile-time external firmware                          │ │ 
  │ │                         [*] Prevent firmware from being built                                                           │ │ 
  │ │                         -*- Userspace firmware loading support                                                          │ │ 
  │ │                         [*]   Include in-kernel firmware blobs in kernel binary                                         │ │ 
  │ │                         (i915/skl_dmc_ver1_26.bin intel-ucode/06-5e-03) External firmware blobs to build into the kernel│ │ 
  │ │                         (/lib/firmware) Firmware blobs root directory                                                   │ │ 
  │ │                         [ ] Fallback user-helper invocation for firmware loading                                        │ │ 
  │ │                         [*] Allow device coredump


After rebooting the new kernel I saw in the log my new revision "0xba".

Code:

Jun 28 15:57:38 big kernel: Symbols match kernel version 4.9.34.
Jun 28 15:57:38 big kernel: No module symbols loaded - kernel modules not enabled.
Jun 28 15:57:38 big kernel: [    0.000000] microcode: microcode updated early to revision 0xba, date = 2017-04-09
[...]
Jun 28 15:57:38 big kernel: [    1.114173] microcode: sig=0x506e3, pf=0x2, revision=0xba
Jun 28 15:57:38 big kernel: [    1.114326] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[...]



Have a good time,
Peter

[Moderator edit: broke long whitespace-free lines in code tags to fix thread layout. -Hu]
Back to top
View user's profile Send private message
Shoaloak
n00b
n00b


Joined: 05 Nov 2016
Posts: 36

PostPosted: Sat Jul 08, 2017 7:54 pm    Post subject: Reply with quote

Thanks for the post, works like a charm.
_________________
Happy hacking.
Back to top
View user's profile Send private message
statikregimen
n00b
n00b


Joined: 16 Jul 2011
Posts: 68
Location: USA/Michigan

PostPosted: Wed Jul 26, 2017 8:49 pm    Post subject: Reply with quote

Wow....I never read forums unless I'm looking for something or have something useful to share. So normally would have missed this, and gone on in blissful ignorance of the fact that my CPU could go rogue at any moment. I suppose it's always a risk anyway...

Lucky me, I have the exact same model & stepping as you, so this just made the fix really easy. Thank you for posting!
Back to top
View user's profile Send private message
Ant P.
Advocate
Advocate


Joined: 18 Apr 2009
Posts: 4511

PostPosted: Thu Jul 27, 2017 10:57 pm    Post subject: Reply with quote

Warning for anyone that wants to try this on a 32-bit-only CPU: the "include firmware in kernel" method doesn't work on those (it's actually documented as such but hard to find), your only option is to have iucode-tool write a cpio file and set that as the initrd. Remember to enable initramfs support (not initrd) in the kernel.

Turned out a waste of time for me, my Atom has a few errata warnings at boot, but it fixed none of them and made the system way less stable. It does matter for the Skylake bug though. (And the older Haswell TSX bug)
_________________
*.ebuild // /etc/service/*
Back to top
View user's profile Send private message
statikregimen
n00b
n00b


Joined: 16 Jul 2011
Posts: 68
Location: USA/Michigan

PostPosted: Fri Sep 01, 2017 1:22 am    Post subject: Reply with quote

I just did this. As of now, the latest version of intel-microcode package is 20170707 - you shouldn't need to emerge the unstable now.

Any update on the issue itself or where can we go to get news like this?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum