From 430bea64c39c1a323568155f7896ec7ae1ee7bf1 Mon Sep 17 00:00:00 2001 From: Rolf Neugebauer Date: Fri, 12 Jan 2018 18:31:17 +0000 Subject: [PATCH] kernel: Build the Intel ucode cpio archive and add to the kernel package DOwnload and verify the Intel microcode package and convert it to a cpio archive which can be prepended to the initrd. It also adds the license file to the kernel package. Signed-off-by: Rolf Neugebauer --- kernel/Dockerfile | 14 +- kernel/ucode/intel-ucode-license.txt | 219 +++++++++++++++++++++++++++ kernel/ucode/intel-ucode-md5sums | 1 + 3 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 kernel/ucode/intel-ucode-license.txt create mode 100644 kernel/ucode/intel-ucode-md5sums diff --git a/kernel/Dockerfile b/kernel/Dockerfile index 44b8a6b1d..920304c4f 100644 --- a/kernel/Dockerfile +++ b/kernel/Dockerfile @@ -1,4 +1,4 @@ -FROM linuxkit/alpine:d307c8a386fa3f32cddda9409b9687e191cdd6f1 AS kernel-build +FROM linuxkit/alpine:34518265c6cb63ff02074549cc5b64bef40c336f AS kernel-build RUN apk add \ argp-standalone \ automake \ @@ -157,6 +157,18 @@ RUN if [ "${KERNEL_SERIES}" != "4.4.x" ]; then \ cp /build/perf/perf /out; \ fi +# Download Intel ucode and create a CPIO archive for it +ENV UCODE_URL=https://downloadmirror.intel.com/27431/eng/microcode-20180108.tgz +RUN set -e && \ + if [ $(uname -m) == x86_64 ]; then \ + cd /ucode && \ + curl -sSL -o microcode.tar.gz ${UCODE_URL} && \ + md5sum -c intel-ucode-md5sums && \ + tar xf microcode.tar.gz && \ + iucode_tool --normal-earlyfw --write-earlyfw=/out/intel-ucode.cpio ./intel-ucode && \ + cp intel-ucode-license.txt /out; \ + fi + FROM scratch ENTRYPOINT [] CMD [] diff --git a/kernel/ucode/intel-ucode-license.txt b/kernel/ucode/intel-ucode-license.txt new file mode 100644 index 000000000..c2d829a74 --- /dev/null +++ b/kernel/ucode/intel-ucode-license.txt @@ -0,0 +1,219 @@ +The terms of the software license agreement included with any software you download will control your use of the software. + +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. + +I accept the terms in the license agreement + +I do not accept the terms in the license agreement + diff --git a/kernel/ucode/intel-ucode-md5sums b/kernel/ucode/intel-ucode-md5sums new file mode 100644 index 000000000..f9cc9799f --- /dev/null +++ b/kernel/ucode/intel-ucode-md5sums @@ -0,0 +1 @@ +871df55f0ab010ee384dabfc424f2c12 microcode.tar.gz