Blob Blame History Raw
Older RHEL 7 kernels try to early load microcode even inside virtual
machine, which may lead to panic on some hypervisors.  In order to circumvent
that, microcode is installed into a kernel-version-specific directory (which
is not scanned by the dracut script, that constructs early microcode binary
in initramfs, by default), and path to microcode files provided only in case
initramfs is generated for the kernel version that properly handles early
microcode inside a virtual machine (i.e. do not attempts yo load it).
The versions of the kernel package that properly handle early microcode load
inside a virtual machine are as follows:
	RHEL 7.6: kernel-3.10.0-930 or newer;
	RHEL 7.5: kernel-3.10.0-862.14.1 or newer;
	RHEL 7.4: kernel-3.10.0-693.38.1 or newer;
	RHEL 7.3: kernel-3.10.0-514.57.1 or newer.
	RHEL 7.2: kernel-3.10.0-327.73.1 or newer.

If you want to avoid adding this ucode for a specific kernel, please create
"disallow-early-intel" file inside /lib/firmware/<kernel_version> directory
and run dracut -f:

    touch /lib/firmware/3.10.0-862.9.1/disallow-intel
    /usr/libexec/microcode_ctl/update_ucode
    dracut -f --kver 3.10.0-862.9.1

If you want to skip processing of this microcode for all kernels, please create
"disallow-early-intel" file inside the "/etc/microcode_ctl/ucode_with_caveats"
directory and run dracut -f --regenerate-all:

    mkdir -p /etc/microcode_ctl/ucode_with_caveats
    touch /etc/microcode_ctl/ucode_with_caveats/disallow-intel
    dracut -f --kver 3.10.0-862.9.1

If you want to enforce addition of this microcode to initramfs for a specific
kernel, please create "force-early-intel" file inside
/lib/firmware/<kernel_version> directory and run
dracut -f --kver "<kernel_version>":

    modir -p/lib/firmware/3.10.0-862.9.1/
    touch /lib/firmware/3.10.0-862.9.1/force-early-intel
    dracut -f --kver 3.10.0-862.9.1

If you want to enforce addition of this microcode for all kernels, please
create "force-early-intel" file inside /etc/microcode_ctl/ucode_with_caveats
directory and run dracut -f --kver "<kernel_version>":

    mkdir -p /etc/microcode_ctl/ucode_with_caveats
    touch /etc/microcode_ctl/ucode_with_caveats/force-early-intel
    dracut -f --regenerate-all

In order to override late load behaviour, the "early" part of file names should
be replaced with "late".


See /usr/share/doc/microcode_ctl/README.caveats for additional information.