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