在Ubuntu 8.10(x86_64)上安装Xen 3.3内核2.6.27
版本1.0
作者:Falko Timme
本教程将介绍如何在Ubuntu 8.10主机( dom0
)上安装Xen 3.3。 Xen 3.3可以从Ubuntu 8.10存储库获得,但Ubuntu 8.10内核( 2.6.27-x
)是domU
内核,即它们适用于Xen guest( domU
),但不适用于主机( dom0
)。 因此,我们需要构建自己的dom0
内核。 本指南介绍了如何使用2.6.27内核执行此操作。
我不会保证这将为您工作!
1初步说明
我使用的是Ubuntu 8.10 x86_64系统,主机名为server1.example.com
,IP地址为192.168.0.100
作为主机系统( dom0
)。 我将使用Debian Lenny作为虚拟机( domU
)。
本指南将介绍如何设置基于映像的虚拟机以及基于LVM的虚拟机。
我使用root权限运行本教程中的所有步骤,因此请确保以root用户身份登录:
sudo su
2安装Xen
首先升级你的系统...
apt-get upgrade
...并从Ubuntu存储库安装最新的内核:
apt-get install linux-image-server linux-server
接下来我们安装Xen 3.3和构建我们的dom0
内核的先决条件:
apt-get install ubuntu-xen-server build-essential libncurses5-dev gawk mercurial
现在我们下载2.6.27 Xen内核的源码
mkdir -p ~/build/linux-2.6.27-xen
cd /usr/src/
hg clone http://xenbits.xensource.com/ext/linux-2.6.27-xen.hg
...并配置内核:
cd linux-2.6.27-xen.hg
make O=~/build/linux-2.6.27-xen/ menuconfig
在内核配置菜单中,确保选择以下选项:
General setup ---> Choose SLAB allocator (SLUB (Unqueued Allocator)) ---> (X) SLAB
Processor type and features ---> Subarchitecture Type (PC-compatible) ---> (X) Enable Xen compatible kernel
Bus options (PCI etc.) ---> [*] PCI support
[*] Xen PCI Frontend
[ ] Xen PCI Frontend Debugging (NEW)
更改<M> 802.1d以太网桥
接到<*> 802.1d以太网桥接
:
Networking support ---> Networking options ---> <*> 802.1d Ethernet Bridging
禁用10000 Mbit以太网(否则构建过程很可能会失败):
Device Drivers ---> [*] Network device support ---> [ ] Ethernet (10000 Mbit) --->
使Xen部分看起来如下(确保选择Xen版本兼容性(3.0.4及更高版本),
而不是Xen版本兼容性(3.0.2及更高版本)
):
Device Drivers ---> XEN ---> [*] Privileged Guest (domain 0)
<*> Backend driver support (NEW)
<*> Block-device backend driver (NEW)
<*> Block-device tap backend driver (NEW)
<*> Network-device backend driver (NEW)
(8) Maximum simultaneous transmit requests (as a power of 2) (NEW)
[ ] Pipelined transmitter (DANGEROUS) (NEW)
< > Network-device loopback driver (NEW)
<*> PCI-device backend driver (NEW)
PCI Backend Mode (Virtual PCI) --->
[ ] PCI Backend Debugging (NEW)
< > TPM-device backend driver (NEW)
<M> SCSI backend driver (NEW)
<M> Block-device frontend driver
<M> Network-device frontend driver
<M> Network-device frontend driver acceleration for Solarflare NICs (NEW)
<M> SCSI frontend driver (NEW)
<*> User-space granted page access driver (NEW)
<*> Framebuffer-device frontend driver (NEW)
<*> Keyboard-device frontend driver (NEW)
[*] Disable serial port drivers (NEW)
<*> Export Xen attributes in sysfs (NEW)
(256) Number of guest devices (NEW)
Xen version compatibility (3.0.4 and later) --->
之后,我们构建并安装内核如下:
make O=~/build/linux-2.6.27-xen/
make O=~/build/linux-2.6.27-xen/ modules_install install
现在看看/ boot
目录:
ls -l /boot/
root@server1:~# ls -l /boot
total 78364
-rw-r--r-- 1 root root 504280 2009-01-29 22:23 abi-2.6.27-11-server
-rw-r--r-- 1 root root 503560 2008-11-04 22:22 abi-2.6.27-7-server
-rw-r--r-- 1 root root 85313 2009-01-29 22:23 config-2.6.27-11-server
-rw-r--r-- 1 root root 87256 2009-02-12 20:51 config-2.6.27.5
-rw-r--r-- 1 root root 85319 2008-11-04 22:22 config-2.6.27-7-server
drwxr-xr-x 2 root root 4096 2009-02-12 22:28 grub
-rw-r--r-- 1 root root 8983433 2009-02-12 22:28 initrd.img-2.6.27-11-server
-rw-r--r-- 1 root root 8979323 2009-02-12 22:26 initrd.img-2.6.27-7-server
drwx------ 2 root root 16384 2009-02-12 19:30 lost+found
-rw-r--r-- 1 root root 124152 2008-09-11 22:11 memtest86+.bin
-rw-r--r-- 1 root root 1354638 2009-01-29 22:23 System.map-2.6.27-11-server
-rw-r--r-- 1 root root 1258568 2009-02-12 20:51 System.map-2.6.27.5
-rw-r--r-- 1 root root 1351952 2008-11-04 22:22 System.map-2.6.27-7-server
-rw-r--r-- 1 root root 1130 2009-01-29 22:27 vmcoreinfo-2.6.27-11-server
-rw-r--r-- 1 root root 1129 2008-11-04 22:25 vmcoreinfo-2.6.27-7-server
-rw-r--r-- 1 root root 2341536 2009-01-29 22:23 vmlinuz-2.6.27-11-server
-rw-r--r-- 1 root root 2192827 2009-02-12 20:51 vmlinuz-2.6.27.5
-rw-r--r-- 1 root root 2338976 2008-11-04 22:22 vmlinuz-2.6.27-7-server
-rw-r--r-- 1 root root 470144 2008-10-06 20:15 xen-3.3.gz
root@server1:~#
如你所见,有一个新的内核, 2.6.27.5
,但没有ramdisk; 因此我们建立一个...
depmod 2.6.27.5
update-initramfs -c -k 2.6.27.5
...并更新我们的引导加载程序:
update-grub
之后,我们打开/ etc / modules
,并确保我们的行循环max_loop = 64
( 仅当您要创建基于映像的虚拟机时才需要此步骤 - 如果要创建基于LVM的虚拟机,则可以跳过该步骤虚拟机 ):
vi /etc/modules
[...] loop max_loop=64 |
然后重新启动系统:
reboot
跑
uname -r
重新启动后,您的新Xen内核应显示:
root@server1:~# uname -r
2.6.27.5
root@server1:~#