2008年4月17日星期四

xen 的 dom0 和 domU 都是 guestOS

昨天发现新版的 linux-2.6.24.4 kernel 已经自带了 Paravirtualized guest support 支持:

Processor type and features 里:

│ │ [ ] Xen guest support │ │
│ │ [ ] VMI Guest support │ │
│ │ [ ] Lguest guest support │ │

这几天正发愁 xen 使用专用 xen 补丁的 kernel source ,很不方便更新 kernel,只能跟在 xen.org 屁股后面跑。

呵呵,2.6.24.4 内置了 Xen guest support 就解决问题了。

高兴没多久,却又开始头痛了。

今天开始在 dom-U 里 编译 2.6.24.4 kernel,却总是报错,先是 make 时报:

drivers/xen/grant-table.c:504: warning: 'gnttab_suspend' defined but not used

WARNING: vmlinux.o(.text.head+0x247): Section mismatch: reference to .init.text.1:start_kernel (between 'is386' and 'check_x87')

后来发现是因为使用老的 xen 3.2.0 带的 2.6.20 kernel 的 config 导致的错误。

耐心清理干净,自己从头配置 2.6.24.4,这下没错了。让 domU 使用 2.6.24.4 却没法启动,报告:

Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n')

放到 dom0 里编译,domU 使用 dom0 编译的 2.6.24.4 kernel 也不行。

google, xen.org 的 mailist 也没有多少可用信息。

最后返回去,回头找 Xen 的基础资料,原来是自己对 Xen guest 定义理解错误。

自己一直认为只有 domU 是 guest,呵呵,惭愧。

正确的应该是 dom0 和 domU 都是 Xen guest,只是 dom0 是个特殊的,第一个启动,且是必需启动的 Xen guest。

花了近乎大半天,搞清楚这个概念问题,可惜我的 Xen 机器上的 两个 domU 一直有同事在用,把更新 dom0 为 2.6.24 kernel 只好放在明天了。

没有评论: