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