summaryrefslogtreecommitdiff
path: root/sys-firmware/intel-microcode
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-18 00:01:42 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-18 00:01:42 +0100
commit075fd1f8cabc5879c6eb42127fb84c3058677fde (patch)
tree8b761e85416656264e041b1954427a58894b3333 /sys-firmware/intel-microcode
parent6c9dc10e04cd513437e046ccca0e51a3d6d4dc7c (diff)
gentoo auto-resync : 18:05:2024 - 00:01:41
Diffstat (limited to 'sys-firmware/intel-microcode')
-rw-r--r--sys-firmware/intel-microcode/Manifest4
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild38
-rw-r--r--sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild38
3 files changed, 64 insertions, 16 deletions
diff --git a/sys-firmware/intel-microcode/Manifest b/sys-firmware/intel-microcode/Manifest
index 7eb9a0f3f0c7..9177ae43575f 100644
--- a/sys-firmware/intel-microcode/Manifest
+++ b/sys-firmware/intel-microcode/Manifest
@@ -3,6 +3,6 @@ DIST intel-microcode-collection-20240514.tar.xz 13421016 BLAKE2B 83b7d213709bf8c
DIST intel-ucode-sig_0x406e3-rev_0xd6.bin 101376 BLAKE2B 66d55867954d69dda1425febd93bb8c89f7aa836d504f8b5fee127f8505bcf2246f4fcc55cc245bc5e532528d60cca2eee278de7ab5174dc2862db7982a2b36f SHA512 248066b521bf512b5d8e4a8c7e921464ce52169c954d6e4ca580d8c172cd789519e22b4cf56c212e452b4191741f0202019f7061d322c9433b5af9ce5413b567
DIST microcode-20240312.tar.gz 12825665 BLAKE2B 43c771becef0f6dbfd41bf78a9a3cc8f6679a43ea48765d0e7f555c138dca6e3db42a4d33f743d8d51f38b0b6aa69322bba0c00ae9f1ff4c533b52166ee54747 SHA512 f5f3dfb1706675060b00057b5f017c2cb4ac0df74727139185fd167ca67fc6c611e205b1caeded23b006e4d8d314f87537007e7bafba2c87373f6d960988c911
DIST microcode-20240514.tar.gz 12870457 BLAKE2B 2a3a357ecf8d9f17fd20cd651386e5687fbbca8a3a323caf846e7c84d440241c3c99cadd00016642c8d11f297c1d2ab63c54ea062644839b74f84d66b04c703e SHA512 1c0f1707bf7db70d04e94a0728c0f61a1f9c25fead8c2c3716cafd20c976973cf636e411d12f81b34bf0076d7c7601c11b1bcd92a2e1be35d98003bb61ace569
-EBUILD intel-microcode-20240312_p20240312.ebuild 10795 BLAKE2B 427592902681be109fb890df7eaff79bdb503f73efde056ebe091ca21cda92be342a9fdf12b19d83010c19e4e47aefd1d78b71ed6af51c796e64f4fcf929e52a SHA512 67a51f36545d50b59602a34d7b03cf2367c893125aed0dd290590f446551ef3d735277b22f86ba59e4a820ba6057fe081bdf603eb2a5adf8cd3ebe3c12dbd002
-EBUILD intel-microcode-20240514_p20240514.ebuild 10797 BLAKE2B 08843f1d8ec09ec3c7966be3b65ad1b91e4fee3d8e73323a44a98b25d5e52924115b90c336cab5b185b75d177cc4e3098f98b260ad9220331de828b6cad23bf2 SHA512 bb4cb4b13c53fc493cad5240e3aa6dc8f6cb02522994be10e0173cb31a18c3eb79c5a89a1b3f105445d2ee9472185fe690e8f11a9c047e20144d2e8dc1a625ec
+EBUILD intel-microcode-20240312_p20240312.ebuild 11405 BLAKE2B de40dc4ba660dbbcf048054f545ae411b7fb24f6280383fd4dbd855558f7695d2e8709d9d78d55d0669f0d48cbdbcab8a61b929ad60c30c6c635aa3a23f6e06e SHA512 962174d9ebe3c15f020e89577e85f1230f76c13a0c910aec25b15f7b73d025cdfe21873da621a35fff7580caaac504c57ab9501f543167c9b9e7740e556a2bf7
+EBUILD intel-microcode-20240514_p20240514.ebuild 11407 BLAKE2B 206a08021e04cbc1c9de7d5a225df5868e9ac356d33fcdd3430b20c52461feed12bdbf016a7da4bb92310b4b93f5fa757459d780997b9dd829c85bdb31d164fb SHA512 f298e2a764f26e7cfef07257868413ddf6422eec2c8170f4220c407445b747f2d7f2e875f7a8da4c5698752b2add8ca4fe307db38e4c695ec4e8ff9f075e3ebd
MISC metadata.xml 853 BLAKE2B b9103bc6c00cd36211b33060a28dc72159fa1309644f6dc8005c415c8eb435217f1e39ba70a289bf9f93a3edac7e73f2227bfe711e745f8743ae455e2d1caa4a SHA512 c425c341725210af9693ed50ae9b9f91cd4c44539f1abe5fff9f59c3441eed39aee6746c881f7a812aec1bab1a8c4974e111980211cf4cfb55e1bdb12e394631
diff --git a/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild b/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
index 5992eadefd5f..957da662f92e 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20240312_p20240312.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit linux-info mount-boot
+inherit dist-kernel-utils linux-info mount-boot
# Find updates by searching and clicking the first link (hopefully it's the one):
# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
@@ -44,13 +44,21 @@ S="${WORKDIR}"
LICENSE="intel-ucode"
SLOT="0"
KEYWORDS="-* amd64 x86"
-IUSE="hostonly initramfs +split-ucode vanilla"
-REQUIRED_USE="|| ( initramfs split-ucode )"
+IUSE="dist-kernel hostonly +initramfs +split-ucode vanilla"
+REQUIRED_USE="!dist-kernel? ( || ( initramfs split-ucode ) )"
RESTRICT="binchecks strip"
BDEPEND=">=sys-apps/iucode_tool-2.3"
# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
-RDEPEND="hostonly? ( sys-apps/iucode_tool )"
+RDEPEND="
+ dist-kernel? ( virtual/dist-kernel )
+ hostonly? ( sys-apps/iucode_tool )
+"
+IDEPEND="
+ dist-kernel? (
+ initramfs? ( sys-kernel/installkernel )
+ )
+"
# Blacklist bad microcode here.
# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
@@ -138,9 +146,18 @@ src_install() {
--list
)
+ # Instruct Dracut on whether or not we want the microcode in initramfs
+ # Use here 15 instead of 10, intel-microcode overwrites linux-firmware
+ (
+ insinto /usr/lib/dracut/dracut.conf.d
+ newins - 15-${PN}.conf <<<"early_microcode=$(usex initramfs)"
+ )
+
# The earlyfw cpio needs to be in /boot because it must be loaded before
# rootfs is mounted.
- use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+ if ! use dist-kernel && use initramfs; then
+ dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+ fi
keepdir /lib/firmware/intel-ucode
opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
@@ -194,7 +211,9 @@ pkg_preinst() {
# The earlyfw cpio needs to be in /boot because it must be loaded before
# rootfs is mounted.
- use initramfs && opts+=( --write-earlyfw=${_initramfs_file} )
+ if ! use dist-kernel && use initramfs; then
+ opts+=( --write-earlyfw=${_initramfs_file} )
+ fi
if use split-ucode; then
opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
@@ -265,7 +284,12 @@ pkg_postrm() {
pkg_postinst() {
# Don't forget to umount /boot if it was previously mounted by us.
- use initramfs && mount-boot_pkg_postinst
+ if use initramfs; then
+ if [[ -z ${ROOT} ]] && use dist-kernel; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+ mount-boot_pkg_postinst
+ fi
# We cannot give detailed information if user is affected or not:
# If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES
diff --git a/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild b/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild
index 418ab5cc22e2..c33321a94497 100644
--- a/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild
+++ b/sys-firmware/intel-microcode/intel-microcode-20240514_p20240514.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit linux-info mount-boot
+inherit dist-kernel-utils linux-info mount-boot
# Find updates by searching and clicking the first link (hopefully it's the one):
# https://www.intel.com/content/www/us/en/search.html?keyword=Processor+Microcode+Data+File
@@ -44,13 +44,21 @@ S="${WORKDIR}"
LICENSE="intel-ucode"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="hostonly initramfs +split-ucode vanilla"
-REQUIRED_USE="|| ( initramfs split-ucode )"
+IUSE="dist-kernel hostonly +initramfs +split-ucode vanilla"
+REQUIRED_USE="!dist-kernel? ( || ( initramfs split-ucode ) )"
RESTRICT="binchecks strip"
BDEPEND=">=sys-apps/iucode_tool-2.3"
# !<sys-apps/microcode-ctl-1.17-r2 due to bug #268586
-RDEPEND="hostonly? ( sys-apps/iucode_tool )"
+RDEPEND="
+ dist-kernel? ( virtual/dist-kernel )
+ hostonly? ( sys-apps/iucode_tool )
+"
+IDEPEND="
+ dist-kernel? (
+ initramfs? ( sys-kernel/installkernel )
+ )
+"
# Blacklist bad microcode here.
# 0x000406f1 aka 06-4f-01 aka CPUID 406F1 require newer microcode loader
@@ -138,9 +146,18 @@ src_install() {
--list
)
+ # Instruct Dracut on whether or not we want the microcode in initramfs
+ # Use here 15 instead of 10, intel-microcode overwrites linux-firmware
+ (
+ insinto /usr/lib/dracut/dracut.conf.d
+ newins - 15-${PN}.conf <<<"early_microcode=$(usex initramfs)"
+ )
+
# The earlyfw cpio needs to be in /boot because it must be loaded before
# rootfs is mounted.
- use initramfs && dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+ if ! use dist-kernel && use initramfs; then
+ dodir /boot && opts+=( --write-earlyfw="${ED}/boot/intel-uc.img" )
+ fi
keepdir /lib/firmware/intel-ucode
opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
@@ -194,7 +211,9 @@ pkg_preinst() {
# The earlyfw cpio needs to be in /boot because it must be loaded before
# rootfs is mounted.
- use initramfs && opts+=( --write-earlyfw=${_initramfs_file} )
+ if ! use dist-kernel && use initramfs; then
+ opts+=( --write-earlyfw=${_initramfs_file} )
+ fi
if use split-ucode; then
opts+=( --write-firmware="${ED}/lib/firmware/intel-ucode" )
@@ -265,7 +284,12 @@ pkg_postrm() {
pkg_postinst() {
# Don't forget to umount /boot if it was previously mounted by us.
- use initramfs && mount-boot_pkg_postinst
+ if use initramfs; then
+ if [[ -z ${ROOT} ]] && use dist-kernel; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+ mount-boot_pkg_postinst
+ fi
# We cannot give detailed information if user is affected or not:
# If MICROCODE_BLACKLIST wasn't modified, user can still use MICROCODE_SIGNATURES