Hi Andrea,
I'm using the Debian Jessie with kernel Linux u202154 4.4.0-135-arm64.
But I am not sure whether the virtio-pci module has been built into the
kernel.
not as a module.
So I am changing to Ubuntu and RHEL73. As far as I know, ubuntu Wily
has the driver of virtio-pci.
Thanks~
On 17 August 2016 at 21:51, Andrea Bolognani <abologna(a)redhat.com> wrote:
On Wed, 2016-08-17 at 09:18 -0400, Cole Robinson wrote:
> > I have changed the libvirt to 1.3.5 now, also add the pci to
net-device xml like:
> > <address type='pci'/>,then use the virsh to boot the VM,the
total xml
file is:
> >
https://paste.fedoraproject.org/409534/71434141/
> >
> > After booting, the eth0 device disappear(eth0 occur when the address is
> > virtio-mmio),
> > but I can find another net-device, also it can't work for dhcp:
> > 2: enp2s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast state
> > UP group default qlen 1000
> > link/ether 52:54:00:0d:25:26 brd ff:ff:ff:ff:ff:ff
> > inet6 fe80::5054:ff:fe0d:2526/64 scope link
> > valid_lft forever preferred_lft forever
> > Running lspci:
> > 02:01.0 Ethernet controller: Red Hat, Inc Virtio network device
> >
> > My question is:
> > 1. I use Debian 8 AArch64 as the Guest OS, do you think the virtio-pci
for
> > net-device works is OK ?
>
> My guess is that the support isn't complete. Last I checked Fedora
doesn't
> even work with aarch64 virtio-pci + uefi, because it requires some kernel
> changes that haven't been fully upstreamed yet. But that was several
months
> ago... There may be a way to work around it nowadays but I don't
personally
> know. You may want to test with either RHELSA if you have a copy, or
linaro
> images.
>
> > 2. If I change the disk address-type to pci(Libvirt pass the virtio pci
> > parameters to Qemu for disk device), but I can't boot
> > the VM. Does Qemu not support virtio pci for disk device in AArch64?
>
> That should work fine in my testing with RHELSA, so I don't think it's a
> libvirt or qemu limitation. Probably the guest OS + UEFI.
Looks like Debian 8.5 simply doesn't include virtio-pci
support:
$ lsinitramfs /boot/initrd.img | grep virtio
lib/modules/3.16.0-4-arm64/kernel/drivers/scsi/virtio_scsi.ko
lib/modules/3.16.0-4-arm64/kernel/drivers/block/virtio_blk.ko
lib/modules/3.16.0-4-arm64/kernel/drivers/virtio
lib/modules/3.16.0-4-arm64/kernel/drivers/virtio/virtio_ring.ko
lib/modules/3.16.0-4-arm64/kernel/drivers/virtio/virtio_mmio.ko
lib/modules/3.16.0-4-arm64/kernel/drivers/virtio/virtio.ko
lib/modules/3.16.0-4-arm64/kernel/drivers/net/virtio_net.ko
$ modprobe virtio-pci
modprobe: FATAL: Module virtio-pci not found.
I think kernel 3.16.0 is simply too old.
Unfortunately, I tried the same setup with an up-to-date
Debian testing guest and I was still unable to boot it with
virtio-pci disk and network. Support for this kind of setup is
still far from being ready for mass consumption, I'm afraid.
--
Andrea Bolognani / Red Hat / Virtualization