(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
file is 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
* 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
+* Capturing OVMF debug messages on qemu:\r
+ - The default OVMF build writes debug messages to IO port 0x402. The\r
+ following qemu command line options save them in the file called\r
+ debug.log: '-debugcon file:debug.log -global isa-debugcon.iobase=0x402'.\r
+ - It is possible to revert to the original behavior, when debug messages were\r
+ written to the emulated serial port (potentially intermixing OVMF debug\r
+ output with UEFI serial console output). For this the\r
+ '-D DEBUG_ON_SERIAL_PORT' option has to be passed to the build command (see\r
+ the next section), and in order to capture the serial output qemu needs to\r
+ be started with eg. '-serial file:serial.log'.\r
+ - Debug messages fall into several categories. Logged vs. suppressed\r
+ categories are controlled at OVMF build time by the\r
+ 'gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel' bitmask (an UINT32\r
+ value) in the selected .dsc file. Individual bits of this bitmask are\r
+ defined in <MdePkg/Include/Library/DebugLib.h>. One non-default bit (with\r
+ some performance impact) that is frequently set for debugging is 0x00400000\r
+ (DEBUG_VERBOSE).\r
+ - The RELEASE build target ('-b RELEASE' build option, see below) disables\r
+ all debug messages. The default build target is DEBUG.\r
\r
=== Build Scripts ===\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
+To build a 32-bit OVMF without debug messages using GCC 4.5:\r
$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC45\r
\r
=== Network Support ===\r