citadel/recipes-core/microcode/intel-microcode_20171117.bb
brl 5789f1b122 Squashed 'meta-intel/' content from commit c811c0b338
git-subtree-dir: meta-intel
git-subtree-split: c811c0b33862a2f911fe2afdd2054958b1f28e40
2017-12-04 16:35:46 -05:00

67 lines
2.3 KiB
BlitzBasic

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=e5199e4965078af6c7dee6aa7c5d8404"
SRC_URI = "https://downloadmirror.intel.com/27337/eng/microcode-${PV}.tgz"
SRC_URI[md5sum] = "b294245d1f7f6c20f01edba53185f258"
SRC_URI[sha256sum] = "93bd1da9fa58ece0016702e657f708b7e496e56da637a3fe9a6d21f1d6f524dc"
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}"