LinuxBoot is a firmware that replaces specific firmware functionality like the UEFI DXE phase with a Linux kernel and runtime. At the end of the DXE phase, UEFI will hand over the control to the LinuxBoot kernel.
This package contains the LinuxBoot binary (flashkernel) which is built and added manually by following the instructions in the Readme.md ("Platform/Ampere/LinuxBootPkg/AArch64/Readme.md"). Cc: Thang Nguyen <th...@os.amperecomputing.com> Cc: Chuong Tran <chu...@os.amperecomputing.com> Cc: Phong Vo <ph...@os.amperecomputing.com> Cc: Leif Lindholm <l...@nuviainc.com> Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Signed-off-by: Nhi Pham <n...@os.amperecomputing.com> --- Platform/Ampere/LinuxBootPkg/LinuxBoot.inf | 17 ++++++++++++ Platform/Ampere/LinuxBootPkg/AArch64/Readme.md | 29 ++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/Platform/Ampere/LinuxBootPkg/LinuxBoot.inf b/Platform/Ampere/LinuxBootPkg/LinuxBoot.inf new file mode 100644 index 000000000000..5e8f6f83dfb2 --- /dev/null +++ b/Platform/Ampere/LinuxBootPkg/LinuxBoot.inf @@ -0,0 +1,17 @@ +## @file +# +# Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 0x0001001B + BASE_NAME = LinuxBoot + FILE_GUID = D834A5AD-459C-4AED-B0D0-8CBCB28838D7 + MODULE_TYPE = UEFI_APPLICATION + VERSION_STRING = 1.0 + +[Binaries.AArch64] + PE32|AArch64/flashkernel|* diff --git a/Platform/Ampere/LinuxBootPkg/AArch64/Readme.md b/Platform/Ampere/LinuxBootPkg/AArch64/Readme.md new file mode 100644 index 000000000000..92c6c3165eac --- /dev/null +++ b/Platform/Ampere/LinuxBootPkg/AArch64/Readme.md @@ -0,0 +1,29 @@ +# flashkernel + +The LinuxBoot image, named flashkernel, is required to build the final EDK2 image with LinuxBoot support. +The flashkernel image consists of [Linux](https://kernel.org) kernel and initramfs generated using [u-root](https://github.com/u-root/u-root). + +## Overview + +LinuxBoot is a firmware that replaces specific firmware functionality +like the UEFI DXE phase with a Linux kernel and runtime. It is built-in +UEFI image like an application as it will be executed at the end of DXE phase. + +The flashkernel is built completely from the [linuxboot/mainboards](https://github.com/linuxboot/mainboards) repository. + +## How to build + +1. Clone the `linuxboot/mainboards` repository: + + ```Bash + git clone https://github.com/linuxboot/mainboards.git + ``` + +2. Build with the following command: + + ```Bash + cd ampere/jade + make fetch flashkernel + ``` + +Once the build is done, copy the flashkernel into the edk2-platform under the `Platform/Ampere/LinuxBootPkg/AArch64` directory. -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75640): https://edk2.groups.io/g/devel/message/75640 Mute This Topic: https://groups.io/mt/83097180/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-