]>
Commit | Line | Data |
---|---|---|
04af8bf2 DG |
1 | ================================================================================\r |
2 | Build And Integration Instructions\r | |
3 | 2019 March 27th\r | |
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 | |
38 | edksetup.bat\r | |
39 | \r | |
40 | For debug ia32 build:\r | |
41 | build -a IA32 -p UefiPayloadPkg\UefiPayloadPkgIa32.dsc -b DEBUG -t <ToolChain> -D BOOTLOADER=<Bootloader>\r | |
42 | \r | |
43 | For release ia32 build:\r | |
44 | build -a IA32 -p UefiPayloadPkg\UefiPayloadPkgIa32.dsc -b RELEASE -t <ToolChain> -D BOOTLOADER=<Bootloader>\r | |
45 | \r | |
46 | For debug X64 build:\r | |
47 | build -a IA32 -a X64 -p UefiPayloadPkg\UefiPayloadPkgIa32X64.dsc -b DEBUG -t <ToolChain> -D BOOTLOADER=<Bootloader>\r | |
48 | \r | |
49 | For release X64 build:\r | |
50 | build -a IA32 -a X64 -p UefiPayloadPkg\UefiPayloadPkgIa32X64.dsc -b RELEASE -t <ToolChain> -D BOOTLOADER=<Bootloader>\r | |
51 | \r | |
52 | <ToolChain> is the EDK II build environment on your host. Currently it was tested\r | |
53 | with VS2015x86 toolchain.\r | |
54 | <Bootloader> could be "SBL" for Slim Bootloader and "COREBOOT" for coreboot.\r | |
55 | \r | |
56 | Refer to https://github.com/tianocore/tianocore.github.io/wiki/UDK2018-How-to-Build for\r | |
57 | details about EDK II build steps.\r | |
58 | \r | |
59 | 2. If build is successfully, the payload image (UEFIPAYLOAD.fd) will be generated inside the\r | |
60 | folder of Build\UefiPayloadPkg.\r | |
61 | \r | |
62 | ================================================================================\r | |
63 | C. HOW TO INTEGRATE INTO COREBOOT\r | |
64 | ================================================================================\r | |
65 | 1. Copy the payload image (UEFIPAYLOAD.fd) into the top-level directory of Coreboot source tree.\r | |
66 | 2. Run "make menuconfig" in linux console to start Coreboot configuration surface.\r | |
67 | 3. In the Payload section,\r | |
68 | 1) Choose "An ELF executable payload" for the option of "Add a payload".\r | |
69 | 2) Type the path of payload image for the option of "Payload path and filename".\r | |
70 | 3) Select the option of "Use LZMA compression for payloads".\r | |
71 | 4. If the graphics console is required in UEFI payload, enable framebuffer initialization in coreboot.\r | |
72 | This could be done by enabling native graphics or using VGA BIOS option rom.\r | |
73 | 5. Build the coreboot firmware image.\r | |
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 |