From 7969d8e442bdefd8036a334ca9d9ce133272399b Mon Sep 17 00:00:00 2001 From: Juro Bystricky Date: Wed, 10 Jan 2018 15:28:49 -0800 Subject: intel-microcode: update to 20180108 Signed-off-by: Juro Bystricky Signed-off-by: California Sullivan --- recipes-core/microcode/intel-microcode_20180108.bb | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 recipes-core/microcode/intel-microcode_20180108.bb (limited to 'recipes-core/microcode/intel-microcode_20180108.bb') diff --git a/recipes-core/microcode/intel-microcode_20180108.bb b/recipes-core/microcode/intel-microcode_20180108.bb new file mode 100644 index 00000000..f940a55b --- /dev/null +++ b/recipes-core/microcode/intel-microcode_20180108.bb @@ -0,0 +1,66 @@ +SUMMARY = "Intel Processor Microcode Datafile for Linux" +HOMEPAGE = "http://www.intel.com/" +DESCRIPTION = "The microcode data file contains the latest microcode\ + definitions for all Intel processors. Intel releases microcode updates\ + to correct processor behavior as documented in the respective processor\ + specification updates. While the regular approach to getting this microcode\ + update is via a BIOS upgrade, Intel realizes that this can be an\ + administrative hassle. The Linux operating system and VMware ESX\ + products have a mechanism to update the microcode after booting.\ + For example, this file will be used by the operating system mechanism\ + if the file is placed in the /etc/firmware directory of the Linux system." + +LICENSE = "Intel-Microcode-License" +LIC_FILES_CHKSUM = "file://microcode.dat;endline=33;md5=57d3c3c310f8debda2b0ca5baba67298" + +SRC_URI = "https://downloadmirror.intel.com/27431/eng/microcode-${PV}.tgz" +SRC_URI[md5sum] = "871df55f0ab010ee384dabfc424f2c12" +SRC_URI[sha256sum] = "063f1aa3a546cb49323a5e0b516894e4b040007107b8c8ff017aca8a86204130" + +DEPENDS = "iucode-tool-native" +S = "${WORKDIR}" + +COMPATIBLE_HOST = "(i.86|x86_64).*-linux" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit deploy + +# Use any of the iucode_tool parameters to filter specific microcodes from the data file +# For further information, check the iucode-tool's manpage : http://manned.org/iucode-tool +UCODE_FILTER_PARAMETERS ?= "" + +do_compile() { + mkdir -p ${WORKDIR}/ucode/kernel/x86/microcode + ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ + ${UCODE_FILTER_PARAMETERS} \ + --overwrite \ + --write-to=${WORKDIR}/microcode_${PV}.bin \ + ${WORKDIR}/microcode.dat + + ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ + ${UCODE_FILTER_PARAMETERS} \ + --overwrite \ + --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \ + ${WORKDIR}/microcode.dat +} + +do_install() { + install -d ${D}${base_libdir}/firmware/intel-ucode/ + install ${WORKDIR}/microcode_${PV}.bin ${D}${base_libdir}/firmware/intel-ucode/ + cd ${D}${base_libdir}/firmware/intel-ucode/ + ln -sf microcode_${PV}.bin microcode.bin +} + +do_deploy() { + install -d ${DEPLOYDIR} + install ${S}/microcode_${PV}.cpio ${DEPLOYDIR}/ + cd ${DEPLOYDIR} + rm -f microcode.cpio + ln -sf microcode_${PV}.cpio microcode.cpio +} + +addtask deploy before do_build after do_compile + +PACKAGES = "${PN}" + +FILES_${PN} = "${base_libdir}" -- cgit v1.2.3-54-g00ecf