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

Leif Lindholm leif at nuviainc.com
Mon Jun 7 23:51:50 UTC 2021


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 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>

Reviewed-by: Leif Lindholm <leif at 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/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