]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/README
Patch from open source community for CryptoPkg to allow it to build for ARM using...
[mirror_edk2.git] / OvmfPkg / README
index aee3aa681975e72d68f2eb9c6fa1302aa06d6d0b..e4a4b1f5a1917d5f9a2f7d0c7f1673e233d0c8d5 100644 (file)
@@ -5,7 +5,7 @@ The Open Virtual Machine Firmware (OVMF) project aims
 to support firmware for Virtual Machines using the edk2\r
 code base.  More information can be found at:\r
 \r
-  https://edk2.tianocore.org/OVMF.html\r
+http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF\r
 \r
 === STATUS ===\r
 \r
@@ -16,6 +16,7 @@ Current capabilities:
 * QEMU (0.9.1 or later)\r
   - Video, keyboard, IDE, CD-ROM, serial\r
   - Runs UEFI shell\r
+  - Optional NIC support.  Requires QEMU (0.12.2 or later)\r
 * UEFI Linux has booted (but is not stable)\r
 \r
 === FUTURE PLANS ===\r
@@ -27,10 +28,9 @@ Current capabilities:
 \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
+* A properly configured ASL compiler:\r
+  - Intel ASL compiler: Available from http://www.acpica.org\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
@@ -48,16 +48,18 @@ Following the edk2 build process, you will find the OVMF binaries
 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
+* OVMF.FD\r
+  - Please note!  This filename has changed.  Older releases used OVMF.Fv.\r
 * CirrusLogic5446.rom\r
 \r
 More information on building OVMF can be found at:\r
-* https://edk2.tianocore.org/build-ovmf.html\r
+\r
+http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=How_to_build_OVMF\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 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
@@ -68,4 +70,49 @@ More information on building OVMF can be found at:
 * 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
+* On Linux, newer version of QEMU may enable KVM feature, and this might\r
+  cause OVMF to fail to boot.  The QEMU '-no-kvm' may allow OVMF to boot.\r
+\r
+=== Build Scripts ===\r
+\r
+On systems with the bash shell you can use OvmfPkg/build.sh to simplify\r
+building and running OVMF.\r
+\r
+So, for example, to build + run OVMF X64:\r
+$ OvmfPkg/build.sh -a X64\r
+$ OvmfPkg/build.sh -a X64 qemu\r
+\r
+And to run a 64-bit UEFI bootable ISO image:\r
+$ OvmfPkg/build.sh -a X64 qemu -cdrom /path/to/disk-image.iso\r
+\r
+To build a 32-bit OVMF without debug serial messages using GCC 4.5:\r
+$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC45\r
+\r
+=== Network Support ===\r
+\r
+To add network drivers to OVMF:\r
+\r
+* Download UEFI drivers for the e1000 NIC\r
+  - http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17515&lang=eng\r
+  - Install the drivers into a directory called Intel3.5 in your WORKSPACE\r
+\r
+* Include the drivers in OVMF during the build:\r
+  - Add '-D NETWORK_ENABLE' to your build command\r
+  - For example: build -D NETWORK_ENABLE\r
+\r
+* Use the QEMU -net parameter to enable NIC support.\r
+  - QEMU does not support UEFI DHCP or UEFI PXE Boot, so long timeouts will\r
+    occur when NICs are enabled.  The long timeouts can be avoided by\r
+    interrupts the boot sequence by pressing a key when the logo appears.\r
+  - Example: Enable e1000 NIC with a DHCP server and restrict packet\r
+    forwarding:\r
+    -net nic,model=e1000 -net user,restrict=yes -net user,dhcpstart=10.0.2.10\r
+  - Example: Enable e1000 NIC with a DHCP server, restrict packet forwarding,\r
+    and generate PCAP file:\r
+    -net nic,model=e1000 -net user,restrict=yes -net user,dhcpstart=10.0.2.10\r
+    -net dump,file=a.pcap\r
+  - Example: Enable 2 e1000 NICs with a DHCP server and restrict\r
+    packet forwarding:\r
+    -net nic,model=e1000,addr=3 -net nic,model=e1000,addr=4\r
+    -net user,restrict=yes -net user,dhcpstart=10.0.2.10\r
 \r