Skip to content

Files

Latest commit

843f2d0 · May 30, 2024

History

History
This branch is 1417 commits behind tianocore/edk2:master.

EmulatorPkg

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Apr 3, 2024
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Nov 27, 2023
Jan 5, 2024
Dec 27, 2023
Jan 17, 2023
Dec 7, 2021
Dec 7, 2021
Dec 7, 2021
Mar 8, 2024
Dec 7, 2021
Dec 7, 2021
May 30, 2024
Jan 5, 2024
Dec 8, 2022
Dec 27, 2023
May 24, 2024
May 24, 2024
Oct 4, 2019
Aug 19, 2019

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 VS2017 -a IA32

  • 64bit emulator in Windows:

    build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -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_VS2017\IA32\ && WinHost.exe

  • 64bit emulator in Windows:

    cd Build\EmulatorX64\DEBUG_VS2017\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