zhangpengfei00 发表于 2015-10-12 05:11:37

Centos6下源代码安装Xen4.1.2

  Centos从6.0开始不再支持xen,因此如果是Centos6的话安装xen的话就不再像以前那样几个命令就能搞定了。总体来说需要如下几个步骤
  1、编译xen4.1.2
  2、编译支持xen的linux内核
  3、重新编译libvirtd,因为Centos6上默认的libvirtd不支持xen
  4、升级iptables以及bridge-util
  
  首先,我们来看如何编译xen4.1.2
  我安装的版本缺少了如下package(其实如果出错了,缺啥就安装啥就行了,无非是时间长了点儿)
  uuid-dev
  yum install -y uuid-devel.x86_64 libuuid-devel.x86_64
  
  dev86
  yum install -y dev86.x86_64
  
  iasl
  yum install -y iasl.x86_64
  
  texinfo
  yum install –y texinfo.x86_64
  
  wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
  tar xzf xen-4.1.2.tar.gz
  cd xen-4.1.2
  make world
  make install
  
  修改/etc/xen/xend-config.sxp
  (xend-http-server yes)
  (xend-unix-server yes)
  
  在/etc/sysconfig/module下放入如下文件
  #!/bin/sh
  
  test -d /proc/xen                               || exit 0
  test -f /proc/xen/capabilities                  || mount -t xenfs xen /proc/xen
  test -f /proc/xen/capabilities                  || exit 0
  grep -q "control_d" /proc/xen/capabilities      || exit 0
  
  for module in xen-evtchn evtchn xen-gntdev gntdev xen-blkback xen-netback blkbk netbk blktap; do
        modprobe ${module} >/dev/null 2>&1
  done
  
  接下来看一下如何编译libvirtd
  我系统上需要如下package
  
  device-mapper-devel
  yum install –y device-mapper-devel.x86_64
  
  libnl-devel
  yum install -y libnl-devel.x86_64
  
  wget http://libvirt.org/sources/libvirt-0.9.11.3.tar.gz
  tar –xzf libvirt-0.9.11.3.tar.gz
  ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-xen --with-xen-inotify--with-libxl
  make
  make install
  
  安装完之后利用service libvirtd start结果发现报错,这是因为原来的libvirtd版本太低导致的,应该把原来的卸载
  
  编译支持xen的linux内核
  git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
  cd linux-2.6-xen
  git checkout -b xen/next-2.6.32 origin/xen/next-2.6.32
  wget -O .config http://pasik.reaktio.net/xen/kernel-config/config-2.6.32.25-pvops-dom0-xen-stable-x86_64
  make oldconfig
  make -j4 bzImage && make -j4 modules && make modules_install
  depmod -a 2.6.32.57
  cp -a arch/x86/boot/bzImage /boot/vmlinuz-2.6.32.57
  cp -a System.map /boot/System.map-2.6.32.57
  cp -a .config /boot/config-2.6.32.57
  dracut initramfs-2.6.32.57.img 2.6.32.57
  
  接下来是修改/etc/grub.conf
  增加如下行
  title CentOS with Xen (2.6.32.57.x86_64)
        root (hd0,0)
        kernel /xen.gz
        module /vmlinuz-2.6.32.57 ro root=UUID=63b4f94b-abc7-4736-b87e-884a048d0c58 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=
  zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us nomodeset crashkernel=128M rhgb quiet
        module /initramfs-2.6.32.57.img
  
  编译bridge-utils相对比较容易
  git clone git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/bridge-utils.git
  autoconf
  ./configure --prefix=/usr
  make
  make install
  
         版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: Centos6下源代码安装Xen4.1.2