]>
Commit | Line | Data |
---|---|---|
289cb872 RN |
1 | ## Overview\r |
2 | \r | |
3 | EmulatorPkg provides an environment where a UEFI environment can be\r | |
4 | emulated under an environment where a full UEFI compatible\r | |
5 | environment is not possible. (For example, running under an OS\r | |
6 | where an OS process hosts the UEFI emulation environment.)\r | |
7 | \r | |
8 | https://github.com/tianocore/tianocore.github.io/wiki/EmulatorPkg\r | |
9 | \r | |
10 | ## Status\r | |
11 | \r | |
12 | * Builds and runs under\r | |
13 | * a posix-like environment with X windows\r | |
14 | - Linux\r | |
15 | - OS X\r | |
16 | * Windows environment\r | |
17 | - Win10 (verified)\r | |
18 | - Win8 (not verified)\r | |
19 | \r | |
20 | ## How to Build & Run\r | |
21 | **You can use the following command to build.**\r | |
22 | * 32bit emulator in Windows:\r | |
23 | \r | |
24 | `build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a IA32`\r | |
25 | \r | |
26 | * 64bit emulator in Windows:\r | |
27 | \r | |
28 | `build -p EmulatorPkg\EmulatorPkg.dsc -t VS2017 -D WIN_SEC_BUILD -a X64`\r | |
29 | \r | |
30 | * 32bit emulator in Linux:\r | |
31 | \r | |
32 | `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -a IA32`\r | |
33 | \r | |
34 | * 64bit emulator in Linux:\r | |
35 | \r | |
36 | `build -p EmulatorPkg\EmulatorPkg.dsc -t GCC5 -D UNIX_SEC_BUILD -a X64`\r | |
37 | \r | |
38 | **You can start/run the emulator using the following command:**\r | |
39 | * 32bit emulator in Windows:\r | |
40 | \r | |
41 | `cd Build\EmulatorIA32\DEBUG_VS2017\IA32\ && WinHost.exe`\r | |
42 | \r | |
43 | * 64bit emulator in Windows:\r | |
44 | \r | |
45 | `cd Build\EmulatorX64\DEBUG_VS2017\X64\ && WinHost.exe`\r | |
46 | \r | |
47 | * 32bit emulator in Linux:\r | |
48 | \r | |
49 | `cd Build/EmulatorIA32/DEBUG_GCC5/IA32/ && ./Host`\r | |
50 | \r | |
51 | * 64bit emulator in Linux:\r | |
52 | \r | |
53 | `cd Build/EmulatorX64/DEBUG_GCC5/X64/ && ./Host`\r | |
54 | \r | |
55 | **On posix-like environment with the bash shell you can use EmulatorPkg/build.sh to simplify building and running\r | |
56 | emulator.**\r | |
57 | \r | |
58 | For example, to build + run:\r | |
59 | \r | |
60 | `$ EmulatorPkg/build.sh` \r | |
61 | `$ EmulatorPkg/build.sh run`\r | |
62 | \r | |
63 | The build architecture will match your host machine's architecture.\r | |
64 | \r | |
65 | On X64 host machines, you can build + run IA32 mode as well:\r | |
66 | \r | |
67 | `$ EmulatorPkg/build.sh -a IA32` \r | |
68 | `$ EmulatorPkg/build.sh -a IA32 run`\r |