Ship individual microcode files in /usr/lib/firmware/intel-ucode
Description:
Currently, only a cpio containing the full concatenated microcode is shipped in /boot. Shipping the individual microcode files in /usr/lib/firmware/intel-ucode would enable multiple use cases:
- dracut can only include the microcode required for the system's CPU in the early load CPIO. This would reduce the size of the generated initramfs. mkinitcpio can learn to do the same, see archlinux/mkinitcpio/mkinitcpio#191 (closed) for the discussion on that
- Cross distribution image builders like mkosi (https://github.com/systemd/mkosi) can include microcode in the initrd when building Arch images. Currently including the intel microcode is not supported on Arch Linux when using mkosi because Arch Linux is the only (supported) distribution that does not make the individual microcode files available in /usr/lib/firmware/intel-ucode. Making these available would make Arch more consistent with other distributions in an area where it's not really beneficial to deviate.
Because mkinitcpio has not yet learned to build an early CPIO containing microcode, I would suggest shipping both the cpio in /boot and the individual microcode files in /usr/lib/firmware/intel-ucode for now until mkinicpio can generate microcode cpios from /usr/lib/firmware/intel-ucode.
cc @dvzrv
Additional info:
- package version(s)
- config and/or log files etc.
- link to upstream bug report, if any