Pierre Schweitzer
2014-Jul-29 13:16 UTC
[libvirt-users] VM not booting with physical hardware attached
Dear all, I'm looking for a bit of help with a problematic VM. We have an hypervisor which has 4 eth ports. 3 are already used, and I wanted to pass the 4th one directly to a VM (which is fully working without it). So, I modified the XML accordingly (which matches our hardware), adding: <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x3'/> </source> </hostdev> I also activated Intel IOMMU in Linux (and rebooted). Then, I issued a virsh start <domain>. libvirt is able to fire the VM, but then the OS inside doesn't boot at all. I tried to go deeper into debugging and it seems that the VM cannot pass SeaBIOS anymore. It gets stuck in seabios, it seems. No "Booting" sentence displayed, only version of SeaBIOS, when I watch VNC ouput. I tried to use <bios useserial='yes'/> with a console to the VM. Nothing is displayed on the console. Here are the specs of the machine: -> Ubuntu 12.04LTS up to date -> libvirt 0.9.8-2ubuntu17.19 -> kvm 1.0+noroms-0ubuntu14.15 -> seabios 0.6.2-0ubuntu2.1 The ethernet card I try to attach is: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe Its PCI ID being: 14e4:1657 What are the possibilities to debug this issue? What are the possibilities to fix it as well? Thanks to everyone helping! With my best regards, -- Pierre Schweitzer <pierre@reactos.org> System & Network Administrator Senior Kernel Developer ReactOS Deutschland e.V.
Pierre Schweitzer
2014-Jul-30 12:54 UTC
Re: [libvirt-users] VM not booting with physical hardware attached
Dear all, To answer myself, it appears to be a bug in the seabios shipped with Ubuntu. You can find the bug report here: https://bugs.launchpad.net/ubuntu/+source/seabios/+bug/1181777 TL;DR: the workaround is to use <rom bar='off'/> in the <hostdev ...> section. Tested with success here (not tested yet whether the network card properly works yet though). With my best regards, On 07/29/2014 03:16 PM, Pierre Schweitzer wrote:> Dear all, > > I'm looking for a bit of help with a problematic VM. We have an > hypervisor which has 4 eth ports. 3 are already used, and I wanted to > pass the 4th one directly to a VM (which is fully working without it). > > So, I modified the XML accordingly (which matches our hardware), adding: > <hostdev mode='subsystem' type='pci' managed='yes'> > <source> > <address domain='0x0000' bus='0x03' slot='0x00' function='0x3'/> > </source> > </hostdev> > > I also activated Intel IOMMU in Linux (and rebooted). Then, I issued a > virsh start <domain>. > > libvirt is able to fire the VM, but then the OS inside doesn't boot at > all. I tried to go deeper into debugging and it seems that the VM cannot > pass SeaBIOS anymore. It gets stuck in seabios, it seems. No "Booting" > sentence displayed, only version of SeaBIOS, when I watch VNC ouput. > I tried to use <bios useserial='yes'/> with a console to the VM. Nothing > is displayed on the console. > > Here are the specs of the machine: > -> Ubuntu 12.04LTS up to date > -> libvirt 0.9.8-2ubuntu17.19 > -> kvm 1.0+noroms-0ubuntu14.15 > -> seabios 0.6.2-0ubuntu2.1 > > The ethernet card I try to attach is: > Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe > Its PCI ID being: 14e4:1657 > > What are the possibilities to debug this issue? What are the > possibilities to fix it as well? > Thanks to everyone helping! > > With my best regards, > > > > _______________________________________________ > libvirt-users mailing list > libvirt-users@redhat.com > https://www.redhat.com/mailman/listinfo/libvirt-users-- Pierre Schweitzer <pierre@reactos.org> System & Network Administrator Senior Kernel Developer ReactOS Deutschland e.V.