В заметке показано как запустить Xen 4.0.0 (dom0) с Linux ядром 2.6.32.10 поверх 64-разрядной сборки Ubuntu 10.04-beta.
Устанавливаем необходимые для сборки пакеты:
sudo aptitude install build-essential libncurses5-dev dpkg-dev debhelper fakeroot
Загружаем Linux ядро с dom0-патчами:
sudo -s cd /usr/src 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/stable origin/xen/stable
Копируем файл с параметрами конфигурации ядра:
curl http://opennet.ru/soft/xen40_config.txt > /usr/src/linux-2.6-xen/.config
Анализируем различия с базовым файлом конфигурации Ubuntu и при необходимости вносим изменения:
diff /boot/config-2.6.32-17-generic /usr/src/linux-2.6-xen/.config | vim -
Собираем ядро:
make menuconfig # включаем поддержку dom0 и Xen make chmod g-s /usr/src -R # для того чтобы избежать ошибки "dpkg-deb: control directory has bad permissions..." make deb-pkg
Собираем и устанавливаем пакет с ядром, настраиваем initramfs и grub:
dpkg -i ../linux-image*2.6.32.10*.deb depmod 2.6.32.10 update-initramfs -c -k 2.6.32.10 update-grub echo "xen-evtchn" >> /etc/modules
Готовим окружение для сборки
apt-get build-dep xen-3.3 aptitude install uuid-dev iasl texinfo
Загружаем Xen
cd /usr/src hg clone -r 4.0.0 http://xenbits.xensource.com/xen-unstable.hg cd xen-unstable.hg
Собираем
make xen make tools make stubdom make install-xen make install-tools PYTHON_PREFIX_ARG= make install-stubdom
update-rc.d xend defaults 20 21 update-rc.d xendomains defaults 21 20
Настраиваем Grub2 через создание файла /etc/grub.d/40_custom:
#!/bin/sh exec tail -n +3 $0 menuentry "Xen 4.0.0-rc8 / Ubuntu 10.4 kernel 2.6.32.10 pvops" { insmod ext2 set root=(hd0,1) multiboot (hd0,1)/xen-4.0.0.gz dummy=dummy module (hd0,1)/vmlinuz-2.6.32.10 dummy=dummy root=/dev/mapper/HyperDeskVG01-tcmc-dell-lucid ro module (hd0,1)/initrd.img-2.6.32.10 }
Не забудьте изменить значение параметра "root=" на корневой раздел текущей системы.
Обновляем параметры Grub:
update-grub
Перезагружаем систему с dom0-ядром:
reboot
Проверяем работает ли Xen:
xm list xm info
Если нет, пытаемся выполнить:
/etc/init.d/xendomains stop /etc/init.d/xend stop /etc/init.d/xend start /etc/init.d/xendomains start
|