Reviewed-by: Chasel Chiu <chasel.c...@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.agye...@intel.com>; Bi, Dandan > <dandan...@intel.com>; Chaganty, Rangasai V > <rangasai.v.chaga...@intel.com>; Chiu, Chasel <chasel.c...@intel.com>; Gao, > Liming <liming....@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desim...@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Sinha, Ankit <ankit.si...@intel.com>; Wei, > David Y <david.y....@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.agye...@intel.com> > Cc: Dandan Bi <dandan...@intel.com> > Cc: Sai Chaganty <rangasai.v.chaga...@intel.com> > Cc: Chasel Chiu <chasel.c...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Ankit Sinha <ankit.si...@intel.com> > Cc: Wei David Y <david.y....@intel.com> > Signed-off-by: Michael Kubacki <michael.a.kuba...@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 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#47266): https://edk2.groups.io/g/devel/message/47266 Mute This Topic: https://groups.io/mt/34139732/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-