krótkie xen3-pld-howto: ======================= $Id: xen-howto.txt,v 1.6 2007/06/04 13:42:58 adamg Exp $ Author: adamg ------------- Paczki: ^^^^^^^ Budujemy sobie potrzebne paczki: $ ./builder kernel.spec:LINUX_2_6_16 --with xen0 $ ./builder kernel.spec:LINUX_2_6_16 --with xenU $ ./builder xen.spec:XEN_3_0_2 dla ac-i686 są gotowe paczki - indeksy poldka (pndir): http://students.mimuw.edu.pl/~adamg/xen/i686/with_pae/ lub http://students.mimuw.edu.pl/~adamg/xen/i686/without_pae/ Paczki dla ac-amd64 - indeksy poldka (pndir): http://students.mimuw.edu.pl/~adamg/xen/amd64/ W xen0 instalujemy zarówno `kernel-xen0' jak i `kernel-xenU'. Nie zapominamy też o instalacji pakietu xen. Konfiguracja gruba: ^^^^^^^^^^^^^^^^^^^ $ grep -A4 Linux-xen /boot/grub/menu.lst title Linux-xen root (hd0,0) kernel /xen.gz root=/dev/sys/root dom0_mem=128M module /vmlinuz-xen0 ro netloop.nloopbacks=10 xencons=tty panic=10 module /initrd-xen0 $ Jeżeli chcemy mieć dostęp po seiralu, w linii zaczynającej się od kernel dodajemy na końcu: console=tty console=ttyS0,9600n8 Gdzie root=/dev/sys/th to urządzenie, na którym nasz rootfs siedzi (tutaj na lvm), a netloop.nloopbacks powinno przyjąć wartość równą ilości domU, które planujemy uruchomić - jesli będziemy mieć mniej, można zmniejszyć, aby przeczyścić listę urządzeń wyświetlanych w dom0 widocznych w `ip a l'. Domyślna wartość netloop.nloopbacks (jeśli nie podamy) to 8. initrd-xen0 to typowe initrd - u mnie zadziałało initrd wygenerowane geninitrd odalone z %post kernel-xen0. Odpalamy i sprawdzamy czy działa. Instalacja xenU: ^^^^^^^^^^^^^^^^ instalacja niemalże identyczna z procesem instalacji chroota. Tworzymy sobie partycję + ewentualnie partycję na swap, traktujemy mkfs, potem mount i instalujemy przez `poldek --root' standardowe paczki - `openssh-server/ powinno pociągnąć wszystkie potrzebne paczki. Przykładowo: /dev/test/xen0 + /dev/test/xen0_swap Tworzymy sobie pliczek /etc/xen/test: $ cat /etc/xen/test kernel = "/boot/vmlinuz-xenU" ramdisk = "/boot/initrd-xenU.new.gz" memory = 128 name = "test" disk = ['phy:/dev/test/xen0,sda1,w', 'phy:/dev/test/xen0_swap,sda2,w'] root = "/dev/sda1 ro" extra = "netloop.nloopbacks=1" vif = [ 'mac=aa:00:ff:de:ad:02, bridge=xenbr0' ] $ Możemy zainstalować w xenU pakiet `kernel-xenU' lub skopiować /lib/modules/*xenU z xen0 do xenU. Poprawki może wymagać initrd-xenU tak, aby posiadało moduły potrzebne do mountnięcia rootfs z xenU. Wewnątrz xenU ustawiamy też adres + maskę sposobem `po Bożemu'. Bootujemy: ^^^^^^^^^^ # xm create test Autostart: ^^^^^^^^^^ # ln -s /etc/xen/test /etc/xen/auto/ Comments: ^^^^^^^^^ .... # vim: set tw=72: