summaryrefslogtreecommitdiffstats
path: root/recipes-core/microcode/intel-microcode_20180312.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/microcode/intel-microcode_20180312.bb')
-rw-r--r--recipes-core/microcode/intel-microcode_20180312.bb65
1 files changed, 65 insertions, 0 deletions
diff --git a/recipes-core/microcode/intel-microcode_20180312.bb b/recipes-core/microcode/intel-microcode_20180312.bb
new file mode 100644
index 0000000..238d09f
--- /dev/null
+++ b/recipes-core/microcode/intel-microcode_20180312.bb
@@ -0,0 +1,65 @@
1SUMMARY = "Intel Processor Microcode Datafile for Linux"
2HOMEPAGE = "http://www.intel.com/"
3DESCRIPTION = "The microcode data file contains the latest microcode\
4 definitions for all Intel processors. Intel releases microcode updates\
5 to correct processor behavior as documented in the respective processor\
6 specification updates. While the regular approach to getting this microcode\
7 update is via a BIOS upgrade, Intel realizes that this can be an\
8 administrative hassle. The Linux operating system and VMware ESX\
9 products have a mechanism to update the microcode after booting.\
10 For example, this file will be used by the operating system mechanism\
11 if the file is placed in the /etc/firmware directory of the Linux system."
12
13LICENSE = "Intel-Microcode-License"
14LIC_FILES_CHKSUM = "file://microcode.dat;endline=33;md5=57d3c3c310f8debda2b0ca5baba67298"
15
16SRC_URI = "https://downloadmirror.intel.com/27591/eng/microcode-${PV}.tgz"
17SRC_URI[md5sum] = "be315cd99a7ca392a2f917ceacbe14f2"
18SRC_URI[sha256sum] = "0b381face2df1b0a829dc4fa8fa93f47f39e11b1c9c22ebd44f8614657c1e779"
19DEPENDS = "iucode-tool-native"
20S = "${WORKDIR}"
21
22COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
23PACKAGE_ARCH = "${MACHINE_ARCH}"
24
25inherit deploy
26
27# Use any of the iucode_tool parameters to filter specific microcodes from the data file
28# For further information, check the iucode-tool's manpage : http://manned.org/iucode-tool
29UCODE_FILTER_PARAMETERS ?= ""
30
31do_compile() {
32 mkdir -p ${WORKDIR}/ucode/kernel/x86/microcode
33 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
34 ${UCODE_FILTER_PARAMETERS} \
35 --overwrite \
36 --write-to=${WORKDIR}/microcode_${PV}.bin \
37 ${WORKDIR}/microcode.dat
38
39 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
40 ${UCODE_FILTER_PARAMETERS} \
41 --overwrite \
42 --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \
43 ${WORKDIR}/microcode.dat
44}
45
46do_install() {
47 install -d ${D}${base_libdir}/firmware/intel-ucode/
48 install ${WORKDIR}/microcode_${PV}.bin ${D}${base_libdir}/firmware/intel-ucode/
49 cd ${D}${base_libdir}/firmware/intel-ucode/
50 ln -sf microcode_${PV}.bin microcode.bin
51}
52
53do_deploy() {
54 install -d ${DEPLOYDIR}
55 install ${S}/microcode_${PV}.cpio ${DEPLOYDIR}/
56 cd ${DEPLOYDIR}
57 rm -f microcode.cpio
58 ln -sf microcode_${PV}.cpio microcode.cpio
59}
60
61addtask deploy before do_build after do_compile
62
63PACKAGES = "${PN}"
64
65FILES_${PN} = "${base_libdir}"