Xen on FreeBSD 11: Cannot boot from QCOW2 properly (waiting for XENBUS, xenbusb_nop_confighook_cb)

Alexander Nusov alexander.nusov at nfvexpress.com
Mon Jan 23 12:00:41 UTC 2017


Hello,

I'm trying to launch a HVM DomU guest from QCOW2 image by using PV driver on FreeBSD 11.0-RELEASE.
The issue is that guest cannot connect to the device/vbd and requires to wait for 4 minutes to proceed, it goes through the countdown and starts fine (disk, networking)

[    6.684115] XENBUS: Waiting for devices to initialise: 25s...20s...15s...10s...5s...0s...235s...230s...225s...220s...215s...210s...205s...200s...195s...190s...185s...180s...175s...170s...165s...160s...155s...150s...145s...140s...135s...130s...125s...120s...115s...110s...105s...100s...95s...90s...85s...80s...75s...70s...65s...60s...55s...50s...45s...40s...35s...30s...25s...20s...15s...10s...5s...0s...
[  271.591403] XENBUS: Timeout connecting to device: device/vbd/51712 (local state 3, remote state 1)
[  271.599963] XENBUS: Device with no driver: device/vkbd/0
[  271.604249]   Magic number: 1:453:334
...
login: 


Unlike Linux It's impossible to boot FreeBSD 11 guests from QCOW2 (xenbusb_nop_confighook_cb timeout)

Steps to reproduce:
1. Download qcow2 cirros image (small linux) 
http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img <http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img>
# file cirros-0.3.4-x86_64-disk.img 
cirros-0.3.4-x86_64-disk.img: QEMU QCOW Image (v2), 41126400 bytes
2. create DomU from config bellow xl create -c config.cfg

builder = "hvm"
memory = 512
vcpus = 2
name = "cirros"
disk = [ 'file:qcow2:/root/cirros-0.3.4-x86_64-disk.img,xvda,w' ]
boot = "c" 
vnc = 1
vnclisten = "0.0.0.0"
usbdevice = 'tablet'
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
acpi = 1
serial = 'pty'

I've also tried multiple configurations like tap:qcow2:. tap2:qcow2:, aio:, switching from xen bus to ide. didn't work.
The only driver that had no issues was PHY but it supports only RAW images.

Is that a bug or I'm missing something?

# pkg info | grep xen
xen-4.7.0_2                    Xen Hypervisor meta port
xen-kernel-4.7.1_3             Hypervisor using a microkernel design
xen-tools-4.7.1_1              Xen management tool, based on LibXenlight

# cat /boot/loader.conf 
hw.pci.mcfg=0
xen_kernel="/boot/xen"
xen_cmdline="dom0_mem=8192M dom0_max_vcpus=8 dom0pvh=1 com1=115200,8n1 guest_loglvl=all loglvl=all"

# xenstore-ls -p
  4 = "" . . . . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
   vm = "/vm/94b147df-e15d-11e6-a685-002590d7eca6" . . . . .  (n0,r4)
   name = "cirros" . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
   cpu = ""  . . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    0 = "" . . . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
     availability = "online" . . . . . . . . . . . . . . . .  (n0,r4)
    1 = "" . . . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
     availability = "online" . . . . . . . . . . . . . . . .  (n0,r4)
   memory = "" . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    static-max = "4194304" . . . . . . . . . . . . . . . . .  (n0,r4)
    target = "4186112" . . . . . . . . . . . . . . . . . . .  (n0,r4)
    videoram = "8192"  . . . . . . . . . . . . . . . . . . .  (n0,r4)
   device = "" . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    suspend = "" . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
     event-channel = ""  . . . . . . . . . . . . . . . . . .  (n4)
    vbd = "" . . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
     51712 = ""  . . . . . . . . . . . . . . . . . . . . . .  (n4,r0)
      backend = "/local/domain/0/backend/qdisk/4/51712"  . .  (n4,r0)
      backend-id = "0" . . . . . . . . . . . . . . . . . . .  (n4,r0)
      state = "3"  . . . . . . . . . . . . . . . . . . . . .  (n4,r0)
      virtual-device = "51712" . . . . . . . . . . . . . . .  (n4,r0)
      device-type = "disk" . . . . . . . . . . . . . . . . .  (n4,r0)
      ring-ref = "8" . . . . . . . . . . . . . . . . . . . .  (n4,r0)
      event-channel = "18" . . . . . . . . . . . . . . . . .  (n4,r0)
      protocol = "x86_64-abi"  . . . . . . . . . . . . . . .  (n4,r0)
    vkbd = ""  . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
     0 = ""  . . . . . . . . . . . . . . . . . . . . . . . .  (n4,r0)
      backend = "/local/domain/0/backend/vkbd/4/0" . . . . .  (n4,r0)
      backend-id = "0" . . . . . . . . . . . . . . . . . . .  (n4,r0)
      state = "1"  . . . . . . . . . . . . . . . . . . . . .  (n4,r0)
   control = ""  . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    shutdown = ""  . . . . . . . . . . . . . . . . . . . . .  (n4)
    platform-feature-multiprocessor-suspend = "1"  . . . . .  (n0,r4)
    platform-feature-xs_reset_watches = "1"  . . . . . . . .  (n0,r4)
   hvmloader = ""  . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    bios = "seabios" . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    allow-memory-relocate = "0"  . . . . . . . . . . . . . .  (n0,r4)
   data = "" . . . . . . . . . . . . . . . . . . . . . . . .  (n4)
   drivers = ""  . . . . . . . . . . . . . . . . . . . . . .  (n4)
   feature = ""  . . . . . . . . . . . . . . . . . . . . . .  (n4)
   attr = "" . . . . . . . . . . . . . . . . . . . . . . . .  (n4)
   domid = "4" . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
   store = ""  . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    port = "1" . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    ring-ref = "1044476" . . . . . . . . . . . . . . . . . .  (n0,r4)
   platform = "" . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    acpi = "1" . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    acpi_s3 = "1"  . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    acpi_s4 = "1"  . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
   console = ""  . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    backend = "/local/domain/0/backend/console/4/0"  . . . .  (n0,r4)
    backend-id = "0" . . . . . . . . . . . . . . . . . . . .  (n4,r0)
    limit = "1048576"  . . . . . . . . . . . . . . . . . . .  (n0,r4)
    type = "xenconsoled" . . . . . . . . . . . . . . . . . .  (n0,r4)
    output = "pty" . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    tty = "/dev/pts/1" . . . . . . . . . . . . . . . . . . .  (n0,r4)
    port = "2" . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    ring-ref = "1044479" . . . . . . . . . . . . . . . . . .  (n0,r4)
    vnc-listen = "0.0.0.0" . . . . . . . . . . . . . . . . .  (n0,r4)
    vnc-port = "5900"  . . . . . . . . . . . . . . . . . . .  (n0,r4)
   image = ""  . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    device-model-pid = "3255"  . . . . . . . . . . . . . . .  (n0,r4)
   serial = "" . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
    0 = "" . . . . . . . . . . . . . . . . . . . . . . . . .  (n0,r4)
     tty = "/dev/pts/2"  . . . . . . . . . . . . . . . . . .  (n0,r4)


Thanks,
Alex





More information about the freebsd-virtualization mailing list