分类:
2010-01-19 11:51:23
以下操作都是使用root账户进行的,非root账户请使用sudo
一、编译 Xen 和 内核
1.准备工作
首先,系统没有的包要先打上,如果你是教育网用中科大的更新源很快的。我主要补充的是下面几个包:
然后,准备源码:
Xen 3.4.1:
Linux Kernel 2.6.31.5:
因为没用Xen提供的2.6.18的内核源码,还要下一个源码补丁:
xen-patches-2.6.31-7:
展开各个包:
进到linux-2.6.31.5-xen的目录,给代码打上补丁:
2.编译内核
准备一个编译配置,我直接copy了之前的 linux-image-2.6.26-2-xen-686_2.6.26-15_i386.deb 的配置,这个包可以在这这里找到:
Kernel: http://packages.debian.org/lenny/i386/linux-image-2.6.26-2-xen-686/download
Modules:
不过这个配置有点老,所以直接make会有一些配置问题提出来。之前 make menuconfig 一下比较好。然后就可以编译了:
基本上应该不会报什么错误,不过提醒一下想用 make-kpkg 直接生成 deb 包的同学,想偷懒是不行的哦,make-kpkg 可是会报错的,原因还没有看。第一次编译还是很久的,所以扫雷吧。………………编译好了以后把生成的 vmlinuz 拷贝到 /boot 下面
,另起个名字叫 vmlinuz-2.6.31.5-xen。生成initrd:
3.编译 Xen
建议先用 xen-3.4.1/tools/check/chk build 和 chk install 检查一下有没有需要的软件包是否齐备,这里需要注意的是 chk install 的时候会报找不到 udevinfo,这个是因为 udevinfo 已经被 udevadm 取代了,创建一个符号链接就好了:
check pass 的话就可以编译了,直接 make world 是可以的,不过这个会重新编译一个2.6.18的kernel出来,会耗很多时间,所以这里可以用 make xen 来只生成 xen 的 image。生成的文件在 xen-3.4.1/dist/install/boot 下面,把 xen-3.4.1.gz 复制到 /boot 下面。
二、安装
1.糟糕,Grub 升级了!
这是我折腾了一上午的悲剧。Ubuntu 9.10 使用了1.97版本的Grub,也就是Grub2,新版本虽然又很多有点啊,不过在这里可真是一丑遮百俊了。根据 maillist 里面反应的情况,Grub2 和 Xen 不兼容,引导的时候一定会报“Early fatal page fault at ...”然后死掉,而且目前没有补丁可以解决,于是需要降版本回 GRUB。具体的操作可以参见: postcount=18
2.配置启动项
3.重启
不出什么差错的话这个时候应该就可以看看xen起了没有:
启动了的话是可以看到xend的进程的。xm list也会显示dom0。至此就搞定了~