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

Nhi Pham via groups.io posted 32 patches 4 years, 8 months ago
There is a newer version of this series
[edk2-devel] [edk2-platforms][PATCH v2 31/32] Platform/Ampere: Introduce the LinuxBootPkg
Posted by Nhi Pham via groups.io 4 years, 8 months ago
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@os.amperecomputing.com>
Cc: Chuong Tran <chuong@os.amperecomputing.com>
Cc: Phong Vo <phong@os.amperecomputing.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>

Signed-off-by: Nhi Pham <nhi@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [edk2-platforms][PATCH v2 31/32] Platform/Ampere: Introduce the LinuxBootPkg
Posted by Leif Lindholm 4 years, 8 months ago
On Wed, May 26, 2021 at 17:07:23 +0700, Nhi Pham wrote:
> 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@os.amperecomputing.com>
> Cc: Chuong Tran <chuong@os.amperecomputing.com>
> Cc: Phong Vo <phong@os.amperecomputing.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> 
> Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>

Reviewed-by: Leif Lindholm <leif@nuviainc.com>

/
    Leif

> ---
>  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 (#76169): https://edk2.groups.io/g/devel/message/76169
Mute This Topic: https://groups.io/mt/83097180/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-