* Stabilize UEFI Linux boot\r
* Test/Stabilize UEFI Self-Certification Tests (SCT) results\r
\r
+=== BUILDING OVMF ===\r
+\r
+Pre-requisites:\r
+* Build environment capable of build the edk2 MdeModulePkg.\r
+* A properly configured ASL compiler\r
+ * Intel ASL compiler: Available from http://www.acpica.org\r
+ or\r
+ * Microsoft ASL compiler: Available from http://www.acpi.info\r
+\r
+Update Conf/target.txt ACTIVE_PLATFORM for OVMF:\r
+ PEI arch DXE arch UEFI interfaces\r
+* OvmfPkg/OvmfPkgIa32.dsc IA32 IA32 IA32\r
+* OvmfPkg/OvmfPkgIa32X64.dsc IA32 X64 X64\r
+* OvmfPkg/OvmfPkgX64.dsc X64 X64 X64\r
+\r
+Update Conf/target.txt TARGET_ARCH based on the .dsc file:\r
+ TARGET_ARCH\r
+* OvmfPkg/OvmfPkgIa32.dsc IA32\r
+* OvmfPkg/OvmfPkgIa32X64.dsc IA32 X64\r
+* OvmfPkg/OvmfPkgX64.dsc X64\r
+\r
+Following the edk2 build process, you will find the OVMF binaries\r
+under the $WORKSPACE/Build/*/*/FV directory. The actual path will\r
+depend on how your build is configured. You can expect to find\r
+these binary outputs:\r
+* OVMF.fd \r
+* CirrusLogic5446.rom\r
+\r
+More information on building OVMF can be found at:\r
+* https://edk2.tianocore.org/build-ovmf.html\r
+\r
+=== RUNNING OVMF on QEMU ===\r
+\r
+* QEMU 0.9.1 or later is required.\r
+* Either copy, rename or symlink OVMF.fd => bios.bin\r
+* Either copy, rename or symlink CirrusLogic5446.rom => vgabios-cirrus.bin\r
+* Be sure to use qemu-system-x86_64, if you are using and X64 firmware.\r
+ (qemu-system-x86_64 works for the IA32 firmware as well, of course.)\r
+* Use the QEMU -L parameter to specify the directory where the bios.bin\r
+ and vgabios-cirrus.bin files are located.\r
+* Optionally you can use the QEMU -serial command to capture the\r
+ OVMF debug messages. For example: -serial file:serial.log\r
+* The EFI shell is built into OVMF builds at this time, so it should\r
+ run automatically if a UEFI boot application is not found on the\r
+ removable media.\r
+\r