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

Reply via email to