Files
Michael D Kinney 1840588814 EmulatorPkg/PlatformCI: Set WIN_MINGW32_BUILD
Add logic to set WIN_MINGW32_BUILD to the same value
that is set in build.py. This is required because the
stuart DSC parser runs before build.py and this variable
is used in EmulatorPkg.dsc and the stuart DSC parser
must get the same result as build.py or the MINGW builds
using stuart do not work. This matches the same method
used for WIN_HOST_BUILD.

Remove the following settings that are set but never used:
* -D BUILD_32
* -D BUILD_64
* BLD_*_BUILD_IA32
* BLD_*_BUILD_X64
* HOST_DLINK_PATHS

Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2026-01-30 13:39:53 +00:00
..
2025-07-08 15:42:03 +00:00
2025-07-08 15:42:03 +00:00
2025-11-21 21:49:59 +00:00
2024-12-10 23:42:09 +00:00

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