Skip to content

KilianKegel/edk2-vUDK2018

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edk2-vUDK2018 / CdePkg

pci1

https://minnowboard.org/

Introduction edk2-vUDK2018

This edk2-vUDK2018 introduces the CdePkg and the CdeValidationPkg to the UEFI/Tianocore open source community.

edk2-vUDK2018 is the Git-Sub-Project in the UDK2018-MinnowBoard project to build the MinnowBoard UEFI BIOS, but can also be used stand alone in Emulation Mode (Nt32Pkg) (NOTE: In emulation mode timing calulation assumes to run a 1GHz platform).

The MinnowBoard familiy is an open source Personal Computer hardware originally created by a company called ADI Engineering, that now belongs to Silicom

Intel provides binary modules and maintains the build environment to get the MinnowBoard running with the open source UEFI BIOS Tianocore\EDK2

The MinnowBoard is the only free available hardware/PC platform to get UEFI Tianocore BIOS running.

edk2-vUDK2018 is the Git-Sub-Project to build the EDK2 UEFI BIOS and demonstrates CdePkg and CdeValidationPkg in emulation mode (Nt32Pkg)

Goal

  1. The main aspect is, to introduce the CdePkg and the CdeValidationPkg to the UEFI/Tianocore open source community.

  2. get the MinnowBoard and the EDK2 Emulation (Nt32Pkg) running with the latest released UDK2018 and the latest Visual Studio VS2019 buildenvironment

  3. use OpenSSL_1_1_0-stable in the component CryptoPkg\Library\OpensslLib

CdePkg is considered an improvement over traditional UEFI BIOS development, since it introduces

  • stable, precise, chipset (ACPI timer) independent C library conform clock() for POST and UEFI Shell in millisecond resolution
  • unlimited (buffer less) printf()-family and scanf()-family implementation
  • Standard C conform format specifiers for printf()-family and scanf()-family
  • a library, which satisfies all the Microsoft C compiler intrinsic requirements with one and the same library (C++ not supported)
  • Hosted Environment instead of Freestanding Environment for POST driver

This improvements shall enable UEFI and modernFW to provide a Standard C interface for any "C"-(open)source-based extention.

NOTE: Visual Studio is here only used for editing the project. The build process is still pure EDK! (the startup error message of VS2017/VS2019 can be ignored)

HowTo install/build/Edit

Installation

  1. install a build machine according to https://github.com/KilianKegel/HowTo-setup-an-UEFI-Development-PC#howto-setup-an-uefi-development-pc

  2. clone the UDK2018-MinnowBoard project --recursive
    i. git.exe clone --progress --recursive -v "https://github.com/KilianKegel/UDK2018-MinnowBoard.git" "A:\UDK2018-MinnowBoard"
    or
    ii. right click to open the context menu -> Git clone
    cloneimage2

Directory structure

The given MinnowBoard SourceCode tree is extended by files and directories shown below:

dirarch

root subdir subsubdir annotation
  <DIR>  UDK2018-MinnowBoard ..                 @link
bldDBG.bat batch to build the MinnowBoard BIOS in DEBUG mode @link
bldREL.bat batch to build the MinnowBoard BIOS in RELEASE mode @link
launch2019.bat start the VS2019 MinnowBoard build environment@link
launch2017.bat start the VS2019 MinnowBoard build environment@link
UDK2018-MinnowBoard.sln Visual Studio Solution to edit only the entire source tree @link
  <DIR>  edk2 .. GIT-subproject @link
bldDBG.bat batch to build the EDK2 emulation (Nt32Pkg) BIOS in DEBUG mode @link
CdePkg.sln Visual Studio solution to edit/build CdePkg @link
CdeValidationPkg.sln Visual Studio solution to edit/build CdeValidationPkg @link
edk2-vUDK2018.sln Visual Studio solution to edit/only CdeValidationPkg @link
launch2019.bat start the VS2019 EDK2 emulation (Nt32Pkg) build environment@link
launch2017.bat start the VS2017 EDK2 emulation (Nt32Pkg) build environment@link
  <DIR>  CdePkg CdePkg C Development Environment Package@link
  <DIR>  CdeValidationPkg CdeValidationPkg C Development Environment Package@link

Build

  1. To build the EDK emulation:
    edk2\launch2019.bat to setup EDK2 / emulation (Nt32Pkg) build environment
    rd /s /q build in the edk2directory to clean previous EDK2 / emulation build
    bldDBG.BAT (Debug) or bldREL.BAT (Release) to start the build process in the EDK2 directory
    start DBG to start the UEFI BIOS EMULATION

  2. To build the MinnowBoard:
    .\launch2019.bat to setup MinnowBoard (Vlv2TbltDevicePkg) build environment
    rd /s /q build in the .\directory to clean previous Vlv2TbltDevicePkg build
    bldREL.BAT (Release) or bldDBG.BAT (Debug) to start the build process in the .\directory
    If a DediProg is connected to the system, the BIOS is automatically updated in the target system MinnowBoard

NOTE: EDKEmulation build and MinnowBoard build CAN NOT be used alternating in the same command box.

Edit

UDK2018-MinnowBoard is the Git-Superproject UDK2018-MinnowBoard to build the MinnowBoard UEFI BIOS.

It includes the edk2 which is the Git-Subproject edk2-vUDK2018, that in turn includes the Cde-directories as GIT-Subproject CdePkg and GIT-Subproject CdeValidationPkg.

Related Projects

 related project annotation
Torito C Library C Library for UEFI Shell only. All projects below are built on or derived from Torito C Library
Visual ANSI C for UEFI Shell Visual Studio for UEFI Shell for beginners.
Visual DOS Tools for UEFI Shell more command implementation
Visual HWTools for UEFI Shell HWTools: PCI- and GPIOSpy for Baytrail. MemSpy for all.
UDK2018-Minnowboard Gets the MinnowBoard running with the latest released EDK sourcecode and demonstrates CdePkg on real hardware
edk2-UDK2018 Gets the Emulation (Nt32Pkg) running with the latest released EDK sourcecode and demonstrates CdePkg on the Windows Desktop
CdePkg Torito C Library redone for UEFI POST usage
CdeValidationPkg Unit tests for CdePkg

Known Bugs

  1. fixed 20190830: Capsule doesn't work.
  2. before BIOS build previous CdePkg build and FV files has to be deleted manually (clrCdePkgBuild.bat)

Revision history

20190906/improve tool chain check

  • add IASL version check
  • add PYTHON version check
  • add NASM version check

20190901/tool chain check

  • GIT version check, since Git ver. 2.23 support submodules w/a error
  • dediBurn, for auto updating the MinnowBoard BIOS

20190830/OpenSSL

  • add OpenSSL_1_1_0-stable to CryptoPkg\Library\OpensslLib

20190829/build batches

  • add bldDBG.bat and bldREL.bat

20190828/OpenSSL

  • add OpenSSL_1_1_0g to CryptoPkg\Library\OpensslLib
  • add openssl-1.0.2r-x64_86-win64 binary tools

20190824

  • add latest C Development Environment Packages (CdePkg, CdeSrcPkg and CdeValidationPkg)

20190217/1

  • prevent VS2017 to start a build process

20190216/4 - bugfix, update