On 09/03/13 20:50, Rod Smith wrote:
> On 09/03/2013 11:19 AM, Laszlo Ersek wrote:
>>
>> Rod, considering your AMD machine a given, I think it should be easiest
>> to test:
>> - with qemu v1.5.3 (which doesn't have 235e8982), and
>> - with KVM enabled (since TCG seems broken for OVMF+CSM since qemu-1.4
>>    minimally), and
>> - with Gerd's RPMs.
>>
>> I tested this configuration as well and it works.
> 
> This works for me, too, with the caveat that it works only with "-net
> none". If I omit that parameter, it still hangs after the iPXE messages,
> with the following debug output:
> 
> http://www.rodsbooks.com/test.debug2
> 
> Networking isn't critical for my immediate purposes, so I'm quite
> willing to use "-net none", but if the solution should work with
> networking, this might need some more investigation. (I'm willing to run
> some more test commands, if you can't reproduce this behavior.) Thanks
> for finding the solution, though!

Two ideas (both kludges :))

(1) Try to specify the NIC in the "new way"; that is, with -netdev (for
the backend) plus -device (for the frontend), rather than using -net.

Also, do the same for the disk (-drive plus -device).

Then, try to put the NIC at the end of the boot order; for example:

  -drive file=whatever.img,if=none,id=drive1,format=qcow2,cache=none
  -device virtio-blk-pci,scsi=off,drive=drive1,bootindex=1
                                        ^^^^^^ ^^^^^^^^^^^
                                           |       |
                                           |   boot order
                                points at the -drive id

  -netdev ...,id=net1
  -device virtio-net-pci,netdev=net1,mac=52:54:00:93:83:42,bootindex=2
                         ^^^^^^^^^^^                       ^^^^^^^^^^^
                              |                                |
                    points at the -netdev id               boot order

SeaBIOS might care even in its CSM build.

(2) Again, use -netdev + -device. Instead of the bootindex setting, try
to kill the iPXE oprom of the NIC. (BTW, since commit c45e5b5b, first
released in v1.5.0, these oproms can run under both UEFI and SeaBIOS.)

  -device virtio-net-pci,...,romfile=/dev/null

Normally, "PREFIX/share/qemu/efi-<NIC-MODEL>.rom" would be loaded, and
that's a "fat" iPXE binary (see commit c45e5b5b).

(This latter "trick" also works if you want to test UEFI PXE boot with
VirtioNetDxe rather than the iPXE SNP driver that comes from the oprom.)

These are kind of lame, but hopefully at least one works as a stop-gap:
if you don't need a NIC at all in the guest, pass -net none; if you want
PXE boot, use the UEFI one (with either of the iPXE SNP (default,
romfile= property absent) or VirtioNetDxe (romfile=/dev/null)); if you
want legacy disk boot, kill the oprom (romfile=/dev/null again).

Thanks
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