Ubuntu 12.04 源码安装 Xen 4.2

听说Xen 4.2支持嵌套虚拟化了(nested virtualization,在虚拟机里可以使用vmx或者svm),赶紧下来试试。

目标系统:Ubuntu 12.04 i386 + i5 2510E + QM67

CPU和主板都支持vt-d,因此除了实验嵌套虚拟化,还可以实验设备passthrough。

xen主要由两部分组成,一个是hypervisor,就是编译出来的xen.gz文件,这个是开机启动时加载的。

另一部分是工具。

一般编译Xen只需要两部,make xen tools && make install-xen install tools

还有一部分可选,stubdom,我们在这也编译,make stubdom && make install-sbudom

准备工作

sudo apt-get install bcc Python-dev gettext iasl uuid-dev libncurses5-dev libglib2.0-dev  libyajl-dev texinfo git

编译Xen

因为我要编译XSM模块,也就是Xen Security Module,所以先要修改一下Config.mk

修改Config.mk,将XSM_ENABLE和FLASK_ENABLE改为y

make xen

出现下面的错误

Ubuntu 12.04 源码安装 Xen 4.2

这时出现了一个关于类型的警告,是与XSM有关的代码,直接修改一下代码就行了

xen/xsm/flask/ss/policydb.c

1779行

if ( len != strlen(POLICYDB_STRING) )

{

printk(KERN_ERR "Flask:  policydb string length %d does not "

"match expected length %lu\n",

len, strlen(POLICYDB_STRING));

goto bad;

}

改为(unsigned long) (strlen(POLICYDB_STRING)

这样就可以编译通过了,编译完就可以安装Xen,make install-xen

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20703.html