public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms][PATCH V1 1/1] Platform/Intel/Readme.md: Content update
@ 2019-09-13 21:41 Kubacki, Michael A
  2019-09-13 23:24 ` [edk2-devel] " Nate DeSimone
  0 siblings, 1 reply; 3+ messages in thread
From: Kubacki, Michael A @ 2019-09-13 21:41 UTC (permalink / raw)
  To: devel
  Cc: Agyeman Prince, Dandan Bi, Sai Chaganty, Chasel Chiu, Liming Gao,
	Nate DeSimone, Michael D Kinney, Ankit Sinha, Wei David Y

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


^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [edk2-platforms][PATCH V1 1/1] Platform/Intel/Readme.md: Content update
@ 2019-08-20  2:02 Kubacki, Michael A
  2019-08-20  2:34 ` [edk2-devel] " Chiu, Chasel
  0 siblings, 1 reply; 3+ messages in thread
From: Kubacki, Michael A @ 2019-08-20  2:02 UTC (permalink / raw)
  To: devel
  Cc: Sai Chaganty, Chasel Chiu, Liming Gao, Nate DeSimone,
	Michael D Kinney, Ankit Sinha

This change makes the following updates:
 1. Indicate that build via batch scripts is no longer allowed.
 2. Remove ClevoOpenBoardPkg batch build instructions since
    the batch build scripts no longer exist in the package.
 3. Move firmware image flashing instructions to a clearly labeled
    section.
 4. Elaborate the firmware image flashing instructions.

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>
Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
---
 Platform/Intel/Readme.md | 28 ++++++++++----------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md
index aaf6ef4d3e..3caf362983 100644
--- a/Platform/Intel/Readme.md
+++ b/Platform/Intel/Readme.md
@@ -1,4 +1,4 @@
-# **EDK II Minimum Platform Firmware for Intel(R) Platforms**
+# **EDK II Minimum Platform Firmware for Intel&reg; Platforms**
 
 The Minimum Platform is a software architecture that guides uniform delivery of Intel platforms enabling firmware
 solutions for basic boot functionality with extensibility built-in. Please see the
@@ -200,7 +200,8 @@ return back to the minimum platform caller.
   </pre>
 
 **Building with the batch scripts**
-KabylakeOpenBoardPkg does not support batch scripts, please use build_bios.py.
+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.
@@ -214,18 +215,6 @@ For PurleyOpenBoardPkg
 The validated version of iasl compiler that can build MinPurley is 20180629. Older version may generate ACPI build
 errors.
 
-For ClevoOpenBoardPkg
-1. Open command window, go to the workspace directory, e.g. c:\Clevo.
-2. Type "cd edk2-platforms\Platform\Intel\ClevoOpenBoardPkg\N1xxWU".
-3. Type "GitEdk2Clevo.bat" to setup GIT environment.
-4. Type "bld" to build Clevo UEFI firmware image, "bld release" for release build, "bld clean" to remove intermediate
-files.
-
-Users with access to the Intel proprietary FITC tool and ME ingredients can build full images for flash  (BIOS + ME +
-DESC).
-
-Users can also flash the UEFI firmware image to the highest area of the flash region directly.
-
 ### **Known limitations**
 
 **ClevoOpenBoardPkg**
@@ -258,6 +247,17 @@ Users can also flash the UEFI firmware image to the highest area of the flash re
 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.
 
+### **Firmware Image Flashing**
+
+The full Intel firmware image on a flash device is called the Integrated Firmware Image (IFWI). Users with access to the Intel
+proprietary FITC tool and ME ingredients can build full IFWI images that may be flashed (Descriptor, UEFI FW, ME FW, etc.).
+
+Users without such access can directly flash a custom built UEFI FW image over the highest area of the flash region directly.
+It is always recommended to have a hardware flash programmer accessible to recover the firmware image. The original full flash
+image should always be backed up so it may be flashed again for recovery. Please be aware that if a system supports a technology
+that authenticates the initial firmware boot image such as Boot Guard, it will fail to boot with a custom firmware image
+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.
-- 
2.16.2.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-09-13 23:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-13 21:41 [edk2-platforms][PATCH V1 1/1] Platform/Intel/Readme.md: Content update Kubacki, Michael A
2019-09-13 23:24 ` [edk2-devel] " Nate DeSimone
  -- strict thread matches above, loose matches on Subject: below --
2019-08-20  2:02 Kubacki, Michael A
2019-08-20  2:34 ` [edk2-devel] " Chiu, Chasel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox