[edk2-devel] [edk2-platforms][PATCH v2 31/32] Platform/Ampere: Introduce the LinuxBootPkg

Nhi Pham via groups.io nhi=os.amperecomputing.com at groups.io
Wed May 26 10:07:23 UTC 2021


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 <thang at os.amperecomputing.com>
Cc: Chuong Tran <chuong at os.amperecomputing.com>
Cc: Phong Vo <phong at os.amperecomputing.com>
Cc: Leif Lindholm <leif at nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney at intel.com>
Cc: Ard Biesheuvel <ardb+tianocore at kernel.org>
Cc: Nate DeSimone <nathaniel.l.desimone at intel.com>

Signed-off-by: Nhi Pham <nhi at 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/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list