【问题标题】:Issue in booting Xen DomU Linux启动 Xen DomU Linux 时出现问题
【发布时间】:2019-11-14 15:37:57
【问题描述】:

我正在尝试将 Mainline linux 内核 v5.4.0-rc3 作为 DomU 运行。我的设置详情如下。

Target hw: Pine64+
Architecture: aarch64 (arm64)
Xen version: 4.6.5
Dom0: Mainline linux Kernel v5.4.0-rc3

DomU 配置文件:

kernel = "path to kernel image"
memory = "128"
name = "domU"
vcpus = 1
disk = [ 'phy:/dev/loop0,xvda,w' ]
extra = "earlyprintk=xenboot console=hvc0 root=/dev/xvda debug rw init=/bin/sh"

我如下加载了 DomU。

ubuntu@LXC_NAME:~/workspace/domu$ sudo losetup /dev/loop0 rootfs.ext4
ubuntu@LXC_NAME:~/workspace/domu$ sudo xl -vvv create -d domu.config

但 DomU 启动失败并显示以下消息。

libxl: debug: libxl_device.c:337:libxl__device_disk_set_backend: Disk vdev=xvda spec.backend=phy
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch w=0x238e0bd0 wpath=/local/domain/0/backend/vbd/1/51712/state token=3/0: register slotnum=3
libxl: debug: libxl_create.c:1586:do_domain_create: ao 0x238de720: inprogress: poller=0x238de7b0, flags=i
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x238e0bd0 wpath=/local/domain/0/backend/vbd/1/51712/state token=3/0: event epath=/local/domain/0/backend/vbd/1/51712/state
libxl: debug: libxl_event.c:884:devstate_callback: backend /local/domain/0/backend/vbd/1/51712/state wanted state 2 still waiting state 1
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x238e0bd0 wpath=/local/domain/0/backend/vbd/1/51712/state token=3/0: event epath=/local/domain/0/backend/vbd/1/51712/state
libxl: debug: libxl_event.c:880:devstate_callback: backend /local/domain/0/backend/vbd/1/51712/state wanted state 2 ok
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch w=0x238e0bd0 wpath=/local/domain/0/backend/vbd/1/51712/state token=3/0: deregister slotnum=3
libxl: debug: libxl_device.c:991:device_backend_callback: calling device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch w=0x238e0bd0: deregister unregistered
libxl: error: libxl.c:1991:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_device.c:1041:device_hotplug: Failed to get domid
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch w=0x238e0cd0: deregister unregistered
libxl: error: libxl_create.c:1176:domcreate_launch_dm: unable to add disk devices
libxl: error: libxl.c:1991:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl_device.c:849:libxl__initiate_device_remove: unable to get my domid
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch w=0x238d9210: deregister unregistered
libxl: error: libxl.c:1991:libxl__get_domid: failed to get own domid (domid)
libxl: error: libxl.c:1684:devices_destroy_cb: libxl__devices_destroy failed for 1
libxl: debug: libxl.c:1738:devices_destroy_cb: forked pid 679 for destroy of domain 1
libxl: debug: libxl_event.c:1874:libxl__ao_complete: ao 0x238de720: complete, rc=-3
libxl: debug: libxl_event.c:1843:libxl__ao__destroy: ao 0x238de720: destroy
libxl: debug: libxl.c:1477:libxl_domain_destroy: ao 0x238d8a90: create: how=(nil) callback=(nil) poller=0x238de7b0
libxl: error: libxl.c:1610:libxl__destroy_domid: non-existant domain 1
libxl: error: libxl.c:1568:domain_destroy_callback: unable to destroy guest with domid 1
libxl: error: libxl.c:1495:domain_destroy_cb: destruction of domain 1 failed
libxl: debug: libxl_event.c:1874:libxl__ao_complete: ao 0x238d8a90: complete, rc=-21
libxl: debug: libxl.c:1486:libxl_domain_destroy: ao 0x238d8a90: inprogress: poller=0x238de7b0, flags=ic
libxl: debug: libxl_event.c:1843:libxl__ao__destroy: ao 0x238d8a90: destroy
xc: debug: hypercall buffer: total allocations:97 total releases:97
xc: debug: hypercall buffer: current allocations:0 maximum allocations:3
xc: debug: hypercall buffer: cache current size:3
xc: debug: hypercall buffer: cache hits:87 misses:3 toobig:7

DomU Complete boot log

xl list 确认没有创建 domU。

ubuntu@LXC_NAME:~/workspace/domu$ sudo xl list
Name                                        ID   Mem VCPUs  State   Time(s)
(null)                                       0   256     2     r-----       9.8

我很难理解这个问题的根本原因。任何人都可以阐明出了什么问题吗?

Xen boot log

【问题讨论】:

  • 我仍在努力理解这个问题。如果有人向我展示问题,那将非常有帮助。如果问题需要更多澄清和编辑,请具体告诉我。
  • 我怀疑你会在 SO 上找到答案。最好尝试其他 StackExchange 子论坛,例如 SuperUserServerFault

标签: linux linux-kernel arm virtualization xen


【解决方案1】:

在创建时加载驱动器和访问实例时是否相同? ,如果可以,您可以将另一个磁盘附加到域并尝试访问同一个域。

例如,使用以下方法将其附加到域:

xm block-attach Domain-0 file:/home/xen/vmdisk0 xvda w

然后在config文件中修改同样的然后运行:

disk=['file:/home/xen/vmdisk0,xvda,w']

在文件“builder”(域构建函数)、device_model 中可以提及一些额外的参数,如果您使用的是物理磁盘驱动器,则应提及/dev/sdb

如果您使用物理图像加载如上所述,您必须使用类似这样的东西:disk = [ 'file:/home/XEN_MI.img,hda,w']

【讨论】:

    猜你喜欢
    • 2018-02-27
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多