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