-
Notifications
You must be signed in to change notification settings - Fork 5
Description
tldr; the early microcode portion of an initramfs (/firmware) should be not be compressed.
When creating an initramfs, bootkit is currently creating a single cpio archive by combining uncompressed multiple cpio archives and then compressing the set of them. Note that doing it this way means that there are multiple end records. That seems not to bother the kernel.
So we end up with one cpio archive that has /firmware and all the other files. firmware portion of that is "early microcode".
Per Documentation/arch/x86/microcode.rst the /firmware bits are :
The format of the combined initrd image is microcode in (uncompressed) cpio format followed by the (possibly compressed) initrd image. The loader parses the combined initrd image during boot.
That is how both mkinitramfs and dracut create theirs.