edk2-vUDK2018 / CdePkg
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)
-
The main aspect is, to introduce the CdePkg and the CdeValidationPkg to the UEFI/Tianocore open source community.
-
get the MinnowBoard and the EDK2 Emulation (Nt32Pkg) running with the latest released UDK2018 and the latest Visual Studio VS2019 buildenvironment
-
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 andscanf()
-family implementation - Standard C conform format specifiers for
printf()
-family andscanf()
-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)
-
install a build machine according to https://github.com/KilianKegel/HowTo-setup-an-UEFI-Development-PC#howto-setup-an-uefi-development-pc
-
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
The given MinnowBoard SourceCode tree is extended by files and directories shown below:
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 |
-
To build the EDK emulation:
edk2\launch2019.bat
to setup EDK2 / emulation (Nt32Pkg) build environment
rd /s /q build
in theedk2
directory to clean previous EDK2 / emulation build
bldDBG.BAT
(Debug)orto start the build process in the EDK2 directorybldREL.BAT
(Release)
start DBG
to start the UEFI BIOS EMULATION -
To build the MinnowBoard:
.\launch2019.bat
to setup MinnowBoard (Vlv2TbltDevicePkg
) build environment
rd /s /q build
in the.\
directory to clean previousVlv2TbltDevicePkg
build
bldREL.BAT
(Release) orbldDBG.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.
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 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 |
- fixed 20190830:
Capsule doesn't work. - before BIOS build previous CdePkg build and FV files has to be deleted manually (clrCdePkgBuild.bat)
- add IASL version check
- add PYTHON version check
- add NASM version check
- GIT version check, since Git ver. 2.23 support submodules w/a error
- dediBurn, for auto updating the MinnowBoard BIOS
- add OpenSSL_1_1_0-stable to CryptoPkg\Library\OpensslLib
- add bldDBG.bat and bldREL.bat
- add OpenSSL_1_1_0g to CryptoPkg\Library\OpensslLib
- add openssl-1.0.2r-x64_86-win64 binary tools
- add latest C Development Environment Packages (CdePkg, CdeSrcPkg and CdeValidationPkg)
- prevent VS2017 to start a build process