[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [edk2] Question about PEX boot on Xen with OVMF as bios

On 05/25/15 03:50, lidonglin wrote:
> Hi all:

> Recentlly, I want to use PXE boot on Xen with OVMF as bios. At
> beginning, I just add rtl8139 as guest nic device, and I compile a
> release ovmf. When I enter into uefi, I can't find network boot menu.
> According to edk2/OvmfPkg/README file, I know there is a virtio-net
> driver build into ovmf. So I replace rtl8139 with virtio-net. When I
> enter into uefi boot menu again. I see the network boot entry, I'm
> very happy. But after I choose network boot entry, uefi can't display
> pxe boot process, only black sceen with one while dot at the
> beginning of the screen. I try e1000 according to edk2/OvmfPkg/README
> file, and I get the same result. Except e1000 and virtio-net, I can't
> see the network boot entry if I use any other nics. Who can tell me
> how to use pxe boot on Xen with ovmf. Thanks.

(1) The dots that you mention are progress info from the higher level
edk2 network / PXE stack. I can't recall the details without looking at
the code, but if you see at least one dot, that's a sign that PXE boot
is being attempted.

(2) The only SNP (Simple Network Protocol) driver that OVMF contains,
when built purely from the upstream repo, is for the virtio-net device
of QEMU.

I doubt that you can use virtio devices on a Xen host.

(3) Spelling out a special case of (2) -- there's no xen-netfront driver
in OVMF.

(4) One possibility I can see for what you want to do is:
- Configure the e1000 device model for your guest
- Build OVMF as described in OvmfPkg/README, near "E1000_ENABLE".
  This requires downloading a proprietary, non-redistributable driver
  binary from Intel.

(5) Another possibility is to use the iPXE drivers (PCI oproms) bundled
with upstream qemu. You'd have to build a recent qemu checkout, and even
so, I'm unsure how PCI oproms are supposed to work on Xen.

Since the iPXE bundle in QEMU provides a UEFI driver for rtl8139, and
you tried that, and it failed, I'm thinking that you either used a too
old qemu, or that this approach is not viable on Xen.

(6) Assuming you get the guest set up alright (correct device model
selected, appropriate driver available etc), it's still 99% certain that
your initial host network config will not be suitable for PXE booting a
guest with the edk2 stack.

In my experience the biggest hurdle in PXE-booting with edk2 has
consistently been: firewall rules, bridge setup, DHCP setup, PXE/TFTP
setup, etc. Tcpdump and the relevant networking specs usually help.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.