Vlv2TbltDevicePkg: Update Readme.md
Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com>
This commit is contained in:
parent
1bb262ea04
commit
62fdb9bbc5
|
@ -1,39 +1,18 @@
|
||||||
# **EDK II firmware for Minnowboard Max/Turbot which is based on Intel Valleyview2 SoC (Byatrail platform)**
|
# **EDK II firmware for Minnowboard Max/Turbot which is based on Intel Valleyview2 SoC (Byatrail platform)**
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
# Windows Pre-requisites
|
||||||
|
|
||||||
## **How to Create a Full Source Tree for Minnowboard Max/Turbot under Windows**
|
|
||||||
### Pre-requisites
|
|
||||||
|
|
||||||
* GIT client: Available from https://git-scm.com/downloads
|
* 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.
|
* Microsoft Visual Studio.
|
||||||
- Visual Studio 2015 recommended and is used in the examples below. Visual Studio 2013 is also supported.
|
- Visual Studio 2015 recommended and is used in the examples below. Visual Studio 2013 is also supported.
|
||||||
|
|
||||||
* WINDDK
|
* WINDDK
|
||||||
- Download Microsoft Windows Driver Development Kit 3790.1830 and install it to C:\WINDDK\3790.1830.
|
- Download Microsoft Windows Driver Development Kit 3790.1830 and install it to C:\WINDDK\3790.1830.
|
||||||
|
|
||||||
* Python 2.7
|
* Python 3
|
||||||
- Available from http://www.python.org. Install Python to C:\Python27, and add the path "C:\Python27" to system environment variable **PYTHON_HOME**.
|
- https://www.python.org/downloads/
|
||||||
|
|
||||||
* Install iASL
|
* Install iASL
|
||||||
- Install the iasl compiler by downloading iasl-win-20160527.zip from the following
|
- Install the iasl compiler by downloading iasl-win-20160527.zip from the following
|
||||||
|
@ -54,22 +33,201 @@ feature is used by this project.
|
||||||
download the latest version. Download and extract to C:\Openssl, add the path of openssl.exe
|
download the latest version. Download and extract to C:\Openssl, add the path of openssl.exe
|
||||||
("C:\openssl") to system environment variable **OPENSSL_PATH**.
|
("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.
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone --recurse-submodules https://github.com/tianocore/edk2.git
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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 ..
|
||||||
|
|
||||||
|
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 .
|
||||||
|
|
||||||
|
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_86-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_86-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`
|
||||||
|
|
||||||
|
# Linux Pre-requisites
|
||||||
|
|
||||||
|
* The tool GenBiosId has a dependency on libc.so.6. Make sure it is installed.
|
||||||
|
Here are a few example installation commands:
|
||||||
|
|
||||||
|
sudo dnf install libc.so.6
|
||||||
|
|
||||||
|
apt-get install libc:i386
|
||||||
|
|
||||||
|
# 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-Development190216.zip
|
||||||
|
unzip MinnowBoardMax-Development190216.zip
|
||||||
|
unzip Vlv2SocBinPkg.zip
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
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 Commands
|
* Build Debug Image
|
||||||
* cd C:\WORKSPACE\edk2\Vlv2TbltDevicePkg
|
|
||||||
|
|
||||||
* To build 64-bit release version image: Build_IFWI.bat MNW2 Release
|
```
|
||||||
|
cd Vlv2TbltDevicePkg
|
||||||
|
./Build_IFWI.sh MNW2 Debug
|
||||||
|
```
|
||||||
|
|
||||||
* To build 64-bit debug version image: Build_IFWI.bat MNW2 Debug
|
* Build Release Image
|
||||||
|
|
||||||
* To build 32-bit release version image: Build_IFWI.bat /IA32 MNW2 Release
|
```
|
||||||
|
cd Vlv2TbltDevicePkg
|
||||||
|
./Build_IFWI.sh MNW2 Release
|
||||||
|
```
|
||||||
|
|
||||||
* To build 32-bit debug version image: Build_IFWI.bat /IA32 MNW2 Debug
|
The generated firmware image is the `MNW2MAX_X64_D_0084_01_GCC.bin` file in
|
||||||
|
`edk2\Vlv2TbltDevicePkg\Stitch`
|
||||||
|
|
||||||
### Output
|
The CapsuleApp and generated UEFI Capsules are in `Build\Vlv2TbltDevicePkg\Capsules`
|
||||||
* 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\"
|
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
Loading…
Reference in New Issue