From 7a6c460519c7d5424b512ef1929b3b0694a282ef Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Tue, 17 Jun 2014 18:03:51 -0700 Subject: intel-microcode: a recipe for Intel microcode datafile This recipe provides the microcode datafile for Intel Processors. The recipe provides: 1. microcode.dat file for microcode updating from user space with the iucode-tool utility. 2. the microcode cpio file which gets bundled with the initrd to support microcode loading at early boot time. [ YOCTO #5114 ] Signed-off-by: Ross Burton Signed-off-by: Nitin A Kamble Acked-by: Darren Hart Signed-off-by: Tom Zanussi --- .../microcode/intel-microcode_20140624.bb | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 common/recipes-core/microcode/intel-microcode_20140624.bb (limited to 'common/recipes-core') diff --git a/common/recipes-core/microcode/intel-microcode_20140624.bb b/common/recipes-core/microcode/intel-microcode_20140624.bb new file mode 100644 index 00000000..b01d8a52 --- /dev/null +++ b/common/recipes-core/microcode/intel-microcode_20140624.bb @@ -0,0 +1,52 @@ +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;md5=3c3b208607a00a3d70aad3af5629f7c7" + +SRC_URI = "http://downloadmirror.intel.com/23984/eng/microcode-20140624.tgz" +SRC_URI[md5sum] = "eec20032e6bef99dc4282c0ca317e100" +SRC_URI[sha256sum] = "b4662ac780438a7b2d87e6d26a7066feb807f37c6e5b6fa147089f4edb02ea37" + +DEPENDS = "iucode-tool-native" +S = "${WORKDIR}" + +inherit allarch +inherit deploy + +do_compile() { + mkdir -p ${WORKDIR}/ucode/kernel/x86/microcode + ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool --overwrite --write-to=${WORKDIR}/microcode_${PV}.bin ${WORKDIR}/microcode.dat + + ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool --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