January 1, 0001

July 4, 2021 Debugging with gdb Adapted from a post to edk2-devel by Laszlo Ersek. Clone Andrei Warkentin's repo https://github.com/andreiw/andreiw-wip.git git clone https://github.com/andreiw/andreiw-wip.git cd andreiw-wip From the root of your clone copy the subdirectory "uefi/DebugPkg" to your edk2 workspace: cp -av uefi/DebugPkg $WORKSPACE Apply the following patch to OvmfPkg/OvmfPkgX64.dsc: ----------------- diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 97fdedb..794521b 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -592,3 +592,4 @@ !endif OvmfPkg/PlatformDxe/Platform.inf + DebugPkg/GdbSyms/GdbSyms.inf ----------------- Note that we don't modify the FDF file. Read more

January 1, 0001

July 4, 2021 Learning UEFI Development Read the UEFI Driver Writer's Guide: https://github.com/tianocore-docs/Docs/blob/master/Driver_Developer/UEFI_Driver_Writer_Guide_V1.0.1_120308.pdf (579 pages). The Module Writer's Guide is possibly also useful to read: https://code.bluestop.org/edk2/docs/specs/EDK2_Module_Writers_Guide_0.7.pdf (94 pages). Get familiar with the spec - download from http://www.uefi.org/specifications . I'd recommend reading both the oldest one you want to support, along with the newest one to see which newer features are available. For example if you want to support anything 2.1 and newer, start with http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_1.pdf (1682 pages) and then read the 2.6 spec from http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_6.pdf (2706 pages). In particular, note that not all UEFI functions can be called in all places in a driver: similar to Windows IRQ Levels, UEFI has TPL - or Task Priority Levels - that restrict classes of functions available. Become familiar with the TianoCore EDK2 API. Various versions of API documents ordered by the UDK release are available from https://code.bluestop.org/edk2/docs (e.g. https://code.bluestop.org/edk2/docs/UDK2014.SP1/). You may want to learn a bit about how the edk2 build system works, too. There's a copy of the various documents at https://code.bluestop.org/edk2/docs/specs/ . The main files a UEFI driver uses to build are DSC, DEC and INF (which are unrelated to Microsoft INF files) files. If you're going to be writing any sort of HII (Human Interface Infrastructure) code, you'll want to read the VFR and UNI (Unicode strings file) specs.

© Rebecca Cran 2022-2026