summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-08-11 02:06:23 -0400
committerMike Frysinger <vapier@gentoo.org>2015-08-11 02:18:13 -0400
commit9a1061d10668da791a31a0c79b0c352eccfc3da3 (patch)
tree499ca276ac586e792cd9213defd1cac3ae82a01c /sys-apps
parentmicrocode-data: add USE flags to control install of file sets #403119 (diff)
downloadgentoo-9a1061d10668da791a31a0c79b0c352eccfc3da3.tar.gz
gentoo-9a1061d10668da791a31a0c79b0c352eccfc3da3.tar.bz2
gentoo-9a1061d10668da791a31a0c79b0c352eccfc3da3.zip
microcode-data: add USE=initramfs #528712
This flag quickly generates a small initramfs that the kernel needs to load the microcode at boot time. This way people don't have to figure out the right incantations themselves.
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/microcode-data/metadata.xml1
-rw-r--r--sys-apps/microcode-data/microcode-data-20150121-r1.ebuild9
2 files changed, 8 insertions, 2 deletions
diff --git a/sys-apps/microcode-data/metadata.xml b/sys-apps/microcode-data/metadata.xml
index 09a573a327e1..4cf02687d1a8 100644
--- a/sys-apps/microcode-data/metadata.xml
+++ b/sys-apps/microcode-data/metadata.xml
@@ -3,6 +3,7 @@
<pkgmetadata>
<herd>base-system</herd>
<use>
+ <flag name='initramfs'>install a small initramfs for use with CONFIG_MICROCODE_EARLY</flag>
<flag name='monolithic'>install the large text microcode.dat (used by older kernels via microcode_ctl)</flag>
<flag name='split-ucode'>install the split binary ucode files (used by the kernel directly)</flag>
</use>
diff --git a/sys-apps/microcode-data/microcode-data-20150121-r1.ebuild b/sys-apps/microcode-data/microcode-data-20150121-r1.ebuild
index ca78889a2884..70a89d75b947 100644
--- a/sys-apps/microcode-data/microcode-data-20150121-r1.ebuild
+++ b/sys-apps/microcode-data/microcode-data-20150121-r1.ebuild
@@ -17,8 +17,8 @@ SRC_URI="http://downloadmirror.intel.com/${NUM}/eng/microcode-${PV}.tgz"
LICENSE="intel-ucode"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="monolithic +split-ucode"
-REQUIRED_USE="|| ( monolithic split-ucode )"
+IUSE="initramfs monolithic +split-ucode"
+REQUIRED_USE="|| ( initramfs monolithic split-ucode )"
RDEPEND="!<sys-apps/microcode-ctl-1.17-r2" #268586
@@ -30,6 +30,10 @@ src_unpack() {
}
src_compile() {
+ if use initramfs ; then
+ iucode_tool --write-earlyfw=microcode.cpio microcode.dat || die
+ fi
+
if use split-ucode ; then
tc-env_build emake intel-microcode2ucode
./intel-microcode2ucode microcode.dat || die
@@ -38,6 +42,7 @@ src_compile() {
src_install() {
insinto /lib/firmware
+ use initramfs && doins microcode.cpio
use monolithic && doins microcode.dat
use split-ucode && doins -r intel-ucode
}