Hello Rod, On 09/02/13 11:21, Laszlo Ersek wrote: > On 08/31/13 21:23, Rod Smith wrote: > >> I've been trying to use the CSM-enabled OVMF with QEMU, with no luck; >> the QEMU system hangs before displaying the Tianocore splash screen. >> I've tried both the pre-built binary from http://www.kraxel.org/repos/ >> and a binary I've built myself using the SeaBIOS and Tianocore sources >> obtained via git within the past 24 hours. I've tried on both an AMD64 >> system running Gentoo and an Intel system running Fedora 17, and the >> appropriate QEMU binaries for both platforms. QEMU works fine with the >> non-CSM OVMF files, so it's not a more general QEMU problem. Is this a >> known issue with the current version, and if so, is there a known-good >> binary lurking out there somewhere? If not, are there any known >> pitfalls I might be missing, like options I might need to be passing >> to qemu-system-x86_64 to get it to work? Thanks for any pointers. > > Let's stick with Gerd's RPMs from <http://www.kraxel.org/repos/> for > now. > > Please specify: > - your host version numbers (kernel, qemu, the RPMs from Gerd's repo), > - the qemu command line, > - the output produced on qemu's debug console. > > I just tested: > [...] > > It is working fine for me.
I suspect that you forgot to add the -L /usr/share/edk2.git/ovmf-x64 option to qemu's command line, when testing Gerd's package. The "-bios" flag alone is not enough -- if you specify that flag only, then the /usr/share/edk2.git/ovmf-x64/vgabios-cirrus.bin oprom (if you use Cirrus), which is a symlink to ../../seavgabios.git/vgabios-cirrus.bin will not be loaded, and you'll be left with the stock qemu PREFIX/share/qemu/vgabios-cirrus.bin which was last synchronized with SeaBIOS in August 2010. In particular you'll be missing seabios commits Enable VGA output when settings bochs-specific mode http://code.coreboot.org/p/seabios/source/commit/0069a314 Enable VGA output when setting Cirrus-specific mode http://code.coreboot.org/p/seabios/source/commit/2eeafbf5 both released in SeaBIOS rel-1.7.3. (Qemu *is* regularly synched with SeaBIOS, but apparently not the SeaVGABIOS binaries.) ... I'm saying that you likely forgot "-L" after testing the following *working* setup: - host kernel: recent - qemu: built at upstream commit 4ff78e0d - SeaBIOS: built at upstream commit 915f64ae, as follows (entirely stolen from Gerd's SPEC files): - put the following in .config (strip leading space): CONFIG_CSM=y CONFIG_QEMU_HARDWARE=y CONFIG_PERMIT_UNALIGNED_PCIROM=y $ yes "" | make oldconfig $ make out/bios.bin $ cp out/bios.bin .../OvmfPkg/Csm/Csm16/Csm16.bin - distclean the tree, then put the following in .config (strip leading space): CONFIG_QEMU=y CONFIG_BUILD_VGABIOS=y CONFIG_VGA_CIRRUS=y CONFIG_VGA_PCI=y $ yes "" | make oldconfig $ make out/vgabios.bin $ cp out/vgabios.bin PREFIX/share/qemu/vgabios-cirrus.bin - OVMF: built at SVN r14616, plus the CSM binary from the above SeaBIOS build; with -D SECURE_BOOT_ENABLE -D FD_SIZE_2MB -D CSM_ENABLE. Again, this works with Gerd's RPMs, just don't forget -L. If you want to build from source instead: (1) Build the SeaBIOS CSM -- see above, (2) Build SeaVGABIOS -- see above, (3) Build OVMF, using the SeaBIOS CSM binary from step (1) -- see above Then, when running qemu, (4) point -bios at the output of (3), (5) choose one of: - overwriting the stock "vgabios-cirrus.bin" in the installed qemu tree with the output of step (2) -- see above - specifying the VGA card on the qemu command line as follows: -device cirrus-vga,romfile=/.../OUTPUT_OF_2/vgabios.bin Laszlo ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel