[edk2-devel] [Patch 16/16] Vlv2TbltDevicePkg: Update Readme.md

Qian, Yi yi.qian at intel.com
Thu May 9 13:21:04 UTC 2019


Reviewed by Qian, Yi <yi.qian at intel.com>

Thanks
QianYi

-----Original Message-----
From: Kinney, Michael D 
Sent: Thursday, May 9, 2019 12:31 PM
To: devel at edk2.groups.io
Cc: Sun, Zailiang <zailiang.sun at intel.com>; Qian, Yi <yi.qian at intel.com>
Subject: [Patch 16/16] Vlv2TbltDevicePkg: Update Readme.md

Cc: Zailiang Sun <zailiang.sun at intel.com>
Cc: Yi Qian <yi.qian at intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney at intel.com>
---
 Vlv2TbltDevicePkg/Readme.md | 232 +++++++++++++++++++++++++++++-------
 1 file changed, 190 insertions(+), 42 deletions(-)

diff --git a/Vlv2TbltDevicePkg/Readme.md b/Vlv2TbltDevicePkg/Readme.md index 139aa4ea61..647d0ba361 100644
--- a/Vlv2TbltDevicePkg/Readme.md
+++ b/Vlv2TbltDevicePkg/Readme.md
@@ -1,39 +1,18 @@
 # **EDK II firmware for Minnowboard Max/Turbot which is based on Intel Valleyview2 SoC (Byatrail platform)**
 
 ----------
-
-
-## **How to Create a Full Source Tree for Minnowboard Max/Turbot under Windows** -### Pre-requisites
+# Windows Pre-requisites
 
 * GIT client: Available from https://git-scm.com/downloads
 
-### Download Source Code
-* Create a new directory C:\WORKSPACE as an EDK II work space.
-
-* GIT clone operations required to pull the EDK II source tree and the edk2-non-osi repository. Run below command in git bash or windows command line.
-
-  - cd C:\WORKSPACE
-  - git clone https://github.com/tianocore/edk2.git
-  - git clone https://github.com/tianocore/edk2-non-osi.git
-
-    Note: The EDK II [Multiple Workspace](https://github.com/tianocore/tianocore.github.io/wiki/Multiple_Workspace)
-feature is used by this project.
-
-* Follow the instructions found in the file "OpenSSL-HOWTO.txt" in your work space (e.g. "C:\WORKSPACE\edk2\CryptoPkg\Library\OpensslLib\OpenSSL-HOWTO.txt") to install the Openssl source code.
-
-## **Windows Build Instructions**
-
-### Pre-requisites Tools
-
 * Microsoft Visual Studio.
   - Visual Studio 2015 recommended and is used in the examples below. Visual Studio 2013 is also supported.
-
+
 * WINDDK
   - Download Microsoft Windows Driver Development Kit 3790.1830 and install it to C:\WINDDK\3790.1830.
-
-* Python 2.7
-  - Available from http://www.python.org. Install Python to C:\Python27, and add the path "C:\Python27" to system environment variable **PYTHON_HOME**.
+
+* Python 3
+  - https://www.python.org/downloads/
 
 * Install iASL
    - Install the iasl compiler by downloading iasl-win-20160527.zip from the following @@ -42,34 +21,203 @@ feature is used by this project.
    (create the folder "C:\ASL" if it does not exist).
 
 * Install the NASM* assembly language compiler
-   - Download NASM* 2.12.02 binaries from 
+   - Download NASM* 2.12.02 binaries from
    http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/win64/nasm-2.12.02-win64.zip and place the
    unzipped content ("nasm.exe") into the directory "C:\NASM" on your local hard drive
    (create the folder "C:\NASM" if it does not exist). Add the path "C:\NASM\" to system environment variable **NASM_PREFIX**.
 
 * Install Openssl
-   - Download a pre-compiled Openssl Windows binary from 
-   https://wiki.openssl.org/index.php/Binaries. Search for a Windows binary in the list 
-   of "Third Party OpenSSL Related Binary Distributions". Go to the third party site to 
-   download the latest version. Download and extract to C:\Openssl, add the path of openssl.exe 
+   - Download a pre-compiled Openssl Windows binary from
+   https://wiki.openssl.org/index.php/Binaries. Search for a Windows binary in the list
+   of "Third Party OpenSSL Related Binary Distributions". Go to the third party site to
+   download the latest version. Download and extract to C:\Openssl, add 
+ the path of openssl.exe
    ("C:\openssl") to system environment variable **OPENSSL_PATH**.
 
+# Download and Build MinnowMax using Windows/Visual Studio
 
+Run the script below from an empty directory.  The script clones the 
+EDK II repository from GitHub and downloads and unzips the binary 
+support files for the MinnowBoard MAX.  It then sets up the environment 
+for EDK II builds and builds the MinnowBoard MAX firmware and generates 
+UEFI Capsules that can be used to update the MinnowBoard MAX firmware and three sample devices.
 
-### Build Commands
-  * cd C:\WORKSPACE\edk2\Vlv2TbltDevicePkg
+```
+git clone --recurse-submodules https://github.com/tianocore/edk2.git
 
-  * To build 64-bit release version image: Build_IFWI.bat MNW2 Release
+powershell "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri "https://indy.fulgan.com/SSL/openssl-1.0.2r-x64_86-win64.zip -OutFile openssl-1.0.2r-x64_86-win64.zip"}"
+powershell Expand-Archive openssl-1.0.2r-x64_86-win64.zip
 
-  * To build 64-bit debug version image: Build_IFWI.bat MNW2 Debug
-
-  * To build 32-bit release version image: Build_IFWI.bat /IA32 MNW2 Release
+powershell "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri "https://firmware.intel.com/sites/default/files/MinnowBoardMax-Development190216.zip -OutFile MinnowBoardMax-Development190216.zip"}"
+powershell Expand-Archive MinnowBoardMax-Development190216.zip
+sleep 1
+rename MinnowBoardMax-Development190216 Vlv2Binaries cd Vlv2Binaries 
+powershell Expand-Archive Vlv2SocBinPkg.zip .
+sleep 1
+cd ..
 
-  * To build 32-bit debug version image: Build_IFWI.bat /IA32 MNW2 Debug
+powershell "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri "https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/win64/nasm-2.13.03-win64.zip -OutFile nasm-2.13.03-win64.zip"}"
+powershell Expand-Archive nasm-2.13.03-win64.zip .
 
-### Output
-* After the build process successfully completes, the 8MB firmware binary image will -be located in the following location on your local hard drive:
-"C:\WORKSPACE\edk2\Vlv2TbltDevicePkg\Stitch\"
+mkdir Conf
 
+set WORKSPACE=%CD%
+set EDK_TOOLS_PATH=%WORKSPACE%\edk2\BaseTools
+set EDK_TOOLS_BIN=%EDK_TOOLS_PATH%\BinWrappers\WindowsLike
+set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\Vlv2Binaries
+path=%path%;%EDK_TOOLS_PATH%\Bin\Win32;%WORKSPACE%\openssl-1.0.2r-x64_8
+6-win64 set NASM_PREFIX=%WORKSPACE%\nasm-2.13.03\
 
+cd %WORKSPACE%\edk2
+
+call edkSetup.bat Rebuild
+
+cd Vlv2TbltDevicePkg
+
+Build_IFWI.bat /m /y MNW2 Debug
+```
+
+Once all the code and tools are downloaded and installed, only the 
+following commands are required to setup the environment.  Run these 
+from the same directory used to install the source and binaries.
+
+```
+set WORKSPACE=%CD%
+set EDK_TOOLS_PATH=%WORKSPACE%\edk2\BaseTools
+set EDK_TOOLS_BIN=%EDK_TOOLS_PATH%\BinWrappers\WindowsLike
+set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\Vlv2Binaries
+path=%path%;%EDK_TOOLS_PATH%\Bin\Win32;%WORKSPACE%\openssl-1.0.2r-x64_8
+6-win64 set NASM_PREFIX=%WORKSPACE%\nasm-2.13.03\
+
+cd %WORKSPACE%\edk2
+
+call edkSetup.bat Rebuild
+```
+
+Once the environment is setup, the MinnowBoard MAX firmware and 
+capsules can be rebuilt using the following commands.
+
+* Build Debug Image
+
+```
+cd Vlv2TbltDevicePkg
+Build_IFWI.bat /m /y MNW2 Debug
+```
+
+* Build Release Image
+
+```
+cd Vlv2TbltDevicePkg
+Build_IFWI.bat /m /y MNW2 Release
+```
+
+The generated firmware image is the newest `.bin` file in `edk2/Vlv2TbltDevicePkg/Stitch`.
+The file is in the form `MNW2MAX1.X64.0084.D01.<DATE>.bin`.
+
+The CapsuleApp and generated UEFI Capsules are in 
+`Build/Vlv2TbltDevicePkg/Capsules`
+
+# Download and Build MinnowMax using Linux/GCC
+
+Run the script below from an empty directory.  The script clones the 
+EDK II repository from GitHub and downloads and unzips the binary 
+support files for the MinnowBoard MAX.  It then sets up the environment 
+for EDK II builds and builds the MinnowBoard MAX firmware and generates 
+UEFI Capsules that can be used to update the MinnowBoard MAX firmware and three sample devices.
+
+```
+git clone --recurse-submodules https://github.com/tianocore/edk2.git
+
+mkdir Vlv2Binaries
+cd Vlv2Binaries
+wget 
+https://firmware.intel.com/sites/default/files/MinnowBoardMax-Developme
+nt190216.zip unzip MinnowBoardMax-Development190216.zip
+unzip Vlv2SocBinPkg.zip
+
+mkdir Conf
+
+export WORKSPACE=$PWD/edk2
+export PACKAGES_PATH=$PWD/Vlv2Binaries
+export EDK_TOOLS_PATH=$WORKSPACE/BaseTools
+
+cd edk2
+cd Vlv2TbltDevicePkg
+. Build_IFWI.sh MNW2 Debug
+```
+
+Once all the code is downloaded and installed, only the following 
+commands are required to setup the environment.  Run these from the 
+same directory used to install the source and binaries.
+
+```
+export WORKSPACE=$PWD/edk2
+export PACKAGES_PATH=$PWD/Vlv2Binaries
+export EDK_TOOLS_PATH=$WORKSPACE/BaseTools
+
+cd edk2
+cd Vlv2TbltDevicePkg
+```
+
+Once the environment is setup, the MinnowBoard MAX firmware and 
+capsules can be rebuilt using the following commands.
+
+
+* Build Debug Image
+
+```
+cd Vlv2TbltDevicePkg
+./Build_IFWI.sh MNW2 Debug
+```
+
+* Build Release Image
+
+```
+cd Vlv2TbltDevicePkg
+./Build_IFWI.sh MNW2 Release
+```
+
+The generated firmware image is the `MNW2MAX_X64_D_0084_01_GCC.bin` 
+file in `edk2\Vlv2TbltDevicePkg\Stitch`
+
+The CapsuleApp and generated UEFI Capsules are in 
+`Build\Vlv2TbltDevicePkg\Capsules`
+
+# Use DediProg to update FLASH image on a MinnowBoard MAX Target
+
+# Update MinnowBoard MAX Firmware from UEFI Capsules
+
+* Copy the `Build/Vlv2TbltDevicePkg/Capsules` directory to a USB FLASH 
+drive
+* Connect USB FLASH Drive to MinnowBoard MAX
+* Boot MinnowBoard MAX to the Boot Manager
+* Boot the `EFI Internal Shell` boot option
+* Mount the USB FLASH Drive (usually `FS1`)
+* Use `cd` command to go to `Capsules/TestCert` directory
+* Run the following command to apply all four capsules
+
+```
+CapsuleApp.efi Red.cap Green.cap Blue.cap MinnowMax.cap ```
+
+* The MinnowBoard MAX should reboot and the four capsules are applied 
+in the
+  order listed.  The progress bar matches the color name of the capsule.
+  MinnowMax.cap uses the color purple.  Once all capsules are 
+processed, the
+  MinnowBoard MAX should reboot again using the new firmware images.
+
+# Generate and Test a UX BitMap Capsule
+
+* Use bitmap editor to generate a BMP file.  Recommend resolution of 
+600 wide
+  by 100 tell and either 24 or 32 bits per pixel.
+* Save BMP file to USB FLASH drive
+* Use CapsuleApp.efi to convert BMP file to a UX Capsule
+
+```
+CapsuleApp.efi -G MyImage.bmp -O MyImage.cap ```
+
+* When updating firmware using capsules, add UX capsule to the list of 
+capsules
+  passed into CapsuleApp.efi.
+
+```
+CapsuleApp.efi MyImage.cap Red.cap Green.cap Blue.cap MinnowMax.cap ```
+
+* When the capsules are processed the UX bitmap image should be 
+displayed at the
+  bottom of the screen.
--
2.21.0.windows.1



-- 
Qian Yi

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40351): https://edk2.groups.io/g/devel/message/40351
Mute This Topic: https://groups.io/mt/31551785/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