Synopsis
Based on Alex Ionescu’s VisualUefi. Begin my UEFI development project.
Motivation
Traditional UEFI development environment is hard to build.
To use VisualUefi for easy UEFI component development.
Based on Visual Studio build environment, adding some VisualUefi-specific glue to support building within Visual Studio without 3rd party tools, and includes the latest QEMU and OVMF w/ SecureBoot packages for bare-metal testing of UEFI, without relying on Windows emulation.
Installation
At first install NASM (https://www.nasm.us/) and check, that environment variable NASM_PREFIX is correctly set to NASM installation path. No other 3rd party tools are needed.
To Build the library Than you should be able to open the EDK-II.SLN file and build without any issues in either Visual Studio 2015 or 2017 or 2019(My enviornment). WDK is not needed.
To Build the sample code Once the EDK-II libraries are built, you should be able to open the SAMPLES.SLN file and build the samples, which will create UefiApplication.efi, UefiDriver.efi, Cryptest.efi, and FtdiUsbSerialDxe.efi
Documentation
Please refer to EDK-II/TianoCore for all documentation/help regarding EDK-II.
Tests
You can press F5 (Run/Debug) from within the Sample Solution, which should spin up the QEMU instance with 512MB of RAM, and your release directory as a virtual file system accessible through fs1:
UEFI Hello World * fs1:\UefiApplication.efi
License
-
For the "samples" and "edk-ii" directory, the following license applies:
Copyright (c) 2015-2017, Alex Ionescu. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php -
For the "debugger" directory, the following license applies:
The following points clarify the QEMU license: 1) QEMU as a whole is released under the GNU General Public License, version 2. 2) Parts of QEMU have specific licenses which are compatible with the GNU General Public License, version 2. Hence each source file contains its own licensing information. Source files with no licensing information are released under the GNU General Public License, version 2 or (at your option) any later version. As of July 2013, contributions under version 2 of the GNU General Public License (and no later version) are only accepted for the following files or directories: bsd-user/, linux-user/, hw/misc/vfio.c, hw/xen/xen_pt*. 3) The Tiny Code Generator (TCG) is released under the BSD license (see license headers in files). 4) QEMU is a trademark of Fabrice Bellard. Fabrice Bellard and the QEMU team -
The "edk2" submodule has its own licensing information, please read it.