[meta-intel] [Patch v5 3/5] intel-microcode: a recipe for Intel microcode datafile

Tom Zanussi tom.zanussi at intel.com
Tue Sep 2 08:43:26 PDT 2014


On Fri, 2014-08-29 at 10:22 -0700, nitin.a.kamble at intel.com wrote:
> From: Nitin A Kamble <nitin.a.kamble at intel.com>
> 
> 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 ]
> 

The last entry in this bug says that the microcode recipe can go away,
so why is this needed?

Tom

> Signed-off-by: Ross Burton <ross.burton at intel.com>
> Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
> ---
>  common/custom-licenses/Intel-Microcode-License     | 123 +++++++++++++++++++++
>  .../microcode/intel-microcode_20140624.bb          |  52 +++++++++
>  2 files changed, 175 insertions(+)
>  create mode 100644 common/custom-licenses/Intel-Microcode-License
>  create mode 100644 common/recipes-core/microcode/intel-microcode_20140624.bb
> 
> diff --git a/common/custom-licenses/Intel-Microcode-License b/common/custom-licenses/Intel-Microcode-License
> new file mode 100644
> index 0000000..af5b41c
> --- /dev/null
> +++ b/common/custom-licenses/Intel-Microcode-License
> @@ -0,0 +1,123 @@
> +INTEL SOFTWARE LICENSE AGREEMENT 
> +
> +IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING. 
> +Do not use or load this software and any associated materials (collectively, 
> +the "Software") until you have carefully read the following terms and 
> +conditions. By loading or using the Software, you agree to the terms of this 
> +Agreement. If you do not wish to so agree, do not install or use the Software.
> +
> +LICENSES: Please Note:
> +- If you are a network administrator, the "Site License" below shall 
> +apply to you.
> +- If you are an end user, the "Single User License" shall apply to you.
> +- If you are an original equipment manufacturer (OEM), the "OEM License" 
> +shall apply to you.
> +
> +SITE LICENSE. You may copy the Software onto your organization's computers 
> +for your organization's use, and you may make a reasonable number of 
> +back-up copies of the Software, subject to these conditions:
> +
> +1. This Software is licensed for use only in conjunction with Intel 
> +component products. Use of the Software in conjunction with non-Intel 
> +component products is not licensed hereunder. 
> +2. You may not copy, modify, rent, sell, distribute or transfer any part 
> +of the Software except as provided in this Agreement, and you agree to 
> +prevent unauthorized copying of the Software.
> +3. You may not reverse engineer, decompile, or disassemble the Software. 
> +4. You may not sublicense or permit simultaneous use of the Software by 
> +more than one user.
> +5. The Software may include portions offered on terms in addition to those
> +set out here, as set out in a license accompanying those portions. 
> +
> +SINGLE USER LICENSE. You may copy the Software onto a single computer for 
> +your personal, noncommercial use, and you may make one back-up copy of the
> +Software, subject to these conditions:
> +
> +1. This Software is licensed for use only in conjunction with Intel 
> +component products. Use of the Software in conjunction with non-Intel 
> +component products is not licensed hereunder. 
> +2. You may not copy, modify, rent, sell, distribute or transfer any part 
> +of the Software except as provided in this Agreement, and you agree to 
> +prevent unauthorized copying of the Software.
> +3. You may not reverse engineer, decompile, or disassemble the Software. 
> +4. You may not sublicense or permit simultaneous use of the Software by 
> +more than one user.
> +5. The Software may include portions offered on terms in addition to those
> +set out here, as set out in a license accompanying those portions. 
> +
> +OEM LICENSE: You may reproduce and distribute the Software only as an 
> +integral part of or incorporated in Your product or as a standalone 
> +Software maintenance update for existing end users of Your products, 
> +excluding any other standalone products, subject to these conditions:
> +
> +1. This Software is licensed for use only in conjunction with Intel 
> +component products. Use of the Software in conjunction with non-Intel 
> +component products is not licensed hereunder.
> +2. You may not copy, modify, rent, sell, distribute or transfer any part 
> +of the Software except as provided in this Agreement, and you agree to 
> +prevent unauthorized copying of the Software.
> +3. You may not reverse engineer, decompile, or disassemble the Software. 
> +4. You may only distribute the Software to your customers pursuant to a 
> +written license agreement. Such license agreement may be a "break-the-
> +seal" license agreement. At a minimum such license shall safeguard 
> +Intel's ownership rights to the Software.
> +5. The Software may include portions offered on terms in addition to those
> +set out here, as set out in a license accompanying those portions.
> +
> +NO OTHER RIGHTS. No rights or licenses are granted by Intel to You, expressly 
> +or by implication, with respect to any proprietary information or patent, 
> +copyright, mask work, trademark, trade secret, or other intellectual property
> +right owned or controlled by Intel, except as expressly provided in this 
> +Agreement.
> +
> +OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software 
> +remains with Intel or its suppliers. The Software is copyrighted and 
> +protected by the laws of the United States and other countries, and 
> +international treaty provisions. You may not remove any copyright notices 
> +from the Software. Intel may make changes to the Software, or to items 
> +referenced therein, at any time without notice, but is not obligated to 
> +support or update the Software. Except as otherwise expressly provided, Intel
> +grants no express or implied right under Intel patents, copyrights, 
> +trademarks, or other intellectual property rights. You may transfer the 
> +Software only if the recipient agrees to be fully bound by these terms and if 
> +you retain no copies of the Software.
> +
> +LIMITED MEDIA WARRANTY. If the Software has been delivered by Intel on 
> +physical media, Intel warrants the media to be free from material physical 
> +defects for a period of ninety days after delivery by Intel. If such a defect 
> +is found, return the media to Intel for replacement or alternate delivery of 
> +the Software as Intel may select.
> +
> +EXCLUSION OF OTHER WARRANTIES. EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS 
> +PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND 
> +INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A 
> +PARTICULAR PURPOSE. Intel does not warrant or assume responsibility for the 
> +accuracy or completeness of any information, text, graphics, links or other 
> +items contained within the Software.
> +
> +LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE 
> +FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, 
> +BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR 
> +INABILITY TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE 
> +POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR 
> +LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL 
> +DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE 
> +OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION. 
> +
> +TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time
> +if you violate its terms. Upon termination, you will immediately destroy the 
> +Software or return all copies of the Software to Intel.
> +
> +APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the
> +laws of California, excluding its principles of conflict of laws and the 
> +United Nations Convention on Contracts for the Sale of Goods. You may not 
> +export the Software in violation of applicable export laws and regulations. 
> +Intel is not obligated under any other agreements unless they are in writing 
> +and signed by an authorized representative of Intel.
> +
> +GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED 
> +RIGHTS." Use, duplication, or disclosure by the Government is subject to 
> +restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its
> +successor. Use of the Software by the Government constitutes acknowledgment 
> +of Intel's proprietary rights therein. Contractor or Manufacturer is Intel
> +2200 Mission College Blvd., Santa Clara, CA 95052. 
> 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 0000000..b01d8a5
> --- /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}"




More information about the meta-intel mailing list