Date: Sun, 13 May 2018 19:33:03 +0200 From: Kai Otto <kai_otto@duckster.net> To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <royger@FreeBSD.org> Cc: freebsd-xen@freebsd.org Subject: Re: Linux domU only works with xen_platform_pci=0 ? Message-ID: <0749df4b-1614-dcdf-1bf2-1bbad1ae5743@duckster.net> In-Reply-To: <20180513151649.4ls73myegkhm3cep@MacBook-Pro-de-Roger.local> References: <a5a066b7-625f-d18f-6ea6-663256c09e59@duckster.net> <20180513151649.4ls73myegkhm3cep@MacBook-Pro-de-Roger.local>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] 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 [-- Attachment #2 --] 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! [-- Attachment #3 --] /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)help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0749df4b-1614-dcdf-1bf2-1bbad1ae5743>
