Old:Virtualizzazione - user mode linux: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
{{stub}}


==Introduzione==
[http://user-mode-linux.sourceforge.net/ User Mode Linux(UML)] e' un metodo sicuro per provare nuove versioni del kernel Linux e processi. Si possono far girare programmi difettosi (buggy), fare esperimenti con kernel nuovi e distribuzioni nuove, si puo mettere mano alle parti piu "intime" di un sistema linux senza intaccare il sistema che realmente sta girando sulla macchina.
UML fornisce una macchina virtuale che puo avere piu risorse fisiche e programmi virtualizzati della macchina|sistema reale. Lo spazio disco delle macchine virtuali sono contenuti in singoli file sul disco fisso.
Si puo assegnare alla macchina virtuale solo l'hardware di cui si abbia bisogno. Con accessi limitati, niente di cio che gira sulla macchina virtuale puo' cambiare o danneggiare il sistema fisico reale o il suo software.
{{Box | Note |Il tutto e' stato eseguito su '''testing/etch'''. Da adesso in poi mi riferiro a ''user mode linux'' con il nome '''UML''', alla macchina fisica con il nome ''host'' e alla macchina virtuale con  ''ospite''}}
==Installazione==
Per avere UML all'opera dobbiamo ricompilare il kernel con la '''SKAS'''( ''Separate Kernel Address Space'') patch che si trova gia sui repository:
<pre>
apt-get install linux-patch-skas
cd /usr/src/linux
make-kpkg clean
make-kpkg --added-patches skas --rootcmd fakeroot --append-to-version -skas --initrd --config menuconfig kernel_image
</pre>
In "''Processor type and feature''" troverete due opzioni in piu':
<pre>
[ ] /proc/mm support
[ ] Make UML childs /proc/<pid> completely browsable
</pre>
Settateli e compilate il kernel, alla fine della compilazione installate il pacchetto e riavviate.
Una volta riavviato installiamo alcuni software:
<pre>
apt-get source user-mode-linux # da utente
apt-get install user-mode-linux-doc uml-utilities
</pre>
Il pacchetto user-mode-linux contiene i sorgenti del kernel patchati per  diventare degli eseguibili UML.
User mode linux ha bisogno di un kernel modificato e patchato per essere eseguibile dall'utente(user-space).
Il kernel che risiede su host sara' un vero e proprio avviabile con opzioni da riga di comando simili a quelle per bootare un kernel, per avere i moduli sulla immagine dovrete montarli con hostfs( il kernel di default e' un monolite che boota dando solo qualche warning su moduli non trovati e non ha hostfs attivato).
Da '''/usr/share/doc/user-mode-linux/README.Debian''':
Compilare un pacchetto kernel UML.
Devi avere apt configurato per poter scaricare i sorgenti dei pacchetti.
(esempio deb-src http://it.debian.org/debian main contrib, man sources.list)
<pre>
$ apt-get source user-mode-linux
</pre>
Puoi farlo con fakeroot la doc originale e' sbagliata ;D provare per credere
<pre>
cd user-mode-linux-UMLVERSION
debian/rules unpack
</pre>
Oppure, decomprimi un'altro sorgente e aggiorna kernel_version in
debian/rules
<pre>
debian/rules patch
</pre>
Oppure, applica UML patch a mano e aggiusta patch-stamp
<pre>
cd kernel-source-KVERSION
</pre>
Potete anche scegliere di fare solo moduli e vmlinux, la immagine bz non mi serve ad altro che backup, sconsiglio di usare initrd.
<pre>
make defconfig ARCH=um && make [menu,x]config ARCH=um # make all ARCH=um
</pre>
Tutti i comandi makefile devono includere ARCH=um
<pre>
cd ..
dpkg-buildpackage -rfakeroot -nc -uc
</pre>
Bene ora siete pronti a instrallarlo
<pre>
dpkg -i ../user-mode-linux_2.n.nn-1um-2_i386.deb
</pre>
Avete la possibilita di montare lo stesso sistema con host fs.
56

contributi