Linux Processor Microcode Data File 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. This SlackBuild repackages the official Intel microcode archive. The "microcode.dat" file is placed under /lib/firmware/microcode.dat and can be later uploaded using microcode_ctl utility (available from SlackBuilds.org). This approach (microcode.dat + microcode_ctl) is kept for compatibility reasons and should be avoided whenever possible. * Use the solution described below. * If the iucode_tool (available from SlackBuilds.org) is installed on the system, this SlackBuild will: 1) write the microcodes with the file names as expected by the Linux kernel firmware loader and place them under /lib/firmware/intel-ucode directory. The correct microcode is uploaded when the Intel microcode kernel's module is loaded. 2) write the microcodes to an early initramfs archive: /boot/intel-ucode.cpio This archive should be prepended to the regular initramfs to allow the kernel to update processor microcode very early during system boot. To get started with early microcode loading, please have a look at: 1) https://www.kernel.org/doc/Documentation/x86/early-microcode.txt 2) iucode_tool man page, especially about --write-earlyfw option. For example, on my system that uses syslinux, to load the microcode early during the boot process, the configuration file reads something like that: INITRD /boot/intel-ucode.cpio,/boot/initrd-generic-4.4.x.gz