Divneil Rai Wadhawan ea9af51479 EmulatorPkg: Add RngLib to satisfy dependency of OpensslLib 3 年之前
..
AutoScanPei e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
BootModePei e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
CpuRuntimeDxe ad9df93770 EmulatorPkg: Change the cpu frequency to a non-zero value 5 年之前
EmuBlockIoDxe e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
EmuBusDriverDxe 9e3ab94dc8 EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 4 年之前
EmuGopDxe f034c05cc4 EmulatorPkg: Fix spelling mistake for occurred 3 年之前
EmuSimpleFileSystemDxe e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
EmuSnpDxe 110d4729b5 EmulatorPkg: Add NetworkPkg/NetworkPkg.dec as the package dependency 5 年之前
EmuThunkDxe e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
FirmwareVolumePei e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
FlashMapPei 9e3ab94dc8 EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES 4 年之前
FvbServicesRuntimeDxe e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
Include e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
Library 60d222748a EmulatorPkg/DxeTimerLib: drop superfluous cast 4 年之前
PlatformCI 951a03536c EmulatorPkg: Add Platform CI and configuration for Core CI 4 年之前
PlatformSmbiosDxe bfcf262488 EmulatorPkg/PlatformSmbiosDxe: fix a spell error of platform. 4 年之前
RealTimeClockRuntimeDxe e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
ResetRuntimeDxe e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
Sec de949fdbcf EmulatorPkg/Sec: Fix various typos 4 年之前
ThunkPpiToProtocolPei e3ba31da1c EmulatorPkg: Replace BSD License with BSD+Patent License 5 年之前
TimerDxe f034c05cc4 EmulatorPkg: Fix spelling mistake for occurred 3 年之前
Unix 26cfe2c659 EmulatorPkg/Unix: Fix various typos 4 年之前
Win bb78cfbec0 EmulatorPkg/WinHost: Enable network support. 4 年之前
EmulatorPkg.ci.yaml 647aa7110f EmulatorPkg/EmulatorPkg.ci.yaml: Add configuration for Ecc check 3 年之前
EmulatorPkg.dec 067503a8c6 EmulatorPkg:Change DEC_VERSION to DEC_SPECIFICATION 3 年之前
EmulatorPkg.dsc ea9af51479 EmulatorPkg: Add RngLib to satisfy dependency of OpensslLib 3 年之前
EmulatorPkg.fdf 7faece6985 EmulatorPkg: Enable support for Secure Boot 3 年之前
Readme.md 89c2e2b1d3 EmulatorPkg: strip trailing whitespace 4 年之前
build.sh 32e55c9f18 EmulatorPkg: Fix XCODE5 lldb issues 4 年之前

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 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