Author: bdubbs
Date: Sun Mar  5 11:19:30 2017
New Revision: 18439

Log:
Update firmware discussion for Intel CPUs

Modified:
   trunk/BOOK/introduction/welcome/changelog.xml
   trunk/BOOK/postlfs/config/firmware.xml

Modified: trunk/BOOK/introduction/welcome/changelog.xml
==============================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml       Sun Mar  5 10:35:44 
2017        (r18438)
+++ trunk/BOOK/introduction/welcome/changelog.xml       Sun Mar  5 11:19:30 
2017        (r18439)
@@ -46,6 +46,10 @@
       <para>March 5th, 2017</para>
       <itemizedlist>
         <listitem>
+          <para>[bdubbs] - Update firmware discussion for Intel CPUs . 
Partially fixes
+          <ulink url="&blfs-ticket-root;8929">#8929</ulink>.</para>
+        </listitem>
+        <listitem>
           <para>[bdubbs] - Update to mpg123 1.24.0. Fixes
           <ulink url="&blfs-ticket-root;8958">#8958</ulink>.</para>
         </listitem>

Modified: trunk/BOOK/postlfs/config/firmware.xml
==============================================================================
--- trunk/BOOK/postlfs/config/firmware.xml      Sun Mar  5 10:35:44 2017        
(r18438)
+++ trunk/BOOK/postlfs/config/firmware.xml      Sun Mar  5 11:19:30 2017        
(r18439)
@@ -125,7 +125,7 @@
 
     <sect3 id="intel-microcode">
       <title>Intel Microcode for the CPU</title>
-
+<!--
       <bridgehead renderas="sect4">Required Package</bridgehead>
       <para role='required'>
          <ulink url='http://fedorahosted.org/released/microcode_ctl/'/></para>
@@ -154,10 +154,52 @@
       need to determine your processor's identity, to see if there is any
       microcode for it. Determine the decimal values of the cpu family, model
       and stepping by running:</para>
+-->
+
+      <bridgehead renderas="sect4">Required File</bridgehead>
+      <para role='required'>
+         <ulink 
url='&sources-anduin-http;/intel-microcode/intel-microcode2ucode.c'/>
+      </para>
+
+      <para>For Intel CPUs an extra program, intel-microcode2ucode, is 
required. 
+      This is done a little differently since it is only a single source
+      code file.  The reason for this is that there are differnet versions
+      available, but most are specific to commercial distributions.</para>
+
+      <para>This program reformats the microcode supplied by Intel into a
+      format which the kernel can apply. The program
+      <userinput>intel-microcode2ucode</userinput> is used create the
+      individual firmware blobs </para>
+
+      <para>Create the program by downloading the source file and 
running:</para>
+
+<screen><userinput>gcc -g -Wall -O2 -o intel-microcode2ucode 
intel-microcode2ucode.c</userinput></screen>
+
+      <para>Now install the program as the <systemitem 
class="username">root</systemitem> user:</para>
+
+<screen><userinput>install intel-microcode2ucode /usr/bin</userinput></screen>
+
+     <para>The next step is to get the most recent version of the Intel
+     microcode.  The must be done by navigating to 
+     <ulink 
url='https://downloadcenter.intel.com/download/26400/Linux-Processor-Microcode-Data-File'/>
+     and following the instructions there.  As of this writing the most recent
+     version of the microcode is <filename>microcode-20161104.tgz</filename>.
+     This file is a tar file, but expands to <filename>microcode.dat</filename>
+     in the current directory.</para>
+
+     <para>Next, create various blobs with names in the form XX-YY-ZZ in a
+     subdirectory named <filename class="directory">intel-ucode/</filename>:
+     </para>
+
+<screen><userinput>intel-microcode2ucode microcode.dat</userinput></screen>
+
+     <para>Now you need to determine your processor's identity to see if there
+     is any microcode for it. Determine the decimal values of the cpu family,
+     model and stepping by running:</para>
 
 <screen><userinput>head -n7 /proc/cpuinfo</userinput></screen>
 
-      <para>Now convert the cpu family, model and stepping to pairs of 
hexadecimal
+      <para>Convert the cpu family, model and stepping to pairs of hexadecimal
       digits. For a SandyBridge i3-2120 (described as Intel(R) Core(TM) i3-2120
       CPU) the relevant values are cpu family 6, model 42, stepping 7 so in
       this case the required identification is 06-2a-07. A look at the blobs
@@ -167,7 +209,7 @@
       by the identifier for your machine) to where the kernel can find 
it:</para>
 
 <screen><userinput>mkdir -pv /lib/firmware/intel-ucode
-cp -v &lt;XX-YY-ZZ&gt; /lib/firmware/intel-ucode</userinput></screen>
+cp -v intel-ucode/&lt;XX-YY-ZZ&gt; 
/lib/firmware/intel-ucode</userinput></screen>
 
       <para>Now that the Intel microcode has been prepared, use the following
       options when you configure the kernel to try late loading of the Intel
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to