public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chiu, Chasel" <chasel.chiu@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Kubacki, Michael A" <michael.a.kubacki@intel.com>
Cc: "Agyeman, Prince" <prince.agyeman@intel.com>,
	"Bi, Dandan" <dandan.bi@intel.com>,
	"Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>,
	"Sinha, Ankit" <ankit.sinha@intel.com>,
	"Wei, David Y" <david.y.wei@intel.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH V2 1/1] Platform/Intel/Readme.md: Content update
Date: Mon, 16 Sep 2019 06:40:27 +0000	[thread overview]
Message-ID: <3C3EFB470A303B4AB093197B6777CCEC504D02DB@PGSMSX111.gar.corp.intel.com> (raw)
In-Reply-To: <20190914020901.50404-1-michael.a.kubacki@intel.com>


Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Kubacki,
> Michael A
> Sent: Saturday, September 14, 2019 10:09 AM
> To: devel@edk2.groups.io
> Cc: Agyeman, Prince <prince.agyeman@intel.com>; Bi, Dandan
> <dandan.bi@intel.com>; Chaganty, Rangasai V
> <rangasai.v.chaganty@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Gao,
> Liming <liming.gao@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; Wei,
> David Y <david.y.wei@intel.com>
> Subject: [edk2-devel] [edk2-platforms][PATCH V2 1/1]
> Platform/Intel/Readme.md: Content update
> 
> This change makes the following updates:
>   1. Add SimicsOpenBoardPkg details.
>   2. Update Python instructions to Python 3.x and mention
>      Python 2.x deprecation.
>   3. Add Linux build environment set up instructions.
>   4. Update supported compiler and tool versions to newer versions tested.
>      * Ubuntu build: 16.04.5 LTS to 18.04.1 LTS
>      * iASL: 20160527 to 20190816
>      * NASM: 2.11.08 to 2.12.02
>   5. Update ClevoOpenBoardPkg details.
>   6. Add instructions to build packages (e.g. AdvancedFeaturePkg).
>   6. Update Planned Activities and Ideas sections.
> 
> Cc: Agyeman Prince <prince.agyeman@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Ankit Sinha <ankit.sinha@intel.com>
> Cc: Wei David Y <david.y.wei@intel.com>
> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
> ---
>  Platform/Intel/Readme.md | 139 ++++++++++++++------
>  1 file changed, 101 insertions(+), 38 deletions(-)
> 
> diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index
> 3caf362983..7cf1321bb2 100644
> --- a/Platform/Intel/Readme.md
> +++ b/Platform/Intel/Readme.md
> @@ -56,8 +56,43 @@ A UEFI firmware implementation using
> MinPlatformPkg is constructed using the fol
>  * The `ClevoOpenBoardPkg` contains board implementations for Clevo
> systems.
>  * The `KabylakeOpenBoardPkg` contains board implementations for Kaby
> Lake systems.
>  * The `PurleyOpenBoardPkg` contains board implementations for Purley
> systems.
> +* The `SimicsOpenBoardPkg` contains board implementations for the Simics
> hardware simulator.
>  * The `WhiskeylakeOpenBoardPkg` contains board implementations for
> Whiskey Lake systems.
> 
> +### **Supported Hardware**
> +
> +#### Intel
> +
> +***Intel Reference and Validation Platform***
> +
> +| Machine Name                          | Supported Chipsets
> | BoardPkg                     | Board Name         |
> +----------------------------------------|--------------------------------------------|------------------
> ------------|--------------------|
> +| RVP 3                                 | Sky Lake, Kaby Lake, Kaby
> Lake Refresh     | KabylakeOpenBoardPkg         | KabylakeRvp3
> |
> +| WHL-U DDR4 RVP                        | Whiskey Lake
> | WhiskeylakeOpenBoardPkg      | WhiskeylakeURvp    |
> +
> +*Note: RVP = Reference and Validation Platform*
> +
> +#### Microsoft
> +
> +| Machine Name                          | Supported Chipsets
> | BoardPkg                     | Board Name         |
> +----------------------------------------|--------------------------------------------|------------------
> ------------|--------------------|
> +| Mt. Olympus                           | Purley
> | PurleyOpenBoardPkg           | BoardMtOlympus     |
> +
> +#### Simics
> +
> +| Machine Name                          | Supported Chipsets
> | BoardPkg                     | Board Name         |
> +----------------------------------------|--------------------------------------------|------------------
> ------------|--------------------|
> +| Simics Quick Start Package            | Nehalem
> | SimicsOpenBoardPkg           | BoardX58Ich10      |
> +
> +#### System 76
> +
> +***Galago Pro Laptop***
> +
> +| Machine Name                          | Supported Chipsets
> | BoardPkg                     | Board Name         |
> +----------------------------------------|--------------------------------------------|------------------
> ------------|--------------------|
> +| galp2 (Clevo N130BU)                  | Kaby Lake
> | ClevoOpenBoardPkg            | N1xxWU             |
> +| galp3 & galp3-b (Clevo N1xxWU series) | Kaby Lake Refresh
> | ClevoOpenBoardPkg            | N1xxWU             |
> +
>  ## Board Package Organization
>  The board package follows the standard EDK II package structure with the
> following additional elements and guidelines:
>  * Only code usable across more than one board at the root level.
> @@ -83,10 +118,19 @@ return back to the minimum platform caller.
>    - Install into ```C:\ASL``` to match default tools_def.txt configuration.
>  * NASM assembler:  Available from: http://www.nasm.us/
>    - Install into ```C:\NASM``` to match default tools_def.txt configuration.
> -* Python 2.7.6:  Available from:
> https://www.python.org/download/releases/2.7.6/
> -  - Install into ```C:\Python27``` to match default tools_def.txt
> configuration.
> -  - Add C:\Python27 to your path
> -  - Other versions of 2.7 may also work fine.
> +* Python 3.7.3:  Available from:
> +https://www.python.org/downloads/release/python-373/
> +  - Other versions of Python 3.x should be compatible.
> +  - It is recommended to use the Python launcher to ensure the Python
> build script is launched using Python 3.
> +    - E.g. "py -3.7 build_bios.py -l"
> +
> +## **Linux Build Instructions**
> +
> +### Pre-requisites
> +
> + * Set up a EDK II build environment for Linux following the instructions in
> +   [Using EDK II with Native
> GCC](https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-wit
> h-Native-GCC).
> + * Proceed to the [Common EDK II build instructions for
> Linux](https://github.com/tianocore/tianocore.github.io/wiki/Common-instr
> uctions)
> +   to verify your basic EDK II build environment is set up properly.
> 
>  ### Download the required components
> 
> @@ -106,11 +150,11 @@ return back to the minimum platform caller.
>  * FSP repository
>    * ``git clone https://github.com/IntelFsp/FSP.git``
> 
> -### Build
> +### Board Builds
> 
>  **Building with the python script**
> 
> -1. Open command window, go to the workspace directory, e.g. c:\Kabylake
> or ~/Kabylake in the case of a linux OS
> +1. Open command window, go to the workspace directory, e.g.
> +c:\Edk2Workspace or ~/Edk2Workspace in the case of a linux OS
>  2. If using a linux OS
>     * Type "cd edk2"
>     * Type "source edksetup.sh"
> @@ -146,11 +190,19 @@ return back to the minimum platform caller.
>    * Type "python build_bios.py -h"
> 
>  * Note
> -  * Python 2.7.16 and Python 3.7.3 compatible
> -  * Some dependency Python scripts might only support 2.x or 3.x, if that
> happened use
> -    "py -2" or "py -3" to launch build_bios.py
> -  * This python build script has been tested on Windows 10 and Ubuntu
> 16.04.5 LTS
> -  * See [cross-platform limitations](#Known-limitations)
> +  * The Python build scripts were compatible with Python 2.7.16. But
> Python 2.x support is no longer maintained or recommended.
> +
> +  * This python build script has been tested on Windows 10 and Ubuntu
> 18.04.1 LTS.
> +
> +  * Unless otherwise noted, all boards build with the following
> components and versions:
> +    * Linux build: Ubuntu 18.04.1 LTS with GCC version 5.4.0
> +    * Windows build: Windows 10 with the Microsoft Visual Studio 2015
> compiler
> +    * iASL version: 20190816
> +    * NASM version: 2.12.02
> +
> +  * Unless otherwise noted all boards have been tested for boot to
> Windows 10 x64 RS3.
> +
> +  * See [known limitations](#Known-limitations)
> 
>  * Configuration Files
>    * The edk2-platforms\Platform\Intel\build.cfg file contains the default
> settings used by build_bios.py @@ -185,6 +237,7 @@ return back to the
> minimum platform caller.
>            |       |        |                  |
> build settings, environment variables.
>            |       |        |                  |---build_board.py:
> Optional board-specific pre-build, build
>            |       |        |
> and clean post-build functions.
> +          |       |        |
>            |       |        |------PurleyOpenBoardPkg
>            |       |        |       |------BoardMtOlympus
>            |       |        |                |---build_config.cfg:
> BoardMtOlympus specific
> @@ -192,19 +245,26 @@ return back to the minimum platform caller.
>            |       |        |                |---build_board.py:
> Optional board-specific pre-build,
>            |       |        |
> build, post-build and clean functions.
>            |       |        |
> +          |       |        |------SimicsOpenBoardPkg
> +          |       |        |       |------BoardX58Ich10
> +          |       |        |                |---build_config.cfg:
> BoardX58Ich10 specific
> +          |       |        |                |
> build settings, environment variables.
> +          |       |        |
>            |       |        |------WhiskeylakeOpenBoardPkg
>            |       |        |        |------WhiskeylakeURvp
>            |       |        |                |---build_config.cfg:
> WhiskeylakeURvp specific build
>            |       |        |
> settings environment variables.
> +          |       |        |
>            |------FSP
>    </pre>
> 
>  **Building with the batch scripts**
> +
>  Only PurleyOpenBoardPkg still supports batch script build. Future board
> packages must only use the Python build  infrastructure.
> 
>  For PurleyOpenBoardPkg
> -1. Open command window, go to the workspace directory, e.g. c:\Purley.
> +1. Open command window, go to the workspace directory, e.g.
> c:\Edk2Workspace.
>  2. Type "cd
> edk2-platforms\Platform\Intel\PurleyOpenBoardPkg\BoardMtOlympus".
>  3. Type "GitEdk2MinMtOlympus.bat" to setup GIT environment.
>  4. Type "bld" to build Purley Mt Olympus board UEFI firmware image, "bld
> release" for release build, "bld clean" to @@ -212,40 +272,43 @@ For
> PurleyOpenBoardPkg
>     "bld cache-consume" Consume a cache of binary files from the
> specified directory, BINARY_CACHE_PATH is empty,
>     used "BinCache" as default path.
> 
> -The validated version of iasl compiler that can build MinPurley is 20180629.
> Older version may generate ACPI build
> +The validated version of iASL compiler that can build MinPurley is
> +20180629. Older version may generate ACPI build
>  errors.
> 
>  ### **Known limitations**
> 
>  **ClevoOpenBoardPkg**
> -1. Currently, support is only being added for the N1xxWU series of boards.
> -2. The Windows build was tested on Windows 10 with Microsoft Visual
> Studio 2015 compiler.
> -3. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.0.
> -4. The build was tested with NASM version 2.11.08.
> -5. The firmware project has not been tested on an actual board, it *should
> not* be expected to boot.
> -6. The firmware project applies to all Clevo supported board configurations
> but is only being tested on System 76 Galago
> -  Pro devices.
> +1. The firmware project has not been tested on the Galago Pro 3B.
> 
>  **KabylakeOpenBoardPkg**
> -1. This firmware project has only been tested on the Intel KabylakeRvp3
> board.
> -2. This firmware project has only been tested booting to Microsoft
> Windows 10 x64 with AHCI mode and Integrated Graphic
> -  Device.
> -3. The Windows build was tested on Windows 10 with Microsoft Visual
> Studio 2015.
> -4. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.0.
> -5. The build was tested with NASM version 2.11.08.
> +1. This firmware project has only been tested for Microsoft Windows 10 x64
> boot with AHCI mode and Integrated Graphic
> +   Device.
> 
>  **PurleyOpenBoardPkg**
> -1. This firmware project has only been tested on the Microsoft MtOlympus
> board.
> -2. This firmware project has only been tested booting to Microsoft
> Windows Server 2016 with NVME on M.2 slot.
> -3. This firmware project build has only been tested using the Microsoft
> Visual Studio 2015 compiler.
> +1. This firmware project has only been tested booting to Microsoft
> Windows Server 2016 with NVME on M.2 slot.
> +2. This firmware project does not build with the GCC compiler.
> +3. This firmware project does not build with the Python build script
> infrastructure.
> +
> +**SimicsOpenBoardPkg**
> +1. This firmware project has only been tested booting to Microsoft
> Windows 10 x64 and Ubuntu 17.10 with AHCI mode.
> 
>  **WhiskeylakeOpenBoardPkg**
> -1. This firmware project has only been tested on the Intel WhiskeylakeURvp
> board.
> -2. This firmware project has only been tested booting to Microsoft
> Windows 10 x64 with AHCI mode and Integrated Graphic
> -  Device.
> -3. The Windows build was tested on Windows 10 with Microsoft Visual
> Studio 2015.
> -4. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.0.
> -5. The build was tested with NASM version 2.11.08.
> +1. This firmware project has only been tested booting to Microsoft
> Windows 10 x64 with AHCI mode and Integrated Graphic
> +   Device.
> +
> +### **Package Builds**
> +
> +In some cases, such as AdvancedFeaturePkg, a package may provide a set
> +of functionality that is included in other packages. To test the build of the
> whole package, the "build" command should be used following the
> instructions below.
> +
> +1. Execute edksetup.bat (Windows) or edksetup.sh (Linux).
> +2. Verify the "WORKSPACE" environment variable is set to the edk2
> directory in your workspace.
> +3. Set the "PACKAGES_PATH" enviornment variable to include the
> edk2-platforms/Platform/Intel and edk2-platforms/Silicon/Intel
> +   directories.
> +   * Windows example: set
> +PACKAGES_PATH=c:\Edk2Workspace\edk2-platforms\Platform\Intel;c:\Edk2
> Wor
> +kspace\edk2-platforms\Silicon\Intel
> +4. Build the package by specifying the package DSC as the platform build
> target from the Platform/Intel or Silicon/Intel directory:
> +   "build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc"
> +
> 
>  ### **Firmware Image Flashing**
> 
> @@ -259,14 +322,14 @@ that authenticates the initial firmware boot image
> such as Boot Guard, it will f  that is not signed properly.
> 
>  ### **Planned Activities**
> -* Replace the batch build scripts with cross-platform Python build scripts.
> -* Publish a Minimum Platform specification to describe the architecture and
> interfaces in more detail.
> +* Expand Intel's open source platform code presence through new platform
> and board support.
> +* Expand advanced feature code and quality.
> +* Support open source community continuous integration for Minimum
> Platform compliant boards.
> 
>  ### **Ideas**
>  If you would like to help but are not sure where to start some areas
> currently identified for improvement include:
>   * Adding board ports for more motherboards and systems
>   * Adding Clang support
> - * Adding GCC support
> 
>  Please feel free to contact Michael Kubacki (michael.a.kubacki at intel.com)
> and Isaac Oram (isaac.w.oram at intel.com)  if you would like to discuss
> contribution ideas.
> --
> 2.16.2.windows.1
> 
> 
> 


      parent reply	other threads:[~2019-09-16  6:41 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-14  2:09 [edk2-platforms][PATCH V2 1/1] Platform/Intel/Readme.md: Content update Kubacki, Michael A
2019-09-14  2:23 ` [edk2-devel] " Nate DeSimone
2019-09-16  6:40 ` Chiu, Chasel [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3C3EFB470A303B4AB093197B6777CCEC504D02DB@PGSMSX111.gar.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox