Linux domU only works with xen_platform_pci=0 ?
Kai Otto
kai_otto at duckster.net
Sun May 13 17:33:28 UTC 2018
On 13/05/18 17:16, Roger Pau Monné wrote:
> On Sun, May 13, 2018 at 03:51:36PM +0200, Kai Otto wrote:
>> Hello,
>>
>> I'm trying to set up a FreeBSD 11.1 system as Xen virtualization host.
>> Following a combination of handbook [1] and wiki [2], I was able to get
>> get a FreeBSD dom0 in PVH mode, and FreeBSD domU in HVM mode running,
>> including installation to disk and networking.
>>
>> It seemed to me as if the switch 'xen_platform_pci' doesn't have an
>> effect on FreeBSD domU's, as I see e.g. a xenpci0 and xbd0 in dmesg no
>> matter if I set it to 1 or 0.
>>
>> Do I understand it correctly, that this switch makes the difference
>> between HVM and PVHVM mode?
>> According to xl.cfg(5), it 'enables a guest Operating System [...] to
>> make use of paravirtualization features such as disk and network devices'.
>>
>>
>> Afterwards, I tried to create a Linux domU. Both Centos 7 and Alpine
>> Linux only detected the harddisk with xen_platform_pci=0.
>>
>> For Alpine Linux, with xen_platform_pci=1, I get the following messages
>> on the console:
>>
>> vbd vbd-5632: 19 xenbus_dev_probe on device/vbd/5632
> That's ENODEV IIRC, I think there's something wrong with FreeBSD disk
> backend.
>
>> vbd vbd-5632: failed to write error node for device/vbd/5632 (19
>> xenbus_dev_probe on device/vbd/5632)
>>
>> After waiting for a couple minutes it boots, but doesn't detect the disk.
>>
>> Looking in /var/log/xen/qemu-dm-alpine-hvm.log, I see the following
>> messages:
>>
>> xen be core: can't open gnttab device
>> xen be core: can't open gnttab device
>> xen be: vkbd-0: initalize() failed
>> xen be: vkbd-0: initalize() failed
>> xen be: vkbd-0: initalize() failed
>>
>>
>>
>> Googling around yielded [3], where someone apparently ran into the same
>> problem, and used xen_platform_pci=0 as workaround.
>>
>>
>>
>> So my question is:
>> Is xen_platform_pci=1 required for PVHVM mode?
> No, it shouldn't be.
>
>> If yes, is PVHVM mode only available for FreeBSD domU's?
>> If no, how can I enable it for Linux guests?
> If you boot FreeBSD Dom0 kernel with boot_verbose=YES (in
> /boot/loader.conf), can you paste the messages you get when trying to
> boot the PVHVM guest with xen_platform_pci=1?
>
> Also, can you paste the output of `xenstore-ls -fp` executed on Dom0
> after the PVHVM guest has failed to boot but is still running?
>
Hello again,
thanks for your response Roger!
I attached both. Because I don't know how the mailinglist handles
attachments, here is a pastebin of xenstore-ls:
https://pastebin.com/s7wa1ee7
And a direct paste of dmesg messages:
random: harvesting attach, 8 bytes (4 bits) from xbbd0
tap0: bpf attached
tap0: Ethernet address: 00:bd:ee:99:ff:00
tap0: link state changed to UP
tap0: changing name to 'xnb2.0-emu'
xnb(xnb_probe:1127): Claiming device 0, xnb
xnb2.0: bpf attached
xnb(xnb_attach:1271): Attaching to backend/vif/2/0
random: harvesting attach, 8 bytes (4 bits) from xnb0
xnb(xnb_frontend_changed:1395): frontend_state=Initialising,
xnb_state=InitWait
xnb2.0: link state changed to DOWN
xnb2.0: link state changed to UP
xnb2.0: link state changed to DOWN
xnb2.0: promiscuous mode enabled
xnb2.0: link state changed to UP
xnb2.0-emu: promiscuous mode enabled
nd6_dad_timer: cancel DAD on xnb2.0 because of ND6_IFF_IFDISABLED.
xnb(xnb_frontend_changed:1395): frontend_state=Connected, xnb_state=InitWait
xnb(xnb_connect_comms:788): rings connected!
- Kai
-------------- next part --------------
random: harvesting attach, 8 bytes (4 bits) from xbbd0
tap0: bpf attached
tap0: Ethernet address: 00:bd:ee:99:ff:00
tap0: link state changed to UP
tap0: changing name to 'xnb2.0-emu'
xnb(xnb_probe:1127): Claiming device 0, xnb
xnb2.0: bpf attached
xnb(xnb_attach:1271): Attaching to backend/vif/2/0
random: harvesting attach, 8 bytes (4 bits) from xnb0
xnb(xnb_frontend_changed:1395): frontend_state=Initialising, xnb_state=InitWait
xnb2.0: link state changed to DOWN
xnb2.0: link state changed to UP
xnb2.0: link state changed to DOWN
xnb2.0: promiscuous mode enabled
xnb2.0: link state changed to UP
xnb2.0-emu: promiscuous mode enabled
nd6_dad_timer: cancel DAD on xnb2.0 because of ND6_IFF_IFDISABLED.
xnb(xnb_frontend_changed:1395): frontend_state=Connected, xnb_state=InitWait
xnb(xnb_connect_comms:788): rings connected!
-------------- next part --------------
/tool = "" (n0)
/tool/xenstored = "" (n0)
/vm = "" (n0)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b = "" (n0,r2)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b/name = "alpine-hvm" (n0,r2)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b/uuid = "13f4d8e8-56d1-11e8-86f7-d067e5f07a2b" (n0,r2)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b/rtc = "" (n0,r2)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b/rtc/timeoffset = "" (n0,r2)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b/image = "" (n0,r2)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b/image/ostype = "hvm" (n0,r2)
/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b/start_time = "1526231661.78" (n0,r2)
/libxl = "" (n0)
/libxl/2 = "" (n0)
/libxl/2/device = "" (n0)
/libxl/2/device/vbd = "" (n0)
/libxl/2/device/vbd/51712 = "" (n0)
/libxl/2/device/vbd/51712/frontend = "/local/domain/2/device/vbd/51712" (n0)
/libxl/2/device/vbd/51712/backend = "/local/domain/0/backend/vbd/2/51712" (n0)
/libxl/2/device/vbd/51712/params = "/dev/zvol/zbulk/vm/alpine-hvm_disk0" (n0)
/libxl/2/device/vbd/51712/script = "/usr/local/etc/xen/scripts/block" (n0)
/libxl/2/device/vbd/51712/frontend-id = "2" (n0)
/libxl/2/device/vbd/51712/online = "1" (n0)
/libxl/2/device/vbd/51712/removable = "0" (n0)
/libxl/2/device/vbd/51712/bootable = "1" (n0)
/libxl/2/device/vbd/51712/state = "1" (n0)
/libxl/2/device/vbd/51712/dev = "xvda" (n0)
/libxl/2/device/vbd/51712/type = "phy" (n0)
/libxl/2/device/vbd/51712/mode = "w" (n0)
/libxl/2/device/vbd/51712/device-type = "disk" (n0)
/libxl/2/device/vbd/51712/discard-enable = "1" (n0)
/libxl/2/device/vbd/51728 = "" (n0)
/libxl/2/device/vbd/51728/frontend = "/local/domain/2/device/vbd/51728" (n0)
/libxl/2/device/vbd/51728/backend = "/local/domain/0/backend/qdisk/2/51728" (n0)
/libxl/2/device/vbd/51728/params = "aio:/zbulk/mediashare/isos/linux/alpine-virt-3.7.0-x86_64.iso" (n0)
/libxl/2/device/vbd/51728/frontend-id = "2" (n0)
/libxl/2/device/vbd/51728/online = "1" (n0)
/libxl/2/device/vbd/51728/removable = "1" (n0)
/libxl/2/device/vbd/51728/bootable = "1" (n0)
/libxl/2/device/vbd/51728/state = "1" (n0)
/libxl/2/device/vbd/51728/dev = "xvdb" (n0)
/libxl/2/device/vbd/51728/type = "qdisk" (n0)
/libxl/2/device/vbd/51728/mode = "r" (n0)
/libxl/2/device/vbd/51728/device-type = "cdrom" (n0)
/libxl/2/device/vbd/51728/discard-enable = "0" (n0)
/libxl/2/device/console = "" (n0)
/libxl/2/device/console/0 = "" (n0)
/libxl/2/device/console/0/frontend = "/local/domain/2/console" (n0)
/libxl/2/device/console/0/backend = "/local/domain/0/backend/console/2/0" (n0)
/libxl/2/device/console/0/frontend-id = "2" (n0)
/libxl/2/device/console/0/online = "1" (n0)
/libxl/2/device/console/0/state = "1" (n0)
/libxl/2/device/console/0/protocol = "vt100" (n0)
/libxl/2/device/vkbd = "" (n0)
/libxl/2/device/vkbd/0 = "" (n0)
/libxl/2/device/vkbd/0/frontend = "/local/domain/2/device/vkbd/0" (n0)
/libxl/2/device/vkbd/0/backend = "/local/domain/0/backend/vkbd/2/0" (n0)
/libxl/2/device/vkbd/0/frontend-id = "2" (n0)
/libxl/2/device/vkbd/0/online = "1" (n0)
/libxl/2/device/vkbd/0/state = "1" (n0)
/libxl/2/device/vif = "" (n0)
/libxl/2/device/vif/0 = "" (n0)
/libxl/2/device/vif/0/frontend = "/local/domain/2/device/vif/0" (n0)
/libxl/2/device/vif/0/backend = "/local/domain/0/backend/vif/2/0" (n0)
/libxl/2/device/vif/0/frontend-id = "2" (n0)
/libxl/2/device/vif/0/online = "1" (n0)
/libxl/2/device/vif/0/state = "1" (n0)
/libxl/2/device/vif/0/script = "/usr/local/etc/xen/scripts/vif-bridge" (n0)
/libxl/2/device/vif/0/mac = "00:16:3e:13:f5:e0" (n0)
/libxl/2/device/vif/0/bridge = "bridge0" (n0)
/libxl/2/device/vif/0/handle = "0" (n0)
/libxl/2/device/vif/0/type = "vif_ioemu" (n0)
/libxl/2/dm-version = "qemu_xen" (n0)
/local = "" (n0)
/local/domain = "" (n0)
/local/domain/0 = "" (n0)
/local/domain/0/domid = "0" (n0)
/local/domain/0/name = "Domain-0" (n0)
/local/domain/0/device-model = "" (n0)
/local/domain/0/device-model/2 = "" (n0)
/local/domain/0/device-model/2/state = "running" (n0)
/local/domain/0/device-model/2/physmap = "" (n0)
/local/domain/0/device-model/2/physmap/3f800000 = "" (n0)
/local/domain/0/device-model/2/physmap/3f800000/start_addr = "f0000000" (n0)
/local/domain/0/device-model/2/physmap/3f800000/size = "800000" (n0)
/local/domain/0/device-model/2/physmap/3f800000/name = "vga.vram" (n0)
/local/domain/0/backend = "" (n0)
/local/domain/0/backend/vbd = "" (n0)
/local/domain/0/backend/vbd/2 = "" (n0)
/local/domain/0/backend/vbd/2/51712 = "" (n0,r2)
/local/domain/0/backend/vbd/2/51712/frontend = "/local/domain/2/device/vbd/51712" (n0,r2)
/local/domain/0/backend/vbd/2/51712/params = "/dev/zvol/zbulk/vm/alpine-hvm_disk0" (n0,r2)
/local/domain/0/backend/vbd/2/51712/script = "/usr/local/etc/xen/scripts/block" (n0,r2)
/local/domain/0/backend/vbd/2/51712/frontend-id = "2" (n0,r2)
/local/domain/0/backend/vbd/2/51712/online = "1" (n0,r2)
/local/domain/0/backend/vbd/2/51712/removable = "0" (n0,r2)
/local/domain/0/backend/vbd/2/51712/bootable = "1" (n0,r2)
/local/domain/0/backend/vbd/2/51712/state = "3" (n0,r2)
/local/domain/0/backend/vbd/2/51712/dev = "xvda" (n0,r2)
/local/domain/0/backend/vbd/2/51712/type = "phy" (n0,r2)
/local/domain/0/backend/vbd/2/51712/mode = "w" (n0,r2)
/local/domain/0/backend/vbd/2/51712/device-type = "disk" (n0,r2)
/local/domain/0/backend/vbd/2/51712/discard-enable = "1" (n0,r2)
/local/domain/0/backend/vbd/2/51712/feature-barrier = "1" (n0,r2)
/local/domain/0/backend/vbd/2/51712/feature-flush-cache = "1" (n0,r2)
/local/domain/0/backend/vbd/2/51712/max-ring-page-order = "5" (n0,r2)
/local/domain/0/backend/vbd/2/51712/physical-device-path = "/dev/zvol/zbulk/vm/alpine-hvm_disk0" (n0,r2)
/local/domain/0/backend/vbd/2/51712/hotplug-status = "connected" (n0,r2)
/local/domain/0/backend/qdisk = "" (n0)
/local/domain/0/backend/qdisk/2 = "" (n0)
/local/domain/0/backend/qdisk/2/51728 = "" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/frontend = "/local/domain/2/device/vbd/51728" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/params = "aio:/zbulk/mediashare/isos/linux/alpine-virt-3.7.0-x86_64.iso" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/frontend-id = "2" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/online = "1" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/removable = "1" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/bootable = "1" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/state = "1" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/dev = "xvdb" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/type = "qdisk" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/mode = "r" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/device-type = "cdrom" (n0,r2)
/local/domain/0/backend/qdisk/2/51728/discard-enable = "0" (n0,r2)
/local/domain/0/backend/console = "" (n0)
/local/domain/0/backend/console/2 = "" (n0)
/local/domain/0/backend/console/2/0 = "" (n0,r2)
/local/domain/0/backend/console/2/0/frontend = "/local/domain/2/console" (n0,r2)
/local/domain/0/backend/console/2/0/frontend-id = "2" (n0,r2)
/local/domain/0/backend/console/2/0/online = "1" (n0,r2)
/local/domain/0/backend/console/2/0/state = "1" (n0,r2)
/local/domain/0/backend/console/2/0/protocol = "vt100" (n0,r2)
/local/domain/0/backend/vkbd = "" (n0)
/local/domain/0/backend/vkbd/2 = "" (n0)
/local/domain/0/backend/vkbd/2/0 = "" (n0,r2)
/local/domain/0/backend/vkbd/2/0/frontend = "/local/domain/2/device/vkbd/0" (n0,r2)
/local/domain/0/backend/vkbd/2/0/frontend-id = "2" (n0,r2)
/local/domain/0/backend/vkbd/2/0/online = "1" (n0,r2)
/local/domain/0/backend/vkbd/2/0/state = "2" (n0,r2)
/local/domain/0/backend/vkbd/2/0/feature-abs-pointer = "1" (n0,r2)
/local/domain/0/backend/vkbd/2/0/hotplug-status = "connected" (n0,r2)
/local/domain/0/backend/vif = "" (n0)
/local/domain/0/backend/vif/2 = "" (n0)
/local/domain/0/backend/vif/2/0 = "" (n0,r2)
/local/domain/0/backend/vif/2/0/frontend = "/local/domain/2/device/vif/0" (n0,r2)
/local/domain/0/backend/vif/2/0/frontend-id = "2" (n0,r2)
/local/domain/0/backend/vif/2/0/online = "1" (n0,r2)
/local/domain/0/backend/vif/2/0/state = "4" (n0,r2)
/local/domain/0/backend/vif/2/0/script = "/usr/local/etc/xen/scripts/vif-bridge" (n0,r2)
/local/domain/0/backend/vif/2/0/mac = "00:16:3e:13:f5:e0" (n0,r2)
/local/domain/0/backend/vif/2/0/bridge = "bridge0" (n0,r2)
/local/domain/0/backend/vif/2/0/handle = "0" (n0,r2)
/local/domain/0/backend/vif/2/0/type = "vif_ioemu" (n0,r2)
/local/domain/0/backend/vif/2/0/hotplug-status = "connected" (n0,r2)
/local/domain/0/backend/vif/2/0/feature-sg = "1" (n0,r2)
/local/domain/0/backend/vif/2/0/feature-gso-tcpv4 = "0" (n0,r2)
/local/domain/0/backend/vif/2/0/feature-rx-copy = "1" (n0,r2)
/local/domain/0/backend/vif/2/0/feature-rx-flip = "0" (n0,r2)
/local/domain/2 = "" (n0,r2)
/local/domain/2/vm = "/vm/13f4d8e8-56d1-11e8-86f7-d067e5f07a2b" (n0,r2)
/local/domain/2/name = "alpine-hvm" (n0,r2)
/local/domain/2/cpu = "" (n0,r2)
/local/domain/2/cpu/0 = "" (n0,r2)
/local/domain/2/cpu/0/availability = "online" (n0,r2)
/local/domain/2/memory = "" (n0,r2)
/local/domain/2/memory/static-max = "1048576" (n0,r2)
/local/domain/2/memory/target = "1040384" (n0,r2)
/local/domain/2/memory/videoram = "8192" (n0,r2)
/local/domain/2/device = "" (n0,r2)
/local/domain/2/device/suspend = "" (n0,r2)
/local/domain/2/device/suspend/event-channel = "" (n2)
/local/domain/2/device/vbd = "" (n0,r2)
/local/domain/2/device/vbd/51712 = "" (n2,r0)
/local/domain/2/device/vbd/51712/backend = "/local/domain/0/backend/vbd/2/51712" (n2,r0)
/local/domain/2/device/vbd/51712/backend-id = "0" (n2,r0)
/local/domain/2/device/vbd/51712/state = "1" (n2,r0)
/local/domain/2/device/vbd/51712/virtual-device = "51712" (n2,r0)
/local/domain/2/device/vbd/51712/device-type = "disk" (n2,r0)
/local/domain/2/device/vbd/51728 = "" (n2,r0)
/local/domain/2/device/vbd/51728/backend = "/local/domain/0/backend/qdisk/2/51728" (n2,r0)
/local/domain/2/device/vbd/51728/backend-id = "0" (n2,r0)
/local/domain/2/device/vbd/51728/state = "6" (n2,r0)
/local/domain/2/device/vbd/51728/virtual-device = "51728" (n2,r0)
/local/domain/2/device/vbd/51728/device-type = "cdrom" (n2,r0)
/local/domain/2/device/vkbd = "" (n0,r2)
/local/domain/2/device/vkbd/0 = "" (n2,r0)
/local/domain/2/device/vkbd/0/backend = "/local/domain/0/backend/vkbd/2/0" (n2,r0)
/local/domain/2/device/vkbd/0/backend-id = "0" (n2,r0)
/local/domain/2/device/vkbd/0/state = "4" (n2,r0)
/local/domain/2/device/vkbd/0/request-abs-pointer = "1" (n2,r0)
/local/domain/2/device/vkbd/0/page-ref = "249693" (n2,r0)
/local/domain/2/device/vkbd/0/page-gref = "8" (n2,r0)
/local/domain/2/device/vkbd/0/event-channel = "14" (n2,r0)
/local/domain/2/device/vif = "" (n0,r2)
/local/domain/2/device/vif/0 = "" (n2,r0)
/local/domain/2/device/vif/0/backend = "/local/domain/0/backend/vif/2/0" (n2,r0)
/local/domain/2/device/vif/0/backend-id = "0" (n2,r0)
/local/domain/2/device/vif/0/state = "4" (n2,r0)
/local/domain/2/device/vif/0/handle = "0" (n2,r0)
/local/domain/2/device/vif/0/mac = "00:16:3e:13:f5:e0" (n2,r0)
/local/domain/2/device/vif/0/tx-ring-ref = "768" (n2,r0)
/local/domain/2/device/vif/0/rx-ring-ref = "769" (n2,r0)
/local/domain/2/device/vif/0/event-channel = "16" (n2,r0)
/local/domain/2/device/vif/0/request-rx-copy = "1" (n2,r0)
/local/domain/2/device/vif/0/feature-rx-notify = "1" (n2,r0)
/local/domain/2/device/vif/0/feature-sg = "1" (n2,r0)
/local/domain/2/device/vif/0/feature-gso-tcpv4 = "1" (n2,r0)
/local/domain/2/device/vif/0/feature-gso-tcpv6 = "1" (n2,r0)
/local/domain/2/device/vif/0/feature-ipv6-csum-offload = "1" (n2,r0)
/local/domain/2/control = "" (n0,r2)
/local/domain/2/control/shutdown = "" (n2)
/local/domain/2/control/platform-feature-multiprocessor-suspend = "1" (n0,r2)
/local/domain/2/control/platform-feature-xs_reset_watches = "1" (n0,r2)
/local/domain/2/hvmloader = "" (n0,r2)
/local/domain/2/hvmloader/bios = "seabios" (n0,r2)
/local/domain/2/hvmloader/allow-memory-relocate = "0" (n0,r2)
/local/domain/2/data = "" (n2)
/local/domain/2/drivers = "" (n2)
/local/domain/2/feature = "" (n2)
/local/domain/2/attr = "" (n2)
/local/domain/2/domid = "2" (n0,r2)
/local/domain/2/store = "" (n0,r2)
/local/domain/2/store/port = "1" (n0,r2)
/local/domain/2/store/ring-ref = "1044476" (n0,r2)
/local/domain/2/platform = "" (n0,r2)
/local/domain/2/platform/acpi = "1" (n0,r2)
/local/domain/2/platform/acpi_s3 = "1" (n0,r2)
/local/domain/2/platform/acpi_s4 = "1" (n0,r2)
/local/domain/2/console = "" (n0,r2)
/local/domain/2/console/backend = "/local/domain/0/backend/console/2/0" (n0,r2)
/local/domain/2/console/backend-id = "0" (n2,r0)
/local/domain/2/console/limit = "1048576" (n0,r2)
/local/domain/2/console/type = "xenconsoled" (n0,r2)
/local/domain/2/console/output = "pty" (n0,r2)
/local/domain/2/console/tty = "/dev/pts/2" (n0,r2)
/local/domain/2/console/port = "2" (n0,r2)
/local/domain/2/console/ring-ref = "1044479" (n0,r2)
/local/domain/2/console/vnc-listen = "0.0.0.0" (n0,r2)
/local/domain/2/console/vnc-port = "5900" (n0,r2)
/local/domain/2/image = "" (n0,r2)
/local/domain/2/image/device-model-pid = "1089" (n0,r2)
/local/domain/2/serial = "" (n0,r2)
/local/domain/2/serial/0 = "" (n0,r2)
/local/domain/2/serial/0/tty = "/dev/pts/3" (n0,r2)
More information about the freebsd-xen
mailing list