Ubuntu14源码编译安装Xen4.6

之前一直使用的都是CentOS 6,但现在要把项目的程序移植到机房的机器上运行了,但机房安装的是我不熟悉的Ubuntu,所以没办法只能在Ubuntu上重新安装一次Xen了,这篇文章主要记录了我安装的过程,以便以后需要时查阅。

在Ubuntu上源码编译安装Xen其实跟在CentOS上没有很大的区别,就是依赖包可能有所不同,这里CentOS 6源码编译安装Xen4.6可以作为参考。

编译一个 Xen 内核和编译一个普通 Linux 内核没有什么不同,如果发现编译后的内核启动不了,出现 kernel panic 的情况,多半是内核与机器的硬件没有配置好的原因,和 Xen 没有关系。

本文使用的环境是:Ubuntu14 + linux-4.4.0-31内核 + xen-4.6.3

安装需要的软件包

安装编译 Xen 所需要的编译器、工具、软件库等:

sudo apt-get install gcc make binutils zlib1g-dev python-dev

sudo apt-get install libncurses5-dev libcurl4-openssl-dev libx11-dev

sudo apt-get install uuid-dev libyajl-dev libaio-dev libglib2.0-dev libpixman-1-dev

sudo apt-get install pkg-config bridge-utils iproute udev bison flex gettext

sudo apt-get install bin86 bcc iasl ocaml-nox ocaml-findlib cmake markdown figlet git libc6-dev-i386

sudo apt-get install texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra

sudo apt-get install texlive-fonts-recommended pciutils-dev mercurial

安装Xen

Xen官网下载相应的源码包后编译、安装:

# tar zxvf xen-4.6.3.tar.gz   
# cd xen-4.6.3  
# ./configure --libdir=/usr/lib 
# make -j4 dist  
# make install
注意,关于./configure如果不加路径Xen 相关的软件库是默认安装到 /usr/local/lib 目录,Ubuntu系统可能找不到,当然也可以在安装完成后在 /etc/ld.so.conf 文件中添加库的搜索路径或者是链接到/usr/lib路径。

安装 dom0 内核

这一步其实就是安装一个支持Xen的内核,在安装Xen之前或者之后进行都可以,但因为要配置内核以支持Xen,所以应该只能通过编译的方式来安装内核了吧。
下载相应的 Linux 内核源代码(从内核 2.6.39+ 开始 Linux 内核全面、正式的支持 Xen,但是一些必须的backend模块,直到linux3.0才加进来,也就是说3.0后的linux kernel对xen的支持才比较完美),配置 dom0 内核、编译、安装:
# tar xf linux-3.16.49.tar.xz   
# cd linux-3.16.49  
配置内核,直接把系统已经存在的配置文件拷过来然后在此基础上修改:
# cp /boot/config-4.4.0-31-generic .config
# make menuconfig
1,进入 Processor type and features --->[*]   Linux guest support

选择下面这些选项:



2,进入Device Drivers  ---> Block devices  --->  <*>   Xen virtual block device support
                                                                                    <*>   Xen block-device backend driver 
3、 Device Drivers  --->Xen driver support  把下面的都选上
4, Device Drivers  ---> Network device support  ---> <*>   Xen network device frontend driver
                                                                                               <*>   Xen backend network device

注意:
有的机器可能会遇到Device Drivers —> Xen driver support这个选项失踪的问题,这跟机器架构与系统配置有关,必须得打开处理器支持虚拟化的功能(进入BOIS),但有些机器太老可能没有这个功能。

然后是编译安装:

# make -j 4  
# make modules
# make modules_install  
# make install  

配置grub

配置 grub2,默认启动带有 Xen 的 Linux dom0 内核,注意Ubuntu使用的是grub2,先更新grub:

# update-grub
找到带有Xen内核的是在第几个启动项:
root@ye:/home/ye# cd /etc/grub.d/
root@ye:/etc/grub.d# ls
00_header  05_debian_theme  10_linux  20_linux_xen  20_memtest86+  30_os-prober  30_uefi-firmware  40_custom  41_custom  README
我的是在第三个,也可以到/boot/grub/grub.cfg中查看:
# vi /boot/grub/grub.cfg
修改/etc/default/grub中的默认启动项为2:
root@ye:/etc/grub.d# cat /etc/default/grub 
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=2
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

更改后最好再更新一次grub

# update-grub

重启,设置为自动加载Xen服务:

# update-rc.d xencommons defaults 19 18
# update-rc.d xendomains defaults 21 20
# update-rc.d xen-watchdog defaults 22 23 
然后,即可看到dom 0

root@ye:/home/ye# xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0  1724     4     r-----      18.8





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值