blob: 1c0646f20af7ce533a69aa90f7d49fff6497a77a [file] [log] [blame]
=== OVMF OVERVIEW ===
The Open Virtual Machine Firmware (OVMF) project aims
to support firmware for Virtual Machines using the edk2
code base. More information can be found at:
http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF
=== STATUS ===
Current status: Alpha
Current capabilities:
* IA32 and X64 architectures
* QEMU (0.9.1 or later)
- Video, keyboard, IDE, CD-ROM, serial
- Runs UEFI shell
* UEFI Linux has booted (but is not stable)
=== FUTURE PLANS ===
* Stabilize UEFI Linux boot
* Test/Stabilize UEFI Self-Certification Tests (SCT) results
=== BUILDING OVMF ===
Pre-requisites:
* Build environment capable of build the edk2 MdeModulePkg.
* A properly configured ASL compiler
* Intel ASL compiler: Available from http://www.acpica.org
or
* Microsoft ASL compiler: Available from http://www.acpi.info
Update Conf/target.txt ACTIVE_PLATFORM for OVMF:
PEI arch DXE arch UEFI interfaces
* OvmfPkg/OvmfPkgIa32.dsc IA32 IA32 IA32
* OvmfPkg/OvmfPkgIa32X64.dsc IA32 X64 X64
* OvmfPkg/OvmfPkgX64.dsc X64 X64 X64
Update Conf/target.txt TARGET_ARCH based on the .dsc file:
TARGET_ARCH
* OvmfPkg/OvmfPkgIa32.dsc IA32
* OvmfPkg/OvmfPkgIa32X64.dsc IA32 X64
* OvmfPkg/OvmfPkgX64.dsc X64
Following the edk2 build process, you will find the OVMF binaries
under the $WORKSPACE/Build/*/*/FV directory. The actual path will
depend on how your build is configured. You can expect to find
these binary outputs:
* OVMF.Fv
* Please note! This filename has changed. Older releases used OVMF.fd.
* CirrusLogic5446.rom
More information on building OVMF can be found at:
http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=How_to_build_OVMF
=== RUNNING OVMF on QEMU ===
* QEMU 0.9.1 or later is required.
* Either copy, rename or symlink OVMF.Fv => bios.bin
* Either copy, rename or symlink CirrusLogic5446.rom => vgabios-cirrus.bin
* Be sure to use qemu-system-x86_64, if you are using and X64 firmware.
(qemu-system-x86_64 works for the IA32 firmware as well, of course.)
* Use the QEMU -L parameter to specify the directory where the bios.bin
and vgabios-cirrus.bin files are located.
* Optionally you can use the QEMU -serial command to capture the
OVMF debug messages. For example: -serial file:serial.log
* The EFI shell is built into OVMF builds at this time, so it should
run automatically if a UEFI boot application is not found on the
removable media.
* On Linux, newer version of QEMU may enable KVM feature, and this might cause OVMF
to fail to boot. The QEMU '-no-kvm' may allow OVMF to boot.