add assertion to ensure HwErr type variable range is less than or equal to VariableSt...
[edk2.git] / OvmfPkg / README
blobaee3aa681975e72d68f2eb9c6fa1302aa06d6d0b
1 \r
2 === OVMF OVERVIEW ===\r
3 \r
4 The Open Virtual Machine Firmware (OVMF) project aims\r
5 to support firmware for Virtual Machines using the edk2\r
6 code base.  More information can be found at:\r
7 \r
8   https://edk2.tianocore.org/OVMF.html\r
9 \r
10 === STATUS ===\r
12 Current status: Alpha\r
14 Current capabilities:\r
15 * IA32 and X64 architectures\r
16 * QEMU (0.9.1 or later)\r
17   - Video, keyboard, IDE, CD-ROM, serial\r
18   - Runs UEFI shell\r
19 * UEFI Linux has booted (but is not stable)\r
21 === FUTURE PLANS ===\r
23 * Stabilize UEFI Linux boot\r
24 * Test/Stabilize UEFI Self-Certification Tests (SCT) results\r
26 === BUILDING OVMF ===\r
28 Pre-requisites:\r
29 * Build environment capable of build the edk2 MdeModulePkg.\r
30 * A properly configured ASL compiler\r
31   * Intel ASL compiler: Available from http://www.acpica.org\r
32       or\r
33   * Microsoft ASL compiler: Available from http://www.acpi.info\r
35 Update Conf/target.txt ACTIVE_PLATFORM for OVMF:\r
36                              PEI arch   DXE arch   UEFI interfaces\r
37 * OvmfPkg/OvmfPkgIa32.dsc      IA32       IA32           IA32\r
38 * OvmfPkg/OvmfPkgIa32X64.dsc   IA32       X64            X64\r
39 * OvmfPkg/OvmfPkgX64.dsc       X64        X64            X64\r
41 Update Conf/target.txt TARGET_ARCH based on the .dsc file:\r
42                              TARGET_ARCH\r
43 * OvmfPkg/OvmfPkgIa32.dsc     IA32\r
44 * OvmfPkg/OvmfPkgIa32X64.dsc  IA32 X64\r
45 * OvmfPkg/OvmfPkgX64.dsc      X64\r
47 Following the edk2 build process, you will find the OVMF binaries\r
48 under the $WORKSPACE/Build/*/*/FV directory.  The actual path will\r
49 depend on how your build is configured.  You can expect to find\r
50 these binary outputs:\r
51 * OVMF.fd \r
52 * CirrusLogic5446.rom\r
54 More information on building OVMF can be found at:\r
55 * https://edk2.tianocore.org/build-ovmf.html\r
57 === RUNNING OVMF on QEMU ===\r
59 * QEMU 0.9.1 or later is required.\r
60 * Either copy, rename or symlink OVMF.fd => bios.bin\r
61 * Either copy, rename or symlink CirrusLogic5446.rom => vgabios-cirrus.bin\r
62 * Be sure to use qemu-system-x86_64, if you are using and X64 firmware.\r
63   (qemu-system-x86_64 works for the IA32 firmware as well, of course.)\r
64 * Use the QEMU -L parameter to specify the directory where the bios.bin\r
65   and vgabios-cirrus.bin files are located.\r
66 * Optionally you can use the QEMU -serial command to capture the\r
67   OVMF debug messages.  For example: -serial file:serial.log\r
68 * The EFI shell is built into OVMF builds at this time, so it should\r
69   run automatically if a UEFI boot application is not found on the\r
70   removable media.\r