OpenWrt/LEDE Project

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category Kernel
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version Trunk
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by RussianNeuroMancer - 16.05.2020

FS#3101 - Kernel in armvirt images missing virtio drivers and UEFI support

Hello!

Unless I missing something, it’s seems like currently armvirt images is missing virtio drivers (unlike x86 images) and UEFI support (again, unlike x86 images).

To get idea regarding virtio drivers, please take a look at x86 config and armvirt config:
https://github.com/openwrt/openwrt/blob/master/target/linux/x86/64/config-4.19 https://github.com/openwrt/openwrt/blob/master/target/linux/x86/64/config-5.4 https://github.com/openwrt/openwrt/blob/master/target/linux/armvirt/64/config-4.19 https://github.com/openwrt/openwrt/blob/master/target/linux/armvirt/64/config-5.4

As you can see, x86 config include all sorts of virtio drivers, such as virtio_blk, virtio_baloon, virtio_pci, scsi_virtio (and so on) while arm config doesn’t have any of these. In result armvirt64 does not boot - it can not mount rootfs, and no block devices is detected by the kernel due to missing block device drivers.

Another roadblock is missing UEFI support in armvirt images. By default virt-manager create virtual machine with ACPI and OVMF, and OVMF obviously can’t boot anything from ext4 images. It possible to workaround this by specifying path to kernel and initramfs in vm properties and editing vm xml manually via “virsh edit vmname” (remove loader and nvram tags in os section and remove acpi tag in features section) but then vm kernel won’t be able to boot due to missing drivers.

To reproduce this issue you need board running fresh Debian or Ubuntu, installed libvirt-daemon-system qemu-kvm ovmf ipxe-qemu, and ability to connect to such board from virt-manager (running on other PC for convinience).
Be aware that big.LITTLE architecture is not supported yet by libvirt, but there is plenty of boards that have four same cores - even simple RPi3B would be enough.

Please let me know if I need to provide any additional information.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing