audk/EmulatorPkg
Michael Kubacki 4274bcf146 EmulatorPkg: Add minimum Python version for CI badge
The Python version used for build and CI should always be at least
the minimum version supported by edk2-pytool-extensions. A badge
is added that keeps this information dynamically up-to-date based
on the minimum version specified in edk2-pytool-extensions
pyproject.toml file.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-12-13 22:05:02 +00:00
..
Application/RedfishPlatformConfig
AutoScanPei
BootModePei
CpuRuntimeDxe
EmuBlockIoDxe EmulatorPkg: BlockIo2 APIs do not signal event 2024-12-02 02:23:31 +00:00
EmuBusDriverDxe
EmuGopDxe
EmuSimpleFileSystemDxe
EmuSnpDxe
EmuThunkDxe
FirmwareVolumePei
FlashMapPei
FvbServicesRuntimeDxe
Include
Library
PlatformCI EmulatorPkg: Add minimum Python version for CI badge 2024-12-13 22:05:02 +00:00
PlatformSmbiosDxe
RealTimeClockRuntimeDxe
ResetRuntimeDxe
Sec
ThunkPpiToProtocolPei
TimerDxe
Unix EmulatorPkg: fix X64 Unix/Host segfault with GCC toolchain profile 2024-09-05 01:50:41 +00:00
Win EmulatorPkg WinThunk: Use Win32 API to get Performance Frequency and Count 2024-11-14 02:15:43 +00:00
EmulatorPkg.ci.yaml EmulatorPkg/EmulatorPkg.ci.yaml: Add PrEval CI config 2024-09-02 23:20:35 +00:00
EmulatorPkg.dec
EmulatorPkg.dsc MdePkg: MdeLibs.dsc.inc: Apply StackCheckLibNull to All Module Types 2024-11-13 21:01:46 +00:00
EmulatorPkg.fdf
Readme.md Update CI to VS2022 2024-12-10 23:42:09 +00:00
build.sh

Readme.md

Overview

EmulatorPkg provides an environment where a UEFI environment can be emulated under an environment where a full UEFI compatible environment is not possible. (For example, running under an OS where an OS process hosts the UEFI emulation environment.)

https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg

Status

  • Builds and runs under
    • a posix-like environment with X windows
      • Linux
      • OS X
    • Windows environment
      • Win10 (verified)
      • Win8 (not verified)

How to Build & Run

You can use the following command to build.

  • 32bit emulator in Windows:

    build -p EmulatorPkg\EmulatorPkg.dsc -t VS2022 -a IA32

  • 64bit emulator in Windows:

    build -p EmulatorPkg\EmulatorPkg.dsc -t VS2022 -a X64

  • 32bit emulator in Linux:

    build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -a IA32

  • 64bit emulator in Linux:

    build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -a X64

You can start/run the emulator using the following command:

  • 32bit emulator in Windows:

    cd Build\EmulatorIA32\DEBUG_VS2022\IA32\ && WinHost.exe

  • 64bit emulator in Windows:

    cd Build\EmulatorX64\DEBUG_VS2022\X64\ && WinHost.exe

  • 32bit emulator in Linux:

    cd Build/EmulatorIA32/DEBUG_GCC5/IA32/ && ./Host

  • 64bit emulator in Linux:

    cd Build/EmulatorX64/DEBUG_GCC5/X64/ && ./Host

On posix-like environment with the bash shell you can use EmulatorPkg/build.sh to simplify building and running emulator.

For example, to build + run:

$ EmulatorPkg/build.sh $ EmulatorPkg/build.sh run

The build architecture will match your host machine's architecture.

On X64 host machines, you can build + run IA32 mode as well:

$ EmulatorPkg/build.sh -a IA32 $ EmulatorPkg/build.sh -a IA32 run