SVN: PLD-doc/queue: xen-howto.txt xen.txt
adamg
adamg w pld-linux.org
Czw, 7 Gru 2006, 17:34:22 CET
Author: adamg
Date: Thu Dec 7 17:34:21 2006
New Revision: 8075
Added:
PLD-doc/queue/xen-howto.txt
PLD-doc/queue/xen.txt
Log:
- dwa dokumenty dotyczace xen - jeden mojego autorstwa,
drugi Krystiana Tyczynskiego
Added: PLD-doc/queue/xen-howto.txt
==============================================================================
--- (empty file)
+++ PLD-doc/queue/xen-howto.txt Thu Dec 7 17:34:21 2006
@@ -0,0 +1,93 @@
+krótkie xen3-pld-howto:
+=======================
+
+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
+
+dla ac-i686 s± gotowe paczki - indeksy poldka (pndir):
+
+ http://students.mimuw.edu.pl/~adamg/xen/
+
+UWAGA:
+ Próbowałem budować kernele na amd64, ale się toto wywala. Jako,
+ że jedyne amd64 które mam pod opiek± korzysta z vserverów, nie
+ zagłębiałem się w to.
+
+
+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=fe00 dom0_mem=256M
+ module /vmlinuz-xen0 ro netloop.nloopbacks=1
+ module /initrd-xen0
+
+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:
Added: PLD-doc/queue/xen.txt
==============================================================================
--- (empty file)
+++ PLD-doc/queue/xen.txt Thu Dec 7 17:34:21 2006
@@ -0,0 +1,152 @@
+Xen - monitor maszyn wirtualnych
+
+Author: krystian
+
+Xen (www.xensource.com) służy do obserwowania maszyn wirtualnych uruchomionych w jego środowisku.
+Najprościej mówiąc można zainstalowac na danej maszynie np. kilka niezależnych od siebie systemów operacyjnych.
+Najnowsze oficjalne wydanie (w czasie pisania tego Howto) to Xen 3.0.3.
+Jest rozpowszechniany na licencji OpenSource.
+
+Kilka podstawowych danych dotyczących Xen 3.0.3:
+
+- wsparcie dla platformy wieloprocesorowej (do 32 procesorów)
+- praca na architekturach: x86, x86_64 (64-bitowe procesory), IA64, PPC, praca w toku na porcie architektury SPARC
+- obecnie wsparcie dla linuksa z jajkiem 2.4.x, 2.6.x oraz NetBSD i Plan9
+- wsparcie sprzętowe wirtualizacji dla Intel® VT-x i AMD Pacifica
+- domyślnie 32-bit Xen wspiera do 4GB pamięci RAM
+- wersja 3.x wspiera Physical Addressing Extensions (PAE), dla x86/32 do 64GB fizycznej pamięci
+
+Instalacja Xen 3.0.3 na PLD
+
+Naszym zadaniem będzie ściągnięcie odpowiednich spec'ow z repozytorium CVS PLD, a następnie zbudowanie
+kerneli do wspolpracy z Xen tj. kernel-xen0 i kernel-xenU oraz oczywiście zbudowanie paczki z Xen ;-)
+
+1. Jeżeli nie mam jeszcze zainstalowanej paczki CVS to klepiemy:
+
+ # poldek -i cvs
+
+2. Ustawiamy CVSROOT dla zdalnego repozytorium komenda:
+
+ # export CVSROOT=":pserver:cvs w cvs.pld-linux.org:/cvsroot"
+
+3. Tworzymy potrzebne nam katalogi (dla CVS):
+
+ # mkdir -p ~/rpm/{SPECS,SOURCES,RPMS,SRPMS,BUILD}
+ # cd rpm
+ # cvs get SPECS/builder SOURCES/kernel-i386.config
+
+4. Sciagamy potrzebne nam spec'i z repo:
+
+ # cvs get SPECS/kernel.spec SPECS/xen.spec
+ ...
+ U SPECS/kernel.spec
+ U SPECS/xen.spec
+
+5. Nastepnie instalujemy za pomoca poldka rpm-build-*:
+
+ # poldek -i rpm-build-*
+
+Zostana zainstalowane narzedzia do budowania paczek (builder), kompilacji zrodel (w naszym przypadku kernela-xen0, kernela-xenU i xen'a).
+
+6. Teraz zajmiemy sie budowaniem paczek.
+ Na poczatku zbudujemy kernela ze wsparciem dla xen0:
+
+ # builder kernel.spec:LINUX_2_6_16 --with xen0
+
+ Mozemy rowniez wybrac innego dostepnego branch'a zamiast LINUX_2_6_16.
+ Wiecej o builderze mozemy poczytac piszac w w wierszu polecen builder.
+
+ W tym momencie mozna zrobic sobie kawe lub herbate i isc na jakis dobry film, gdyz zajmie to troche czasu ;-)
+ Dobrze, koniec tego dobrego i wracamy do roboty. Jeśli wszystko przebieglo bezproblemowo to powinnismy w naszym
+ katalogu ~/rpm/RPMS zobaczyc:
+
+ kernel-xen0-2.6.16.28-1.i686.rpm
+ kernel-xen0-doc-2.6.16.28-1.i686.rpm
+ kernel-xen0-drm-2.6.16.28-1.i686.rpm
+ kernel-xen0-headers-2.6.16.28-1.i686.rpm
+ kernel-xen0-module-build-2.6.16.28-1.i686.rpm
+ kernel-xen0-pcmcia-2.6.16.28-1.i686.rpm
+ kernel-xen0-smp-2.6.16.28-1.i686.rpm
+ kernel-xen0-smp-drm-2.6.16.28-1.i686.rpm
+ kernel-xen0-smp-pcmcia-2.6.16.28-1.i686.rpm
+ kernel-xen0-smp-sound-alsa-2.6.16.28-1.i686.rpm
+ kernel-xen0-smp-sound-oss-2.6.16.28-1.i686.rpm
+ kernel-xen0-smp-vmlinux-2.6.16.28-1.i686.rpm
+ kernel-xen0-sound-alsa-2.6.16.28-1.i686.rpm
+ kernel-xen0-sound-oss-2.6.16.28-1.i686.rpm
+ kernel-xen0-source-2.6.16.28-1.i686.rpm
+ kernel-xen0-vmlinux-2.6.16.28-1.i686.rpm
+
+ Ok, czesc roboty za nami.
+
+7. Budujemy drugiego kernela, tym razem z obsluga dla xenU:
+
+ # builder kernel.spec:LINUX_2_6_16 --with xenU
+
+ W tym momencie mozemy obejrzec drugi film? A moze isc do miasta na zakupy? ;-)
+ Jeśli wszystko przebieglo bezproblemowo to powinnismy w naszym
+ katalogu ~/rpm/RPMS zobaczyc:
+
+ kernel-xenU-2.6.16.28-1.i686.rpm
+ kernel-xenU-doc-2.6.16.28-1.i686.rpm
+ kernel-xenU-drm-2.6.16.28-1.i686.rpm
+ kernel-xenU-headers-2.6.16.28-1.i686.rpm
+ kernel-xenU-module-build-2.6.16.28-1.i686.rpm
+ kernel-xenU-pcmcia-2.6.16.28-1.i686.rpm
+ kernel-xenU-smp-2.6.16.28-1.i686.rpm
+ kernel-xenU-smp-drm-2.6.16.28-1.i686.rpm
+ kernel-xenU-smp-pcmcia-2.6.16.28-1.i686.rpm
+ kernel-xenU-smp-sound-alsa-2.6.16.28-1.i686.rpm
+ kernel-xenU-smp-sound-oss-2.6.16.28-1.i686.rpm
+ kernel-xenU-smp-vmlinux-2.6.16.28-1.i686.rpm
+ kernel-xenU-sound-alsa-2.6.16.28-1.i686.rpm
+ kernel-xenU-sound-oss-2.6.16.28-1.i686.rpm
+ kernel-xenU-source-2.6.16.28-1.i686.rpm
+ kernel-xenU-vmlinux-2.6.16.28-1.i686.rpm
+
+ No i stalo sie :) Mamy potrzebne kernele do pracy z Xen'em. Ale nie mamy samego Xen'a hehe :-)
+ Zaraz to zmienimy:
+
+ # builder xen.spec
+
+ W tym momencie moze sie okazac, ze nie mam wszystkich potrzebnych paczek do zbudowania Xen'a.
+ Dociagamy je poldkiem. Xen prosi rowniez o paczke XFree86-devel, ale my zamiast tej paczki instalujemy z repo X11-devel*.
+ Po kompilacji i zbudowaniu paczki powinnismy zobaczyc w katalogu ~/rpm/RPMS
+
+ xen-3.0.2-0.3.i686.rpm
+ xen-devel-3.0.2-0.3.i686.rpm
+ xen-static-3.0.2-0.3.i686.rpm
+
+8. Przyszedl czas na instalacje paczek. Na razie instalujemy:
+
+ # cd ~/rpm/RPMS
+ # rpm -Uvh kernel-xen0-2.6.16.28-1.i686.rpm
+ # rpm -Uvh xen-3.0.2-0.3.i686.rpm
+
+8. W tej chwili przejdziemy do konfiguracji bootloader'a (w tym przypadku GRUB'a). Jeśli nie mam go zainstalowanego to robimy to:
+
+ poldek -i grub
+
+ Aby zainstalowac GRUB'a w naszym MBR musimy wykonac nastepujaca czynnosc:
+
+ # grub
+
+ Gdy odpali sie konsola GRUB'a to klepiemy:
+
+ grub> root (hd<TAB>)
+ grub> setup (hd0)
+ grub> exit
+
+ <TAB> - dopelniamy tabulatorem (wybieramy odpowiednia partycje)
+
+ Otwieramy naszym ulubionym edytorem (np. vim, nano, pico) plik konfiguracyjny grub'a /boot/grub/menu.lst i zmieniamy domyslna konfiguracje badz dodajemy na dole:
+
+ title PLD Linux-Xen
+ root (hd0,0)
+ kernel /boot/xen.gz dom0_mem=256M
+ module /boot/vmlinuz-xen0 ro root=/dev/sda6 netloop.nloopbacks=1
+ module /boot/initrd-xen0
+
+ Jest to przykladowa konfiguracja. Aby sie dowiedziec wiecej zapraszam do lektury http://tx.downloads.xensource.com/downloads/docs/user/
+
+ Teraz mozemy zrebootowac maszyne i odpalic Xen'a ;-)
\ No newline at end of file
Więcej informacji o li¶cie dyskusyjnej pld-doc