From nobody Sat May 4 22:40:21 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40368+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40368+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1557417847; cv=none; d=zoho.com; s=zohoarc; b=VWaZUetso2z20G+ERbYDMO8ho6s5P5RHGA1bdjTN0zCWYUOOTBO9JGjly2sGQp5+5lSmFLgasAcXuevV1RovRaZ1HIxcm5sxTNcTMNX63TbBMwehy7iuPlT1t+7VVZVKYmipjK3tQNfzhpSSCdZvljZNndLq6WWZMx8Gy4h+9FI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557417847; h=Content-Transfer-Encoding:Cc:Date:From:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To:ARC-Authentication-Results; bh=MzcXTNg5ZW/AylxC9ke+kDJtpDKWiePsH5dXOv/2ERc=; b=Q1zXC/zZO35D494CvjA7zK1VCyWpK4AcmJQiRuCwYynNXUTDCWoQdnF2dETb/1/AX3NO+UlfsSrsVROJ1QJTFr3M+d+3E/gXVAorjW0doNU+7cHeM14bWfglziE7sAU2pvbZ0i6AMLv+mY8yNo9i0JCNg7P4B5A7WU2I3aafbMA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40368+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1557417847805734.1217591399707; Thu, 9 May 2019 09:04:07 -0700 (PDT) Return-Path: X-Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by groups.io with SMTP; Thu, 09 May 2019 09:04:06 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 May 2019 09:04:05 -0700 X-ExtLoop1: 1 X-Received: from unknown (HELO mdkinney-MOBL2.amr.corp.intel.com) ([10.241.98.74]) by FMSMGA003.fm.intel.com with ESMTP; 09 May 2019 09:04:05 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Zailiang Sun , Yi Qian Subject: [edk2-devel] [Patch V2] Vlv2TbltDevicePkg: Update Readme.md Date: Thu, 9 May 2019 09:04:02 -0700 Message-Id: <20190509160402.20704-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.d.kinney@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1557417846; bh=gsyYex+WTbcCXhu/LTR0fIx+eWVPFS6b1DO9cKeFQCs=; h=Cc:Date:From:Reply-To:Subject:To; b=CTinxw8VgPmrcyu0E1/NJv9MIjvkoVw3yDNNheIvsQHQUx6FiITBnIJIprdJgyk/hNq +2FFjYW8WQnuLBCLb+NaDDK6v0cJQxoAp+vJhLh/qvPXJv/IM1EcW0cpwCnjos3YZiEyh VuLTIaJeh6pezSSfeeP8eItiFvzrSnc30Nk= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Cc: Zailiang Sun Cc: Yi Qian Signed-off-by: Michael D Kinney Reviewed-by: Zailiang Sun --- Vlv2TbltDevicePkg/Readme.md | 242 +++++++++++++++++++++++++++++------- 1 file changed, 200 insertions(+), 42 deletions(-) diff --git a/Vlv2TbltDevicePkg/Readme.md b/Vlv2TbltDevicePkg/Readme.md index 139aa4ea61..cbbb465b69 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 Val= leyview2 SoC (Byatrail platform)** =20 ---------- - - -## **How to Create a Full Source Tree for Minnowboard Max/Turbot under Win= dows** -### Pre-requisites +# Windows Pre-requisites =20 * GIT client: Available from https://git-scm.com/downloads =20 -### 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 edk= 2-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 - =20 - Note: The EDK II [Multiple Workspace](https://github.com/tianocore/tia= nocore.github.io/wiki/Multiple_Workspace) -feature is used by this project. - =20 -* Follow the instructions found in the file "OpenSSL-HOWTO.txt" in your wo= rk space (e.g. "C:\WORKSPACE\edk2\CryptoPkg\Library\OpensslLib\OpenSSL-HOWT= O.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. Visu= al Studio 2013 is also supported. - =20 + * WINDDK - Download Microsoft Windows Driver Development Kit 3790.1830 and instal= l it to C:\WINDDK\3790.1830. - =20 -* Python 2.7 - - Available from http://www.python.org. Install Python to C:\Python27, a= nd add the path "C:\Python27" to system environment variable **PYTHON_HOME*= *. + +* Python 3 + - https://www.python.org/downloads/ =20 * Install iASL - Install the iasl compiler by downloading iasl-win-20160527.zip from t= he following @@ -42,34 +21,213 @@ feature is used by this project. (create the folder "C:\ASL" if it does not exist). =20 * Install the NASM* assembly language compiler - - Download NASM* 2.12.02 binaries from=20 + - Download NASM* 2.12.02 binaries from http://www.nasm.us/pub/nasm/releasebuilds/2.12.02/win64/nasm-2.12.02-wi= n64.zip and place the unzipped content ("nasm.exe") into the directory "C:\NASM" on your loca= l hard drive (create the folder "C:\NASM" if it does not exist). Add the path "C:\NA= SM\" to system environment variable **NASM_PREFIX**. =20 * Install Openssl - - Download a pre-compiled Openssl Windows binary from=20 - https://wiki.openssl.org/index.php/Binaries. Search for a Windows binar= y in the list=20 - of "Third Party OpenSSL Related Binary Distributions". Go to the third = party site to=20 - download the latest version. Download and extract to C:\Openssl, add th= e path of openssl.exe=20 + - Download a pre-compiled Openssl Windows binary from + https://wiki.openssl.org/index.php/Binaries. Search for a Windows binar= y 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 th= e path of openssl.exe ("C:\openssl") to system environment variable **OPENSSL_PATH**. =20 +# Download and Build MinnowMax using Windows/Visual Studio =20 +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 f= or the +MinnowBoard MAX. It then sets up the environment for EDK II builds and bu= ilds +the MinnowBoard MAX firmware and generates UEFI Capsules that can be used = to +update the MinnowBoard MAX firmware and three sample devices. =20 -### Build Commands - * cd C:\WORKSPACE\edk2\Vlv2TbltDevicePkg +``` +git clone --recurse-submodules https://github.com/tianocore/edk2.git =20 - * To build 64-bit release version image: Build_IFWI.bat MNW2 Release +powershell "& {[Net.ServicePointManager]::SecurityProtocol =3D [Net.Securi= tyProtocolType]::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 =20 - * To build 64-bit debug version image: Build_IFWI.bat MNW2 Debug - =20 - * To build 32-bit release version image: Build_IFWI.bat /IA32 MNW2 Relea= se +powershell "& {[Net.ServicePointManager]::SecurityProtocol =3D [Net.Securi= tyProtocolType]::Tls12; Invoke-WebRequest -Uri "https://firmware.intel.com/= sites/default/files/MinnowBoardMax-Development190216.zip -OutFile MinnowBoa= rdMax-Development190216.zip"}" +powershell Expand-Archive MinnowBoardMax-Development190216.zip +sleep 1 +rename MinnowBoardMax-Development190216 Vlv2Binaries +cd Vlv2Binaries +powershell Expand-Archive Vlv2SocBinPkg.zip . +sleep 1 +cd .. =20 - * To build 32-bit debug version image: Build_IFWI.bat /IA32 MNW2 Debug +powershell "& {[Net.ServicePointManager]::SecurityProtocol =3D [Net.Securi= tyProtocolType]::Tls12; Invoke-WebRequest -Uri "https://www.nasm.us/pub/nas= m/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 . =20 -### 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 =20 +set WORKSPACE=3D%CD% +set EDK_TOOLS_PATH=3D%WORKSPACE%\edk2\BaseTools +set EDK_TOOLS_BIN=3D%EDK_TOOLS_PATH%\BinWrappers\WindowsLike +set PACKAGES_PATH=3D%WORKSPACE%\edk2;%WORKSPACE%\Vlv2Binaries +path=3D%path%;%EDK_TOOLS_PATH%\Bin\Win32;%WORKSPACE%\openssl-1.0.2r-x64_86= -win64 +set NASM_PREFIX=3D%WORKSPACE%\nasm-2.13.03\ =20 +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 followi= ng +commands are required to setup the environment. Run these from the same +directory used to install the source and binaries. + +``` +set WORKSPACE=3D%CD% +set EDK_TOOLS_PATH=3D%WORKSPACE%\edk2\BaseTools +set EDK_TOOLS_BIN=3D%EDK_TOOLS_PATH%\BinWrappers\WindowsLike +set PACKAGES_PATH=3D%WORKSPACE%\edk2;%WORKSPACE%\Vlv2Binaries +path=3D%path%;%EDK_TOOLS_PATH%\Bin\Win32;%WORKSPACE%\openssl-1.0.2r-x64_86= -win64 +set NASM_PREFIX=3D%WORKSPACE%\nasm-2.13.03\ + +cd %WORKSPACE%\edk2 + +call edkSetup.bat Rebuild +``` + +Once the environment is setup, the MinnowBoard MAX firmware and capsules c= an 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/Vlv2TbltDe= vicePkg/Stitch`. +The file is in the form `MNW2MAX1.X64.0084.D01..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 insta= lled. + 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 f= or the +MinnowBoard MAX. It then sets up the environment for EDK II builds and bu= ilds +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-Develop= ment190216.zip +unzip MinnowBoardMax-Development190216.zip +unzip Vlv2SocBinPkg.zip + +cd .. +mkdir Conf + +export WORKSPACE=3D$PWD/edk2 +export PACKAGES_PATH=3D$PWD/Vlv2Binaries +export EDK_TOOLS_PATH=3D$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=3D$PWD/edk2 +export PACKAGES_PATH=3D$PWD/Vlv2Binaries +export EDK_TOOLS_PATH=3D$WORKSPACE/BaseTools + +cd edk2 +cd Vlv2TbltDevicePkg +``` + +Once the environment is setup, the MinnowBoard MAX firmware and capsules c= an 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 dri= ve +* 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 t= he + order listed. The progress bar matches the color name of the capsule. + MinnowMax.cap uses the color purple. Once all capsules are processed, t= he + 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 w= ide + 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 cap= sules + 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. --=20 2.21.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40368): https://edk2.groups.io/g/devel/message/40368 Mute This Topic: https://groups.io/mt/31556830/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-