mirror of https://github.com/acidanthera/audk.git
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)**
|
||||
|
||||
----------
|
||||
|
||||
|
||||
## **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,213 @@ 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.
|
||||
|
||||
```
|
||||
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
|
||||
* cd C:\WORKSPACE\edk2\Vlv2TbltDevicePkg
|
||||
* Build Debug Image
|
||||
|
||||
* 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
|
||||
|
||||
* To build 32-bit release version image: Build_IFWI.bat /IA32 MNW2 Release
|
||||
* Build Release Image
|
||||
|
||||
* To build 32-bit debug version image: Build_IFWI.bat /IA32 MNW2 Debug
|
||||
```
|
||||
cd Vlv2TbltDevicePkg
|
||||
./Build_IFWI.sh MNW2 Release
|
||||
```
|
||||
|
||||
### 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\"
|
||||
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.
|
||||
|
|
Loading…
Reference in New Issue