分享

在 Debian 上源码安装 Xen

 Dead n Gone 2013-04-30

博客上有位网友遇到源代码安装的问题,留了不少评论。源代码安装不难就是麻烦,如果不是特别需要还是选择二进制安装比较方便,直接用 yum install,apt-get install 或者 emerge 轻松搞定。源代码安装有两个好处,一个是可以定制 Linux 内核,这样可以删除网卡、无线、USB、蓝牙、多余的文件系统等 n 多服务器不需要的硬件驱动和模块,得到一个最小而且针对硬件编译过的内核,性能会好很多;第二个就是二进制发布往往滞后,所以如果想尝鲜新功能的话就只能源码安装。安装服务器前对每台服务器的硬件都做记录是个好习惯,特别是服务器多的时候,方便以后需要的时候查阅,VPSee 在内部使用 Wiki 记录服务器硬件信息,用源代码控制工具来追踪系统配置文件的更改。以下的操作记录使用最新的 Xen 4.0.0 源代码版本和 Debian 5.04,这里有在 CentOS 下源码安装 Xen 和 在 Ubuntu 上源码安装 Xen 的过程。

安装需要的软件包

首先最小化安装 Debian,然后安装编译 Xen 和 Linux xen kernel 所需要的软件包:

# apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev uuid-dev iasl

# apt-get build-dep linux

如果是64位系统的话,还需要安装:

# apt-get install gcc-multilib

安装 Xen hypervisor 和 tools

到 http://www./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.:3128/
use_proxy = on

加入到自动启动脚本中:

# update-rc.d xend defaults 20 21
# update-rc.d xendomains defaults 21 20

安装 Xen 内核

下载 xen 内核,给内核打补丁:

$ cd
$ wget http://www./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./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

配置内核,直接把系统已经存在的配置文件拷过来然后在此基础上修改:

$ cp /boot/config-2.6.31-14-server .config
$ 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 install
# make modules_install
# update-initramfs -c -k 2.6.31.8
# depmod 2.6.31.8

如果 Xen 加了内核模块的话加入 /etc/modules 文件以便启动时候自动加载:

# vi /etc/modules
...
netbk
blkbk

更新 grub:

#  update-grub
#  vi /boot/grub/menu.lst

重新启动系统,就应该可以进入 dom0 了:

# reboot

# uname -a
Linux debian 2.6.31.8 #1 SMP Sat Apr 17 09:26:20 SAST 2010 x86_64 GNU/Linux

# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   3713     4     r-----     48.7

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多