В заметке показано как запустить 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-stubdomupdate-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 startURL: http://lists.xensource.com/archives/html/xen-users/2010-03/m...
Обсуждается: http://www.opennet.me/tips/info/2342.shtml
Хм... убунтовцы взяли у дебиановцев машину времени!
>Хм... убунтовцы взяли у дебиановцев машину времени!Не-не-не... Дебиановцам "машина времени" системы tar xzf && make && make install им не улыбается.
xen 4.0 нет ещё в пакетах. dom0 в linux пилят, говорят, в unstable [?на добровольцах]. В 2.6.32-11 (пакет от 05 Apr 2010): "2.6.32.11" и "Update Xen patch" (<=?месячной? давности). http://packages.debian.org/changelogs/pool/main/l/linux-2.6/...
что творят канадцы (убунтоводы) ;) ;) ;)вот вам пример unix-way ;)
можно сэкономить немного времени на медленном канале, если сам xen качнуть по ссылке http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.0.ta...
далее разворачиваем архивчик и то же самое
make xen
make tools
make stubdomи т.д.
А почему не make world ?? а вот так ?
> А почему не make world ?? а вот так ?Намного удобнее собирать ядро с поддержкой Xen отдельно. Сначала собрать и проверить ядро при сборке которого возникает не мало трудностей, а потом уже собирать и устанавливать гипервизор.
Многие поступаю именно так, например:
Мануалка по сборке ядра http://www.alsigned.ru/?p=653 и мануалка по сборке Xen 4.0 http://www.alsigned.ru/?p=676 правда для CentOS.
"""Анализируем различия с базовым файлом конфигурации Ubuntu и при необходимости вносим изменения:""""
Так какой конфиг правим. Убунты или XEN???
И если вот у меня есть различия к примеру в этом
-------------------------------------
3,4c3,4
< # Linux kernel version: 2.6.32-24-generic
< # Thu Sep 16 14:17:23 2010 ---Это убунта
---
> # Linux kernel version: 2.6.32.10
> # Wed Mar 24 18:06:50 2010 ---Это xen--------------------------------------
И вот тут к примеру
--------------------------------------
6,8c6,8
< # CONFIG_64BIT is not set
< CONFIG_X86_32=y ---Это убунта
< # CONFIG_X86_64 is not set
---
> CONFIG_64BIT=y
> # CONFIG_X86_32 is not set ---Это xen
> CONFIG_X86_64=y------------------------------
То что я должен подправить
Доброго времени суток!
Проблема:
Все сделал по мануалу, но при загрузке ядра вылетает ошибка в grub:
error: couldn't open file # Это он пишет на файл xen-4.1.0.gz ( в грабовском кастоме все поменял, что бы работал с 4.1 версией, но не почему-то не может подгрузить)#/etc/grub.d/40_custom
menuentry "Xen 4.1.0 / Ubuntu 10.4 kernel 2.6.32.25 pvops" {
insmod ext2
set root='(hd2,2)'
echo 'Загрузка ядра Xen...'
multiboot (hd2,2)/boot/xen-4.1.0.gz dummy=dummy
echo 'Загрузка ядра Linux...'
module (hd2,2)/boot/vmlinuz-2.6.32.25 dummy=dummy root=/dev/sdc2 ro #здесь раньше использовал UUID харда, но до этого момента загрузка не доходила
module (hd2,2)/boot/initrd.img-2.6.32.25
}
Все же я нашел ошибку пошевелив немного мозгами.... но загрузка dom0 не происходит почему-то... на экран выскакивает кучу информации по железу, экран гаснет и по ssh уже не хочет подключаться... на 3 волшебные клавиши тоже не реагирует...Кто нибудь знает как это лечить? (или где посмотреть лог загрузки) dmesg и syslog пустые, только информации по загрузки ядра без xen