summaryrefslogtreecommitdiffstats
path: root/system/intel-microcode/README
blob: 549d53c70098d7ed06b32ded3c3562b83c2adca9 (plain)
CPU microcode is a mechanism to correct certain errata in existing
systems. The normal preferred method to apply microcode updates is
using the system BIOS, but for a subset of Intel processors this
can be done at runtime using the operating system. This package
contains those processors that support OS loading of microcode
updates.

Linux can update processor microcode very early in the kernel boot
sequence. In situations when the BIOS update isn't available, early
loading is the next best alternative to updating processor microcode.
Microcode states are reset on a power reset, hence it is required to
be updated every time during the boot process.

Loading microcode using the initrd method is recommended so that
the microcode is loaded at the earliest time for best coverage.
Systems that cannot tolerate downtime may use the late reload
method to update a running system without a reboot.

This SlackBuild repackages the official Intel microcode archive.

NOTES:
1. microcode_ctl utility is no longer supported.

2. Microcodes with the file names as expected by the Linux kernel
   firmware loader are placed under /lib/firmware/intel-ucode
   directory. The correct microcode is uploaded when the Intel
   microcode driver kernel's module is loaded.

3. An early initramfs archive: /boot/intel-ucode.cpio is created.
   This archive can be prepended to the regular initramfs to allow
   the kernel to update the processor microcode early during boot.

   For example, on systems using syslinux, this can be done with
   a config line that reads something like that:

     INITRD /boot/intel-ucode.cpio,/boot/initrd-generic.gz

4. Microcodes for some processors require special attention. To find
   out if you're affected, read the release notes for the particular
   microcode release. The release notes file (releasenote) can be
   found in the microcode tarball file.

   To include these special microcodes files, run the script like that:

   $ INCLUDE_UCODE_WITH_CAVEATS=yes ./intel-microcode.SlackBuild