audk/OvmfPkg
jljusten 14b21de964 OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9275 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 16:29:03 +00:00
..
AcpiTables 1. update AcpiTable module type to USER_DEFINED 2009-08-11 05:30:52 +00:00
Include/Library Implement NvVarsFileLib to save and restore non-volatile variables using a file. 2009-09-16 16:28:55 +00:00
Library OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile. 2009-09-16 16:29:03 +00:00
PlatformPei OVMF: Add support for more persistent NV variables which can survive a system reboot. 2009-09-07 20:18:17 +00:00
ResetVector Add initial version of Open Virtual Machine Firmware (OVMF) platform. 2009-05-27 21:10:18 +00:00
Sec Remove ".intel_syntax", convert MASM to GAS. 2009-08-17 06:16:40 +00:00
OvmfPkg.dec Implement NvVarsFileLib to save and restore non-volatile variables using a file. 2009-09-16 16:28:55 +00:00
OvmfPkg.fdf 1. update AcpiTable module type to USER_DEFINED 2009-08-11 05:30:52 +00:00
OvmfPkgIa32.dsc OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile. 2009-09-16 16:29:03 +00:00
OvmfPkgIa32X64.dsc OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile. 2009-09-16 16:29:03 +00:00
OvmfPkgIa32X64.fdf 1. update AcpiTable module type to USER_DEFINED 2009-08-11 05:30:52 +00:00
OvmfPkgX64.dsc OVMF BDS: Make use of NvVarsFileLib to make NV variable less volatile. 2009-09-16 16:29:03 +00:00
README Update README for video driver split from main OVMF firmware. 2009-07-14 23:32:44 +00:00

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.



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



  https://edk2.tianocore.org/OVMF.html



=== 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.fd 

* CirrusLogic5446.rom



More information on building OVMF can be found at:

* https://edk2.tianocore.org/build-ovmf.html



=== RUNNING OVMF on QEMU ===



* QEMU 0.9.1 or later is required.

* Either copy, rename or symlink OVMF.fd => 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.