在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/
[email protected]:~# 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
[email protected]:~#
如你所见,有一个新的内核, 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内核应显示:
[email protected]:~# uname -r
2.6.27.5
[email protected]:~#