二、从源代码安装Xen
上面,我们介绍了利用二进制程序包来安装Xen的过程。就像您看到的那样,这种方法是相当简单和快捷的,但是,凡事有利皆有弊,它的缺点是必须依赖预编译好的Xen程序包,但是,Xen总是处在不断的发展进化之中,比如它会不断修复bug,不断添加新的特性。那么,预编译好的程序包就无法享用这些变化所带来的好处了。
要想使用最新功能吗?想使用最新的修正版吗?那好,跟我来吧!让我们自己动手,从源代码来构建我们中意的Xen版本。下面我们将介绍如何从头开始编译Xen,并将其安装在Fedora系统。
◆具体操作
从源代码安装Xen的过程是:检索源代码,安装所有的依赖包,编译源代码,最后编译好的Xen安装到Fedora Core 6机器上。下面介绍具体操作方法:
1、为了存放Xen的源文件,我们先创建一个目录并切换至该目录下:
mkdir ~/xen-source
cd ~/xen-source
2、Xen项目使用的源代码控制系统称为Mercurial,我们这里通过mercurial来获取源代码,如果您还没有安装其客户端的话,可以通过yum来完成其安装过程。具体命令如下所示:
yum install mercurial
在mercurial仓库中会有许多不同的版本,并且不同的版本放在不同的“储藏室”(即目录)中,名称通常为Xen-×.×.×-testing.hg,这表示Xen下一个×.×.×版本的预览版。我们可以使用mercurial 客户端hg获取相应的源代码,命令格式如下所示:
hg clone http://xenbits.xensource.com/储藏室名 本地储藏室名
比如,下列命令
hg clone http://xenbits.xensource.com/xen-3.0.4-testing.hg
将本地创建一个名为xen-3.0.4-testing.hg 的目录,并将远程xen-3.0.4-testing.hg 的目录中的源文件下载到本地创建的目录中。同时显示一些状态消息:
requesting all changes
adding changesets
adding manifests
adding file changes
added 13140 changesets with 91364 changes to 9471 files
3087 files updated, 0 files merged, 0 files removed, 0 files unresolved
3、源文件已经下载好了,但是要编译的话,我们还需要安装编译器、程序库以及设置Xen开发环境所需的一些头文件。下表是需要在 Fedora Core上安装的一些程序包。如果您之前曾经编译过C代码的话,那说明这些软件您之前就安装过了,可以略过这一步。
|
程序包 |
作用 |
|
gcc |
这是编译C 代码所需的GNU编译器工具集。 |
|
xen-devel |
包含从源代码编译Xen需要的程序库和头标文件。 |
|
tetex-latex |
包含为Xen制作文档时使用的TeX 文本格式化系统的latex 前端。 |
|
python-devel |
包含开发python 扩展所需的头标文件和程序库。 |
|
xorg-X11-proto-devel |
开发X11应用程序所需的所有包含文件和程序库。 |
|
zlib-devel |
开发使用zlib压缩和解压缩库的程序时所需的头标文件和程序库。 |
|
openssl-devel |
包含开发支持各种密码算法和协议的应用程序时所需的静态库和包含文件。 |
|
ncurses-devel |
利用ncurses终端处理库开发应用程序时所需的头标文件。 |
|
glibc-headers |
包含开发使用标准c库的程序所需的头文件。 |
|
libgomp |
包含GCC 共享辅助程序库,它是OpenMP2.5所需要的。 |
|
glibc-devel |
包含开发使用标准c库的应用程序时所需的目标文件。 |
我们可以使用yum安装这些程序包,具体命令如下所示:
yum install gcc glibc-devel xen-devel libgomp glibc-headers
ncurses-devel openssl-devel zlib-devel xorg-X11-proto-devel
python-devel tetex-latex
4、编译内核之前,首先要对它进行正确的配置。使用以下命令:
make linux-2.6-xen0-config
这会产生Linux 内核配置会话。根据您的的需要,进行相应的配置,然后退出会话,并在询问时选择保存所作修改。
5、配置后,用下列命令编译内核和相关模块:
make linux-2.6-xen0-build
6、以上所述命令的编译结果被放进dist/install 目录。其中dist/install/boot目录包含Xen内核的配置、内核镜像和内核调试符号文件,而dist/install/lib 目录包含所有内核模块和驱动程序。
7、以 root 身份运行以下命令,将上述内容安装到系统上。这不仅安装内核模块,还会把内核镜像和符号文件复制到/boot 。
make linux-2.6-xen0-install
8、运行depmod 命令来读取/lib/modules/2.6.16.38-xen0下的所有模块来创建一个模块依赖性列表:
depmod -a 2.6.16.38-xen0
9、在boot 目录下创建Xen 内核引导时使用的initrd,例如:
mkinitrd –v –f –with=sd_mod --with=scsi_mod /boot/initrd-2.6.16.38-xen0.img 2.6.16.38-xen0
确保此前没有安装Xen 工具二进制文件程序包,这样就可以编译并安装所需的Xen工具、程序库和Python模块了:
make install KERNELS="linux-2.6-xen0"
10、修改grub ,在其中添加一个条目来引导这个新的Xen内核。这一步可以参考前面介绍的方法。
11、重新启动以进入新的Xen系统。进行适当的检查,看看是否所有东西都已正常运行,尤其是网络接口,必须确保他们全部就位并正常运转。
好了,我们已经成功编译并安装了Xen的开发版本,如果一切正常,那么现在它应该已经开始运行了。
| 共4页: 上一页 [1] [2] 3 [4] 下一页 | ||||||
|
|
||||
| · 交换机故障解决指南 · OSPF路由协议专栏 · 勇闯IT培训黑色围城 · 见证中国网络安全二十年 · 技术人求职简历完备手册 · 华为员工自杀频频拷问.. · 视频访谈:网管员如何踏.. · 首届中国IT工程师生态.. |
· 思科全球CEO钱伯斯第七.. · 北漂技术人90天求职纪实 · 2007年互联网大会 · 龙芯要做中国的“奔腾” · IPv6协议--拓展网络无.. · 国际文档格式标准开战 · 微软出价446亿美元收购.. · 贝恩资本携手华为22亿.. |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · SQL Server入门到精通 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux防火墙 · 打造安全服务器 · SOA 面向服务架构 · PHP开发应用手册 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 · 数据恢复指南 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · iSCSI应用与发展 · RAID——磁盘阵列基础 · 数据恢复指南 |
· 路由器设置与口令恢复 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · PHP开发应用手册 · 中间件应用技术专题 · 交换机故障解决指南 |
|||