Changeset 3c19265
- Timestamp:
- 05/19/2019 08:52:16 PM (4 years ago)
- Branches:
- 10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 9.0, 9.1, kea, ken/inkscape-core-mods, lazarus, lxqt, plabs/python-mods, qt5new, trunk, upgradedb, xry111/intltool, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
- Children:
- b18436b4
- Parents:
- 909e238
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
introduction/welcome/changelog.xml
r909e238 r3c19265 42 42 </listitem> 43 43 --> 44 <listitem> 45 <para>May 19th, 2019</para> 46 <itemizedlist> 47 <listitem> 48 <para>[ken] - Update details of Intel microcode. Fixes 49 <ulink url="&blfs-ticket-root;12061">#12061</ulink>.</para> 50 </listitem> 51 </itemizedlist> 52 </listitem> 44 53 45 54 <listitem> -
postlfs/config/firmware.xml
r909e238 r3c19265 101 101 need to be applied on every boot.</para> 102 102 103 <para>Intel provide frequent updates of their microcode. It is not uncommon 104 to find a newer version of microcode for an Intel processor even two years 105 after its release. New versions of AMD firmware are rare and usually only 106 apply to a few models, although motherboard manufacturers get extra updates 107 which maybe update microcode along with the changes to support newer CPUs 108 and faster memory.</para> 109 110 <para>There used to be two ways of loading the microcode, described as 'early' 103 <para>Intel provide updates of their microcode for SandyBridge and later 104 processors as new vulnerabilities come to light. New versions of AMD 105 firmware are rare and usually only apply to a few models, although 106 motherboard manufacturers get extra updates which maybe update microcode 107 along with the changes to support newer CPUs and faster memory.</para> 108 109 <para>There are two ways of loading the microcode, described as 'early' 111 110 and 'late'. Early loading happens before userspace has been started, late 112 111 loading happens after userspace has started. Not surprisingly, early loading 113 was preferred, (see e.g. an explanatory comment in a kernel commit noted at112 is preferred, (see e.g. an explanatory comment in a kernel commit noted at 114 113 <ulink url="https://lwn.net/Articles/530346/">x86/microcode: Early load 115 114 microcode </ulink> on LWN.) Indeed, it is needed to work around one … … 121 120 uncommon situations. </para> 122 121 123 <para>As a result, early loading is now expected, although for the moment 124 (4.18 kernels) it is still possible to manually force late loading of 125 microcode for testing. You will need to reconfigure your kernel for either 126 method. The instructions here will create a kernel 127 <filename>.config</filename> to suite early loading, before forcing late 128 loading to see if there is any microcode. If there is, the instructions 129 then show you how to create an initrd for early loading.</para> 122 <para>It is still possible to manually force late loading of microcode, 123 either for testing or to prevent having to reboot. You will need to 124 reconfigure your kernel for either method. The instructions here will 125 create a kernel <filename>.config</filename> to suite early loading, before 126 forcing late loading to see if there is any microcode. If there is, the 127 instructions then show you how to create an initrd for early loading.</para> 130 128 131 129 <para>To confirm what processor(s) you have (if more than one, they will be … … 136 134 137 135 <para>The first step is to get the most recent version of the Intel 138 microcode. This must be done by navigating to 139 <ulink url='https://downloadcenter.intel.com/download/28087/Linux-Processor-Microcode-Data-File'/>140 and following the instructionsthere. As of this writing the most recent141 version of the microcode is <filename>microcode-20180807.tgz</filename>.142 Extract this file in the normal way to create an<filename>intel-ucode</filename>136 microcode. This must be done by navigating to <ulink 137 url='https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/releases/'/> 138 and downloading the latest file there. As of this writing the most recent 139 version of the microcode is microcode-20190514a. 140 Extract this file in the normal way, the microcode is in the <filename>intel-ucode</filename> 143 141 directory, containing various blobs with names in the form XX-YY-ZZ. 144 This tarball does not contain a top-level directory, two files 145 (microcode.dat which is the old-style of updates, still used by some 146 linux distros, and releasenote) will be extracted into the current 147 directory.</para> 148 149 <note><para>The above URL may not be the latest page. If it is not, 150 a line at the top of the page will direct you to the latest page. 151 </para></note> 142 There are also various other files, and a releasenote.</para> 143 144 <para>In the past, intel did not provide any details of which blobs had 145 changed versions, but now the releasenote details this.</para> 146 147 <para>The recent firmware for older processors is provided to deal with 148 vulnerabilities which have now been made public, and for some of these such 149 as Microarchitectural Data Sampling (MDS) you might wish to increase the 150 protection by disabling hyperthreading, or alternatively to disable the 151 kernel's default mitigation because of its impact on compile times. Please 152 read the online documentation at <ulink 153 url='https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html'/>. 154 </para> 155 156 <para>To be able to use the microcode which addresses MDS, the kernel must 157 be one of the following stable versions: 5.1.2, 5.0.16, 4.19.43, 4.14.119, 158 4.9.176 or a later version of those series, or a later kernel series such 159 as 5.2.</para> 152 160 153 161 <para>Now you need to determine your processor's identity to see if there … … 189 197 <screen><userinput>dmesg | grep -e 'microcode' -e 'Linux version' -e 'Command line'</userinput></screen> 190 198 191 <para>This example from the Haswell i7 which was released in Q2 2014 and is 199 <para>This old example (from before Intel provided details of the latest 200 versions) from the Haswell i7 which was released in Q2 2014 and is 192 201 not affected by the TSX errata shows it has been updated from revision 0x19 193 202 in the BIOS/UEFI (which this version of the kernel now complains about) to … … 313 322 <screen><userinput>dmesg | grep -e 'microcode' -e 'Linux version' -e 'Command line'</userinput></screen> 314 323 324 <para>If you updated to address vulnerabilities, you can look at <filename 325 class="directory">/sys/devices/system/cpu/vulnerabilities/</filename> to 326 see what is now reported.</para> 327 315 328 <para>The places and times where early loading happens are very different 316 329 in AMD and Intel machines. First, an Intel example from an updated … … 318 331 is mentioned:</para> 319 332 320 <screen><literal>[ 0.000000] microcode: microcode updated early to revision 0x2 5, date = 2018-04-02321 [ 0.000000] Linux version 4.18.1-rc1 (ken@plexi) (gcc version 8.2.0 (GCC))322 #2 SMP PREEMPT Tue Aug 14 20:22:35 BST 2018323 [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz- 4.18.1-rc1-sda5 root=/dev/sda5 ro resume=/dev/sdb1324 [ 0.275864] microcode: sig=0x306c3, pf=0x2, revision=0x2 5333 <screen><literal>[ 0.000000] microcode: microcode updated early to revision 0x27, date = 2019-02-26 334 [ 0.000000] Linux version 5.0.16 (lfs@plexi) (gcc version 9.1.0 (GCC)) 335 #2 SMP PREEMPT Sat May 18 23:10:29 BST 2019 336 [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.0.16-sda5 root=/dev/sda5 ro resume=/dev/sdb1 337 [ 0.275864] microcode: sig=0x306c3, pf=0x2, revision=0x27 325 338 [ 0.275911] microcode: Microcode Update Driver: v2.2.</literal></screen> 326 339
Note:
See TracChangeset
for help on using the changeset viewer.