在 CentOS 下源码安装 Xen
http://www.vpsee.com/2010/04/install-xen-on-centos-from-source/
在 CentOS 源码编译安装 Xen 的过程和在 Debian 上编译安装 Xen 的过程差不多,只是第一步安装编译所需要的工具和软件包有所不同,后续步骤有点小差别,不过方法都是一样的,这也说明各个 Linux 发行版之间的区别真的不大,没有必要为选择 Linux 发行版而发愁。编译一个 Xen 内核和编译一个普通 Linux 内核没有什么不同,如果发现编译后的内核启动不了,出现 kernel panic 的情况,多半是内核与机器的硬件没有配置好的原因,和 Xen 没有关系,比如常见的 switchroot: mount failed: No such file or directory 就可能是因为内核配置的时候忘了加上 root 的硬盘驱动,也可能找到驱动了但是挂载的时候发现文件系统类型不对,等等。VPSee 在一台 Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz, 4GB 机器上使用最新的 Xen 4.0.0 源代码和 CentOS 5.4 完成以下操作。这里还有在 Ubuntu 上源码安装 Xen 的详细过程。如果觉得源码安装很麻烦的话,这里有 在 CentOS 上安装和配置 Xen 的二进制安装过程。
安装需要的软件包
首先最小化安装 CentOS,然后安装编译 Xen 和 Linux xen kernel 所需要的软件包:
# yum groupinstall "Development Tools"
# yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-devel \
bridge-utils libtool-ltdl iasl xorg-x11-drv-evdev xorg-x11-drv-fbdev \
xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel \
xorg-x11-server-sdk xorg-x11-xtrans-devel
安装完以上软件包后,剩下的操作就和在 Debian 上编译和安装 Xen 差不多了。
安装 Xen hypervisor 和 tools
到 http://www.xen.org/products/xen_source.html 下载最新的 Xen 源代码,然后解开、编译、安装,标准的 Linux 软件源码安装动作:
$ tar zxvf xen-4.0.0.tar.gz
$ cd xen-4.0.0/
$ make xen tools stubdom
# make install-xen install-tools install-stubdom
上面 make stubdom 的时候会从网上自动下载一些东西,所以如果是用代理上网的话需要在自己根目录下的 .wgetrc 里加上代理服务器,以便 wget 能通过代理正常下载:
$ vi .wgetrc
http_proxy = http://proxy.vpsee.com:3128/
use_proxy = on
加入到启动脚本:
# /sbin/chkconfig --add xend
# /sbin/chkconfig --add xendomains
# /sbin/chkconfig xend on
# /sbin/chkconfig xendomains on
安装 Xen 内核
下载 Linux 内核后给内核打 xen 补丁:
$ cd
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.8.tar.bz2
$ tar -xjf linux-2.6.31.8.tar.bz2 $ wget http://gentoo-xen-kernel.googlecode.com/files/
xen-patches-2.6.31-10.tar.bz2
$ mkdir xenpatch-2.6.31.8
$ cd xenpatch-2.6.31.8
$ tar -xjf ../xen-patches-2.6.31-10.tar.bz2
$ cd .. $ cd linux-2.6.31.8
$ for i in `ls ../xenpatch-2.6.31.8/`; \
do patch -p1 < ../xenpatch-2.6.31.8/"$i"; done
配置带 xen 的 Linux 内核:
$ make menuconfig Processor type and features --->
[*] Enable Xen compatible kernel
Networking support --->
Networking options --->
<*> 802.1d Ethernet Bridging
Device Drivers --->
XEN --->
[*] Privileged Guest (domain 0)
Backend driver support
Block-device backend driver
Block-device tap backend driver
Block-device tap backend driver 2
Network-device backend driver
PCI-device backend driver
SCSI backend driver
USB backend driver
<*> Block-device frontend driver
<*> Network-device frontend driver
SCSI frontend driver
USB frontend driver
<*> Framebuffer-device frontend driver
<*> Keyboard-device frontend driver
[*] Disable serial port drivers
<*> Export Xen attributes in sysfs
Xen version compatibility (3.3.0 and later) --->
3.3.0 and later
配置好内核参数以后,保存并退出,开始编译 Linux 内核:
$ make
$ make modules
# make modules_install
# make install
# /sbin/depmod 2.6.31.8
更新 grub:
# vi /boot/grub/menu.lst
...
title CentOS (2.6.31.8-xen)
root (hd0,0)
kernel /xen-4.0.0.gz
module /vmlinuz-2.6.31.8 ro root=/dev/VolGroup00/LogVol00
module /initrd-2.6.31.8.img
...
重启系统,确认 Xen 安装成功:
# reboot # uname -a
Linux localhost.localdomain 2.6.31.8 #2 SMP Tue Apr 20 11:19:19 SAST 2010 x86_64 GNU/Linux # xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 3713 4 r----- 36.0
在 CentOS 下源码安装 Xen的更多相关文章
- 在CentOS下源码安装 Xen并搭建Windows虚拟机
前言 首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档.另外,还要感谢——互联网. 1. 环境介绍 Linux: CentOS 6.3 Xen: Xe ...
- CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一.准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util ...
- CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)
1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相 ...
- Centos下源码安装git
1.centos下git版本太久了,才1.8几,而官方更新的还是很活跃的,于是我就想源码安装一个新版本. 2.首先到: https://github.com/git/git/releases 下载最新 ...
- CentOS 下源码安装LAMP环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...
- CentOS下源码安装MySQL
一.创建mysql用户与组,相关目录 useradd mysql -s /sbin/nologin mkdir /usr/local/mysql chown -R mysql.mysql mkdir ...
- CentOS下源码安装mplayer播放器
http://www.mplayerhq.hu/MPlayer/releases/ [root@ok MPlayer-1.2.1]# pwd /root/MPlayer-1.2.1 http://ww ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
随机推荐
- 解压RPM包
有时我们需要RPM包中的某个文件,如何解压RPM包呢? RPM包是使用cpio格式打包的,因此可以先转成cpio然后解压,如下所示: rpm2cpio xxx.rpm | cpio -div 例如: ...
- CentOS配置网易163 yum源
使用说明 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...
- 7个去伪存真的JavaScript面试题
1.创建JavaScript对象的两种方法是什么? 这是一个非常简单的问题,如果你用过JavaScript的话.你至少得知道一种方法.但是,尽管如此,根据我的经验,也有很多自称是JavaScript程 ...
- jdk1.8新特性之方法引用
方法引用其实就是方法调用,符号是两个冒号::来表示,左边是对象或类,右边是方法.它其实就是lambda表达式的进一步简化.如果不使用lambda表达式,那么也就没必要用方法引用了.啥是lambda,参 ...
- protobuf接口调用报错:java.nio.charset.MalformedInputException: Input length = 1
使用protobuf定义的接口api发起http请求报错,日志如下: [-- ::] DEBUG AbstractPool: - server updated, node=, server={ nod ...
- SQLServer中求两个字符串的交集(字符串以符号分隔)
两个字符串,以特定符号分隔(例如‘,’号),求交集 第一种情况: declare @m varchar(100),@n varchar(100)select @m=',2,3,5,7,8,9,10,' ...
- Form 总结
禁止input自动完成下拉 //ie: autocomplete="off" //ff: disableautocomplete <input size="40&q ...
- AbstractQueuedSynchronizer原理分析
AbstractQueuedSynchronized 以下简称AQS,是用来构建锁或者其他同步组件的基础框架. 在AQS中,为锁的获取和释放提供了一些模板方法,而实现锁的类(AQS的子类)需要实现这些 ...
- c# 判断文件是否已使用
string path = Server.MapPath(" PDFs"); bool tfOpenTemp= IsFileInUse(path + " /Doc1.pd ...
- 如何利用JConsole观察分析Java程序的运行并进行排错调优_java
如何利用JConsole观察分析Java程序的运行并进行排错调优_java 官方指导 use jconsole use jmx technology