klotild:/# apt-get install mercurial
Akkor csináljunk egy clone-t az ottani forrásfile-okból ( Fontos hogy a cél mappa NE LÉTEZZEN, azt majd a progi létrehozza, persze azért olyan userrel csináljuk, akinek a megadott mappába joga is van írni )
klotild:/# hg clone http://xenbits.xensource.com/xen-3.1-testing.hg /usr/src/xen-source
requesting all changes
adding changesets
adding manifests
adding file changes
added 15565 changesets with 98244 changes to 9966 files
3380 files updated, 0 files merged, 0 files removed, 0 files unresolved
Ha ez végzett, akkor az újonnan létrejött mappában kb 144MB-nyi friss adat vár minket ( lesz ez még több is! :D )
Aztán az alábbi csomagok fognak nekünk kelleni a teljesség igénye nelkül (Ezek nélkul sajna nem tudjuk teljesen lefordítani a XEN forrásunkat ):
klotild:/# apt-get install gs-common libncurses5-dev libncurses5 zlib1g-dev python python-dev python-twisted-core openssl libssl-dev bridge-utils iproute libcurl3 libcurl3-dev bzip2 module-init-tools tetex-base tetex-extra transfig tgif libsdl1.2-dev libvncserver-dev libjpeg-dev qemu bcc bin86
*Csak ugy megjegyzésként: a tetex csomagok azért kellenek, merthogy alapból a XEN doksik ebben a formátumban vannak (TeX), és hát vhogy a program szeretne minket emberi nyelven is olvasható formátumú doksikkal ellátni, ahoz viszont elöbb ezeket at kell konvertálnia..
Ha mindez megvan akkor jön az alábbi parancs:
klotild:/# cd /usr/src/xen-source
klotild:/usr/src/xen-source# make world
És akkor most hátradől, es az előre bekészített hideg élelmet nyugodtan el lehet fogyasztani. Amit nem árt tudni: A kernel.org-ról letöltődik a 2.6.18as kernel tar.bz2-je, amit aztán a progi kicsomagol, majd megpatcheli a saját patch-eivel, amit aztán egy gyárilag szállított config állománnyal leforgat. (Ha ez a kernel nem tetszene nekünk akkor se csüggedjünk: /usr/src/xen-source/linux-2.6.18-xen mappa alatt ott a kernel forrás, szóval barmikor odamászhatunk, es make menuconfig-olhatjuk a megpatchelt kernelt (ez szerintem javalott is, legalább is én vhogy sose voltam kibékülve a script által gyártott kernellel,főleg hogy az égadta 1 vilagon szinte mindent modulba tesz )) Ezen kívül elkészíti még a bináris állományokat és a xen.gz "kernel-t" is.
Ha minden sikeresen lefutott akkor mostanra már közel 900 MB-nyi helyet foglal a /usr/src/xen-source mappánk, és örülhetünk, mert a munka nagyja már kész van. Akkor most rakjuk is a helyére a leforgatott binárisokat és mindent amiért eddig küzdöttünk :)
klotild:/usr/src/xen-source# make install
Amennyiben még is megbízunk a script által forgatott kernelben, akkor nem árt initrd-t
is gyártani mellé, mert különben elég nagy pofáraesések lehetnek (aki saját kernelt
csinált az belátása szerint döntse el, hogy igényli e az initrd-t)
klotild:/# depmod -a 2.6.18-xen
klotild:/# cd /boot
klotild:/boot# mkinitramfs -o initrd.img-2.6.18-xen 2.6.18-xen
Végső lépés: /boot/grub/menu.lst-t kicsit át kell herkesszük, hogy aztán a köv induláskor már az immár (remélhetőleg működő ) új xen-es kernelünk bootolhasson be. Az alábbihoz hasonló sorok kerüljenek bele a menu.lst-be:
title XENLinux 2.6.18
root (hd0,1)
kernel /xen.gz dom0_mem=524288
module /vmlinuz-2.6.18-xen root=/dev/md1 ro console=tty0
#module /initrd.img-2.6.18-xen #ha csinlatunk initrd-t akkor ezt se hagyjuk ki!
savedefault
Ha az új kernelünk is hiba nélkül felbootolt akkor már csupán annyi dolgunk van, hogy a /etc/rcSd-be belerakjunk egy symlinket, hogy a xend minden rendszer induláskor elinduljon, illetve /etc/rc6.d-be egy leállításért felelőset. ( amúgy a xend-t a /etc/init.d/xend start parancsal tudjuk kézzel meghívni )
klotild:/# ln -s /etc/init.d/xend /etc/rcS.d/S80xend
klotild:/# ln -s /etc/init.d/xend /etc/rc6.d/K60xend
klotild:/# ln -s /etc/init.d/xend /etc/rc0.d/K60xend
Ezek után már csak annyi dolgunk van, hogy az immár Dom0-ként futó OS-ünk alá feltegyük a Guest OS-(eke)t :)
- Huncraft blogja
- A hozzászóláshoz be kell jelentkezni
- 2493 megtekintés
Hozzászólások
update-rc.d xend start 80 S . stop 60 0 6 .
így egyszerübb, és nem belepofázni akarok, de szerintem rc0-nál is le kell löni
jó ki howto, mehetne HUPWiki-be
linux v2.6.22.14 + madwifi v0.9.3.3-mal itt
debian gnu/linux @ linux-2.6.22.15-pancs1
- A hozzászóláshoz be kell jelentkezni
Egyáltalán nem belepofázásnak vettem :) Sőt mivel csak saját tapasztalatokra épül az egész iromány ( jó a tapasztalatok meg netes kutatásra :)), így egyáltalán nem lehetetlen, hogy van benne hiba..
rc0.d is jogos bele is írom, igaz még az én általam használt módszerrel..
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Üllj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
elötte én is ln-nel csináltam, azután észrevettem, hogy van debianban egy ilyen kis tool, ezzel sokkal gyorsabban meg lehet csinálni, főleg, ha több init szintre kell linkelni
linux v2.6.22.14 + madwifi v0.9.3.3-mal itt
debian gnu/linux @ linux-2.6.22.15-pancs1
- A hozzászóláshoz be kell jelentkezni
köszi jó a a leírás!
amúgy be lehetne tenni a hupwikibe is..............
- A hozzászóláshoz be kell jelentkezni
+1
"It took six days for the god creating this world and see how many bugs it contains! "
- A hozzászóláshoz be kell jelentkezni
Igazából a xenes kernelem elindult, de nem tudom hogy hozhatnék létre domU -s kernelt. Tehát. Ami most van, azt használja a dom0 ugye? A domU -knak milyen paranccsal tudok ltrehozni? Álljak bele a xen-source mappába és make menuconfig -gal oldjam meg, majd a lementett .config -ból csináljak make-kpkg kernel-image --kernel-headers --initrd -vel?
Ha pl. több config van az adott mappában ,akkor mi fog történni ez esetben? Melyik konfig lép érvénybe a kernel-image létrhozásánál?
- A hozzászóláshoz be kell jelentkezni
Na, rájöttem, az a config fordu le amit otthagyok .config néven, kiszedegettem a kernelből pár dolgot, így a 2/3 -ára csökkentettem. Biztonság szempontáól lenne jó tudni mi az amit ilyenkor kernelszintn el szoktak követni, hiszen ez egy tűzfalkernel lesz.
Most, hogy akkor elvileg megvan a krnelem, kíváncsi lennék milyen paraccsal lehetne domU -t létrehozni, a hozzátartozó kernellel.
- A hozzászóláshoz be kell jelentkezni
Mivel a cucc eltűnt, elkértem Huncraft -tól és feldobom ide, azokkal a kiedészítésekkel amik nélkül náam nem ment fel. A kérdésem azonban az, hogyan tudok külön kerneleket csinálni a dom0 -nak és domU -knak, valamint nekem az is gyanús, hogy a letöltött kernel konfigurálásánál itt hiányoznak a xen opciók a 2.6.18as kernelből. Valami kimaradgatott a leírásból...
A XEN projekt a forrás elérésére egy Mercurial nevű rendszert használ. A Mercurial egy futtatható állományon keresztül teszi ezt elérhetővé egy bizonyos „hg” programm segítségével, ami az angol mercury (higany) vegyjelére utal. A Mercurial egy olyan csomag, mely a GNU / GPL v2. alatt áll, mostanra már elég népszerűvé vált, valamint számtalan nyílt forráskódú projekt használja, mint például a XEN és az OpenSolaris.
Ha egy adott projektben változások, de leginkább frissítések jelennek meg, ezeket nyomon tudjuk követni és mindig hozzájuthatunk az aktuális verzióhoz. Ezeket az egy vagy több fájlt érintő változá-sokat changesets –be csoportosítják, amelyeket changeset ID –val és egy string tag –gal látnak el. A XEN projekt többszörös Mercurial raktárat tart fenn, ezek közül mindegyiket elérhetjük. Minden meg-jelenés újabb verziószámma van ellátva. Amikor ez a jegyzet készült, a legújabb a 3.0.4 –es volt.
• XEN – 3.0.4 – testing.hg: a legújabb változat, melyet folyamatosan tesztelnek és a hibajavításokkal folyamatosan ellátják.
debian:~# apt-get update
debian:~# apt-get upgade
debian:~# apt-get remove –purge exim4 exim4-base lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp
pppconfig
Első lépésként töltsük le a mercurial repository –ból az éppen aktuális xen-forrásokat, a mercurial –ban található hg program segítségével. Ehhez tegyük fel a mercurial –t:
debian:~# apt-get install mercurial
debian:~# hg clone http://xenbits.xensource.com/xen-3.1-testing.hg /usr/src/xen-source
Valami ilyesmit kell látnunk, a folyamat eltart egy darabig:
requesting all changes
adding changesets
adding manifests
adding file changes
added 15744 changesets with 98557 changes to 9998 files
3385 files updated, 0 files merged, 0 files removed, 0 files unresolved
Amikor a folyamat befejeződött, az újonnan létrejött xen-source mappában kb. 140 MB –nyi adat fogad bennünket. A XEN-forrás lefordításához az alábbi csomagokra lesz szükségünk:
debian:~# apt-get install gs-common libncurses5-dev libncurses5 zlib1g-dev python python-dev python-twisted-core openssl
libssl-dev bridge-utils iproute libcurl3 libcurl3-dev bzip2 module-init-tools tetex-base tetex-extra transfig tgif libsdl1.2-dev
libvncserver-dev libjpeg-dev qemu bcc bin86 gcc kernel-package
/tgif után space, libsd_egy_pont_kettő-dev!/
A tetex csomagokra azért van szükség, mert a XEN dokumentumok ebben a formátumban vannak, tehát ezeket, hogy emberi nyelven tudja elénk tárni át kell konvertálnia.Jöhet a forgatás:
debian:~# cd /usr/src/xen-source
debian:/usr/src/xen-source# make world
A fordulás közben a kernel.org –ról letöltődik a 2.6.18 –as kernel tar.bz2 –je, ezt a program kicsomagolja, majd megpatch –eli a saját patch –eivel, amit aztá egy gyárilag szállított config állománnyal leforgat. Ha a kernel nem tetszene nekünk, akkor se csüggedjünk, mert a /usr/src/xen-source/linux-2.6.18.8-xen mappa alatt található a kernel-forrás, bármikor odaléphetünk és konfigolhatjuk a megpatch –elt kernelt. Ezt érdemes is megtenni hiszem az égvilágon mindent modulba tesz. A végére pedig elkészíti a bináris állományokat és a xen.gz kernelt is.
Ha minden sikeresen lefutott, már közel 1GB –ot foglal a /usr/src/xen-source mappánk. Most rakjuk helyre a leforgatott binárisokat és mindent, amiért eddig küzdöttünk
debian:/usr/src/xen-source# make mrproper # Vigyázat! Törli a linux-2.6.18.8-xen mappát!
debian:/usr/src/xen-source# make install
Elképzelhető, hogy az install megáll, mert bugos lehet a docs/xen-api/makefile. Töröljük benne a cp xenapi.ps és cp xenapi.pdf sort!
Ha az install megszakad, érdemes visszamásolnunk az előzőleg letöltött (javaslom töltsük le ha kis sávszélű a netünk) kernelt, mivel a make mrproper a xen-source mappában található kernelünket is gyalulja. Ha visszamásoljuk, nem tölti le.
Megesszük a bekészített hidegélelmet, mert megint várhatunk vagy fél órát.
Amennyiben még is megbízunk a script által forgatott kernelben, akkor nem árt initrd -t is gyártani mellé, mert különben elég nagy pofáraesések lehetnek ( aki saját kernelt csinált az belátása szerint döntse el, hogy igényli e az initrd-t ).
debian:/usr/src/xen-source# cd /
debian:/# depmod -a 2.6.18.8-xen
debian:/# cd /boot
debian:/boot# mkinitramfs -o initrd.img-2.6.18.8-xen 2.6.18.8-xen
Végső lépés: /boot/grub/menu.lst -t kicsit át kell szerkesszük, hogy aztán a következő induláskor már az immár (remélhetőleg működő ) új xen -es kernelünk boot -olhasson be. Az alábbihoz hasonló sorok kerüljenek bele a menu.lst-be:
title XEN
Root (hd0,1)
Kernel /boot/xen.gz dom0_mem=524288
Module /boot/vmlinuz-2.6.18.8-xen root=/dev/mapper/filesystem-root ro console=tty0
#module /boot/initrd.img-2.6.18.8-xen #ha csinlatunk initrd-t akkor ezt se hagyjuk ki!
savedefault
Ha az új kernelünk is hiba nélkül felbootolt akkor már csupán annyi dolgunk van, hogy a /etc/rcSd -be belerakjunk egy symlinket, hogy a xend minden rendszer induláskor elinduljon, illetve /etc/rc6.d -be egy leállításért felelőset.
debian:/# ln -s /etc/init.d/xend /etc/rcS.d/S80xend
debian:/# ln -s /etc/init.d/xend /etc/rc6.d/K60xend
debian:/# ln -s /etc/init.d/xend /etc/rc0.d/K60xend
- A hozzászóláshoz be kell jelentkezni