Искусство виртуализации Евгений Зобнин aka j1m Хакер, номер #089, стр. 089-094-3 Для сборки собственного ядра для Xen необходимо выполнить ряд операций. В первую очередь запускаем конфигуратор ядра-супервизора: # cd linux-2.6.12-xen0 # make ARCH=xen menuconfig Конфигурируем в соответствии со своими потребностями, не забыв включить опции: XEN -> Privileged Guest (domain 0) XEN -> Block-device backend driver XEN -> Network-device backend driver XEN -> Block-device frontend driver XEN -> Network-device frontend driver XEN -> Scrub memory before freeing it to Xen Теперь запускаем конфигуратор ядра гостевой ОС: # cd ../linux-2.6.12-xenU # make ARCH=xen menuconfig Делаем то же самое, за одним исключением: опции "XEN -> Privileged Guest (domain 0)" и "XEN -> Physical device access" в этом ядре совершенно бесполезны. И, наконец, собираем и устанавливаем ядра: # cd .. # make # make install Этап установки пройден, приступаем к конфигурированию. Для начала необходимо скопировать модули ядра xenU в корневую файловую систему гостевой ОС (допустим, она расположена на hda2): # mkdir /mnt/guest # mount /dev/hda2 /mnt/guest # cp -a /lib/modules/2.6.12.6-xenU /mnt/guest/lib/modules Осталось настроить grub (Lilo не поддерживается) для загрузки самого Xen и ядра-супервизора. Открываем /boot/grub/menu.lst и добавляем в него следующую запись: # vi /boot/grub/menu.lst title XenLinux # раздел, на котором расположен каталог /boot root (hd0,0) # грузим Xen kernel /boot/xen-3.0.gz dom0_mem=131072 # и ядро-супервизор module /boot/vmlinuz-2.6.12-xen0 root=/dev/hda1 ro console=tty0 Здесь я предположил, что корень файловой системы твоего текущего Линукса находится на hda1. Аргумент dom0_mem указывает на количество памяти (в килобайтах), доступной ОС, работающей в качестве супервизора. Сколько отводить памяти, решай сам. Я обычно указываю половину от ее физического объема - остальное достанется гостевым ОС. Все, закончили. Теперь отправляй машину в перезагрузку, выбирай пункт XenLinux в меню grub и приготовься читать дальше :). [пингвин внутри пингвина] Парадоксально, но Xen, при всей своей сложности, на удивление легок в администрировании. Чтобы обучиться основам работы с Xen, можно вообще не читать документации. Рассмотрим пример запуска дистрибутива Ubuntu Linux внутри виртуальной машины Xen. Для осуществления задуманного нам нужен сам дистрибутив Ubuntu, установленный на жесткий диск (в данном случае на раздел /dev/hda2), конфигурационный файл и немного знаний о Linux. В качестве примера для конфига возьмем файл /etc/xen/xmexample1, скопируем его в /etc/xen/ubuntu и немного подправим: # vi /etc/xen/ubuntu # наше ядро для гостевой ОС kernel = "/boot/vmlinuz-2.6.12-xenU" |