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 <[email protected]>
Cc: Dandan Bi <[email protected]>
Cc: Sai Chaganty <[email protected]>
Cc: Chasel Chiu <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Nate DeSimone <[email protected]>
Cc: Michael D Kinney <[email protected]>
Cc: Ankit Sinha <[email protected]>
Cc: Wei David Y <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
---
Platform/Intel/Readme.md | 105 +++++++++++++-------
1 file changed, 71 insertions(+), 34 deletions(-)
diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md
index 3caf362983..334c61e037 100644
--- a/Platform/Intel/Readme.md
+++ b/Platform/Intel/Readme.md
@@ -56,6 +56,7 @@ 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.
## Board Package Organization
@@ -83,10 +84,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-with-Native-GCC).
+ * Proceed to the [Common EDK II build instructions for
Linux](https://github.com/tianocore/tianocore.github.io/wiki/Common-instructions)
+ to verify your basic EDK II build environment is set up properly.
### Download the required components
@@ -106,11 +116,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 +156,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 +203,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 +211,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 +238,51 @@ 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.
+2. The firmware project has not been tested on the System 76 Galago Pro 2 and
System 76 Galago Pro 3-B.
+3. The firmware project applies to all Clevo supported board configurations
but is only being tested on System 76 Galago
+ Pro devices.
**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 on the Intel Kaby Lake 3 RVP
board.
+2. 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.
+1. This firmware project has only been tested on the Microsoft Mt. Olympus
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.
+3. This firmware project does not build with the GCC compiler.
+4. This firmware project does not build with the Python build script
infrastructure.
+
+**SimicsOpenBoardPkg**
+1. This firmware project has only been tested with the Simics Quick Start
Package.
+2. This firmware project has only been tested booting to Microsoft Windows 10
x64 and Ubuntu 17.10 with AHCI mode and
+ Integrated Graphic Device.
**WhiskeylakeOpenBoardPkg**
-1. This firmware project has only been tested on the Intel WhiskeylakeURvp
board.
+1. This firmware project has only been tested on the Intel Whiskey Lake U DDR4
RVP 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.
+
+### **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:\Edk2Workspace\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 +296,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 (#47229): https://edk2.groups.io/g/devel/message/47229
Mute This Topic: https://groups.io/mt/34132010/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-