223
contributi
Nessun oggetto della modifica |
(finito, da revisionare) |
||
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. |
contributi