]>
Commit | Line | Data |
---|---|---|
04af8bf2 DG |
1 | ================================================================================\r |
2 | Build And Integration Instructions\r | |
7c4ab1c2 | 3 | 2020 Aug 1st\r |
04af8bf2 DG |
4 | ================================================================================\r |
5 | \r | |
6 | ================================================================================\r | |
7 | DISCLAIMER\r | |
8 | ================================================================================\r | |
9 | This release note as well as the software described in it is furnished under license\r | |
10 | and may only be used or copied in accordance with the terms of the license. The\r | |
11 | information in this manual is furnished for informational use only, is subject to\r | |
12 | change without notice, and should not be construed as a commitment by Intel Corporation.\r | |
13 | Intel Corporation assumes no responsibility or liability for any errors or inaccuracies\r | |
14 | that may appear in this document or any software that may be provided in association\r | |
15 | with this document.\r | |
16 | Except as permitted by such license, no part of this document may be reproduced,\r | |
17 | stored in a retrieval system, or transmitted in any form or by any means without\r | |
18 | the express written consent of Intel Corporation.\r | |
19 | \r | |
20 | ================================================================================\r | |
21 | INDEX\r | |
22 | ================================================================================\r | |
23 | A. INTRODUCTION\r | |
24 | B. HOW TO BUILD\r | |
25 | C. HOW TO INTEGRATE INTO COREBOOT\r | |
26 | D. HOW TO INTEGRATE INTO SLIM BOOTLOADER\r | |
27 | \r | |
28 | ================================================================================\r | |
29 | A. INTRODUCTION\r | |
30 | ================================================================================\r | |
31 | This document provides instructions on how to build UEFI Payload and how to\r | |
32 | integrate it into coreboot or Slim Bootloader firmware.\r | |
33 | \r | |
34 | ================================================================================\r | |
35 | B. HOW TO BUILD\r | |
36 | ================================================================================\r | |
37 | 1. Run the below two commands in windows command prompt window:\r | |
7c4ab1c2 | 38 | > edksetup.bat\r |
04af8bf2 | 39 | \r |
7c4ab1c2 | 40 | For pure X64 build:\r |
449eb01a | 41 | > build -a X64 -p UefiPayloadPkg\UefiPayloadPkg.dsc -b <BuildType> -t <ToolChain>\r |
7c4ab1c2 | 42 | -D BOOTLOADER=<Bootloader>\r |
04af8bf2 | 43 | \r |
7c4ab1c2 GD |
44 | For X64 build with IA32 entry point:\r |
45 | > build -a IA32 -a X64 -p UefiPayloadPkg\UefiPayloadPkg.dsc -b <BuildType> -t <ToolChain>\r | |
46 | -D BOOTLOADER=<Bootloader>\r | |
04af8bf2 | 47 | \r |
7c4ab1c2 GD |
48 | <BuildType> support 'DEBUG', 'RELEASE' and 'NOOPT'.\r |
49 | <ToolChain> is the EDK II build environment on your host. Tested with VS2015x86 toolchain.\r | |
04af8bf2 DG |
50 | <Bootloader> could be "SBL" for Slim Bootloader and "COREBOOT" for coreboot.\r |
51 | \r | |
52 | Refer to https://github.com/tianocore/tianocore.github.io/wiki/UDK2018-How-to-Build for\r | |
53 | details about EDK II build steps.\r | |
54 | \r | |
7c4ab1c2 GD |
55 | NOTE: Pure 32bit UEFI payload support could be added if required later.\r |
56 | \r | |
04af8bf2 DG |
57 | 2. If build is successfully, the payload image (UEFIPAYLOAD.fd) will be generated inside the\r |
58 | folder of Build\UefiPayloadPkg.\r | |
59 | \r | |
60 | ================================================================================\r | |
61 | C. HOW TO INTEGRATE INTO COREBOOT\r | |
62 | ================================================================================\r | |
63 | 1. Copy the payload image (UEFIPAYLOAD.fd) into the top-level directory of Coreboot source tree.\r | |
64 | 2. Run "make menuconfig" in linux console to start Coreboot configuration surface.\r | |
65 | 3. In the Payload section,\r | |
7c4ab1c2 GD |
66 | 1) Choose "Tianocore Payload" for the option of "Add a payload".\r |
67 | 2) Update the path of payload image for the option of "Tianocore binary".\r | |
68 | 3) Choose "UEFIPayload" for the option of "Tianocore Payload".\r | |
04af8bf2 DG |
69 | 4. If the graphics console is required in UEFI payload, enable framebuffer initialization in coreboot.\r |
70 | This could be done by enabling native graphics or using VGA BIOS option rom.\r | |
71 | 5. Build the coreboot firmware image.\r | |
85a678bf LA |
72 | 6. If meet build error "E: Not a usable UEFI firmware volume.", please update Coreboot source tree\r |
73 | to the latest, or refer https://review.coreboot.org/c/coreboot/+/57296\r | |
04af8bf2 DG |
74 | \r |
75 | ================================================================================\r | |
76 | D. HOW TO INTEGRATE INTO SLIM BOOTLOADER\r | |
77 | ================================================================================\r | |
78 | Please refer https://slimbootloader.github.io/how-tos/integrate-multiple-payloads.html for below steps.\r | |
79 | 1. Copy the payload image (UEFIPAYLOAD.fd) into Slim Bootloader source at PayloadPkg\PayloadBins\UefiPld.fd\r | |
80 | 2. Update config data to make UEFI payload as default payload if required.\r | |
81 | 3. Build Slim Bootloader with UEFI payload:\r | |
82 | BuildLoader.py build <Platform> -p "OsLoader.efi:LLDR:Lz4;UefiPld.fd:UEFI:Lzma"\r |