summaryrefslogtreecommitdiffstats
path: root/recipes-core/microcode/intel-microcode_20180703.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/microcode/intel-microcode_20180703.bb')
-rw-r--r--recipes-core/microcode/intel-microcode_20180703.bb68
1 files changed, 68 insertions, 0 deletions
diff --git a/recipes-core/microcode/intel-microcode_20180703.bb b/recipes-core/microcode/intel-microcode_20180703.bb
new file mode 100644
index 0000000..28449e3
--- /dev/null
+++ b/recipes-core/microcode/intel-microcode_20180703.bb
@@ -0,0 +1,68 @@
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://Intel-Microcode-License;md5=9052c0dbf7250dc0bef70bd8212b0573"
15
16SRC_URI = "https://downloadmirror.intel.com/27945/eng/microcode-${PV}.tgz \
17 file://Intel-Microcode-License \
18 "
19
20SRC_URI[md5sum] = "873f2bdd7c0edf317f416f54fee74b42"
21SRC_URI[sha256sum] = "4a1a346fdf48e1626d4c9d0d47bbbc6a4052f56e359c85a3dd2d10fd555e5938"
22DEPENDS = "iucode-tool-native"
23S = "${WORKDIR}"
24
25COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
26PACKAGE_ARCH = "${MACHINE_ARCH}"
27
28inherit deploy
29
30# Use any of the iucode_tool parameters to filter specific microcodes from the data file
31# For further information, check the iucode-tool's manpage : http://manned.org/iucode-tool
32UCODE_FILTER_PARAMETERS ?= ""
33
34do_compile() {
35 rm -f ${WORKDIR}/intel-ucode/list
36 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
37 ${UCODE_FILTER_PARAMETERS} \
38 --overwrite \
39 --write-to=${WORKDIR}/microcode_${PV}.bin \
40 ${WORKDIR}/intel-ucode/*
41
42 ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \
43 ${UCODE_FILTER_PARAMETERS} \
44 --overwrite \
45 --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \
46 ${WORKDIR}/intel-ucode/*
47}
48
49do_install() {
50 install -d ${D}${base_libdir}/firmware/intel-ucode/
51 install ${WORKDIR}/microcode_${PV}.bin ${D}${base_libdir}/firmware/intel-ucode/
52 cd ${D}${base_libdir}/firmware/intel-ucode/
53 ln -sf microcode_${PV}.bin microcode.bin
54}
55
56do_deploy() {
57 install -d ${DEPLOYDIR}
58 install ${S}/microcode_${PV}.cpio ${DEPLOYDIR}/
59 cd ${DEPLOYDIR}
60 rm -f microcode.cpio
61 ln -sf microcode_${PV}.cpio microcode.cpio
62}
63
64addtask deploy before do_build after do_compile
65
66PACKAGES = "${PN}"
67
68FILES_${PN} = "${base_libdir}"