PXEGRUB boot with bridged network and virtio-net seems not to work in 7.0.4

Discussions related to using VirtualBox on Linux hosts.
Post Reply
jonsito
Posts: 4
Joined: 26. Dec 2022, 13:32

PXEGRUB boot with bridged network and virtio-net seems not to work in 7.0.4

Post by jonsito »

Hello All.

Recently I upgraded VirtualBox from 6.1.40 to 7.0.4 in my Fedora 37 system. I want to start a linux guest vm via pxe grub (EFI Mode) from external server server as I usually did with 6.1.40 to emulate one of our thin clients in our student's lab.
So I set up a propper/unique MAC to the vm , dhcp server, and so; and configure network interface to use bridged mode and paravirtualized adapter

When I try to boot, i receive dhcp data and grub or efi related files... but cannot load neither vmlinuz nor initrd image. Analisys with "wireshark" shows that sort TFTP/UDP transfers seems to work, but when I try to download long files ( whatever transfer protocol I choose ) from grub.cfg file, download hangs and multiple error packets are shown by wireshark

Wireshark shows that transaction starts, but after few packets, vm stop ack'ng more data, and server then continuous trying to get ack from last packet
Output from "dmesg" log shows INTNET-RECV segfaults

I've tried several images, download protocols, and even tried to change adapter type and promiscuous mode, but only paravirtualized interface (partially) works. Of course: I have extension pack 7.0.4 installed.

Using same configuration with VirtualBox 6.1.40 works flawlessly.
Any suggestion will be agreed.

Thanks in advance.
Juan Antonio
jonsito
Posts: 4
Joined: 26. Dec 2022, 13:32

Re: PXEGRUB boot with bridged network and virtio-net seems not to work in 7.0.4

Post by jonsito »

More info:
Fedora 37 fully updated
Kernel 6.0.13-300.fc37.x86_64
VirtualBox Versión 7.0.4_rpmfusion r154605
libvirt 8.6.0-5.fc37.x86_64

This screen capture shows:
- VirtualBox VM network configuration. Same results playing with promiscuous mode options
- Grub.cfg entry used to boot. I need to use http download because tftp is too inefficient with large files
- dmesg error message with INTNET-RECV error message
- Wireshark trace. You can see how tranfer starts but fails after several packets transfered

Virtualbox logfile shows nothing relevant
captura.png
Image
jonsito
Posts: 4
Joined: 26. Dec 2022, 13:32

Re: PXEGRUB boot with bridged network and virtio-net seems not to work in 7.0.4

Post by jonsito »

Found that libvirt is the culprit:
ene 09 08:58:10 jonsy.dit.upm.es libvirtd[19214]:Libvirt doesn't support VirtualBox API version 7000004
---

Code: Select all

bash$ sudo systemctl status libvirtd.service
○ libvirtd.service - Virtualization daemon
     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: disabled)
     Active: inactive (dead) since Mon 2023-01-09 09:00:10 CET; 11min ago
   Duration: 2min 120ms
TriggeredBy: ● libvirtd-admin.socket
             ● libvirtd-ro.socket
             ● libvirtd.socket
       Docs: man:libvirtd(8)
             https://libvirt.org
    Process: 19214 ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS (code=exited, status=0/SUCCESS)
   Main PID: 19214 (code=exited, status=0/SUCCESS)
      Tasks: 2 (limit: 32768)
     Memory: 33.0M
        CPU: 391ms
     CGroup: /system.slice/libvirtd.service
             ├─3882 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
             └─3883 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper

ene 09 08:58:10 jonsy.dit.upm.es libvirtd[19214]: libvirt version: 8.6.0, package: 5.fc37 (Fedora Project, 2022-11-20-18:43:33, )
ene 09 08:58:10 jonsy.dit.upm.es libvirtd[19214]: hostname: jonsy.dit.upm.es
ene 09 08:58:10 jonsy.dit.upm.es libvirtd[19214]:Libvirt doesn't support VirtualBox API version 7000004
ene 09 08:58:10 jonsy.dit.upm.es systemd[1]: Started libvirtd.service - Virtualization daemon.
ene 09 08:58:10 jonsy.dit.upm.es dnsmasq[3882]: read /etc/hosts - 8 names
ene 09 08:58:10 jonsy.dit.upm.es dnsmasq[3882]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 names
ene 09 08:58:10 jonsy.dit.upm.es dnsmasq-dhcp[3882]: read /var/lib/libvirt/dnsmasq/default.hostsfile
ene 09 09:00:10 jonsy.dit.upm.es systemd[1]: libvirtd.service: Deactivated successfully.
ene 09 09:00:10 jonsy.dit.upm.es systemd[1]: libvirtd.service: Unit process 3882 (dnsmasq) remains running after unit stopped.
ene 09 09:00:10 jonsy.dit.upm.es systemd[1]: libvirtd.service: Unit process 3883 (dnsmasq) remains running after unit stopped.
Back to 6.1.40. Meanwhile, I'll ask libvirt guys.
BTW: when will Fedora version of VBox-7.x be available?
jonsito
Posts: 4
Joined: 26. Dec 2022, 13:32

[SOLVED] Re: PXEGRUB boot with bridged network and virtio-net seems not to work in 7.0.4

Post by jonsito »

Seems that libvirt guys are not interested in pay attention to vb7.x libvirt support:

https://gitlab.com/libvirt/libvirt/-/issues/419
VirtualBox API's nature is quite volatile so adding support for the latest API will likely be a time consuming task, not to mention that the virtualbox driver, though supported, simply doesn't get as much attention as e.g. QEMU driver gets and unless someone from the community steps up and volunteers to do the work I wouldn't hold my breath on this.
Fortunately I found an alternate way of get pxegrub boot running using intel network drivers and Hyper-V instead of virtio+kvm

Thanks for reading
Post Reply