Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 51896 Details for
Bug 82991
[it] Aggiornamento/traduzione Italiana di uml.xml
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
uml.xml
uml.xml (text/plain), 13.04 KB, created by
Massimo C.
on 2005-02-22 12:46:57 UTC
(
hide
)
Description:
uml.xml
Filename:
MIME Type:
Creator:
Massimo C.
Created:
2005-02-22 12:46:57 UTC
Size:
13.04 KB
patch
obsolete
><?xml version="1.0" encoding="UTF-8"?> ><!-- $Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/it/uml.xml,v 1.5 2004/05/20 13:51:53 mush Exp $ --> > ><!DOCTYPE guide SYSTEM "./dtd/guide.dtd"> > ><guide link="/doc/it/uml.xml" lang="it"> ><title>Guida per gli sviluppatori al test di sistema con i Linux User-Mode</title> ><author title="Redazione"> > <mail link="g2boojum@gentoo.org">Grant Goodyear</mail> ></author> ><author title="Redazione"> > <mail link="zhen@gentoo.org">John Davis</mail> ></author> ><author title="Redazione"> > <mail link="swift@gentoo.org">Sven Vermeulen</mail> ></author> ><author title="Redazione"> > <mail link="bennyc@gentoo.org">Benny Chuang</mail> ></author> ><author title="Traduzione"> > <mail link="bernardo@linux.it">Bernardo Damele</mail> ></author> ><author title="Revisione"> > <mail link="posta@massimo.biz">Massimo Canali</mail> ></author> > > ><abstract> >Questa guida mostra agli sviluppatori come configurare ed utilizzare gli user-mode >per testare cambiamenti potenzialmente dannosi per il sistema. ></abstract> > ><version>0.10</version> ><date>2005-02-05</date> > ><chapter> ><title>Ottenere le sorgenti per i Linux User-Mode</title> ><section> ><body> > ><p> >Come dichiarato nel sito i Linux User-mode >(<uri>http://user-mode-linux.sourceforge.net</uri>) permettono all'utente di >"eseguire linux all'interno di se stesso" Specificamente i Linux User-Mode >forniscono una macchina virtuale all'interno della quale un utente può "eseguire >software difettoso, sperimentare nuovi kernel o distribuzioni e penetrare nelle >viscere di Linux, il tutto senza rischiare la propria installazione principale". >Cambiamenti sperimentali ai principali pacchetti di Gentoo quali ><e>sys-apps/baselayout</e> o <e>sys-libs/glibc</e> possono corrompere il sistema >e renderlo inutilizzabile. Attraverso l'utilizzo dei Linux user-mode possiamo >testare questi cambiamenti senza preoccuparci di possibili danni causati al >sistema principale. ></p> > ><p> >L'installazione dei Linux user-mode è essenzialmente identica alla normale >installazione di un kernel. Prima si devono installare le sorgenti del kernel >(adeguatamente corrette per i Linux user-mode), e poi si configura il kernel >nella maniera usuale. Dalla versione 2.6.9 del kernel, i Linux User-Mode sono >stati integrati nel kernel 'vanilla'. ></p> > ><pre caption="Installare i sorgenti del kernel UML"> ><comment>(Installeremo il kernel 2.6 'vanilla' ma puoi usare anche le >usermode-sources)</comment> ># <i>emerge sys-kernel/usermode-sources</i> ># <i>cd /usr/src/uml/linux</i> ># <i>make menuconfig <comment>ARCH=um</comment></i> ># <i>make linux <comment>ARCH=um</comment></i> ># <i>cp linux /usr/local/bin/linux</i> ></pre> > ><warn> ><e>ARCH=um</e> è <e>estremamente</e> importante! ></warn> > ><p> >Assicuratevi che <path>/usr/local/bin</path> sia nel vostro path. Editate ><path>/etc/env.d/00basic</path> per vedere se contiene tra le variabili PATH ><path>/usr/local/bin</path> e riavviate <c>env-update</c>: ></p> > ><pre caption="Editare 00basic"> ># <i>nano -w /etc/env.d/00basic</i> ># <i>env-update</i> ># <i>source /etc/profile</i> ></pre> > ><p> >Per permettere ai Linux User-Mode di effettuare il boot in modo corretto di un >sistema Gentoo, il kernel deve essere configurato per <e>non</e> montare >automaticamente la directory <path>/dev</path> (devfs) di default. Inoltre, >dovrete assicurarvi di avere compilato il supporto per il <e>tmpfs</e> (ovvero >il "Virtual Memory Filesystem") dato che per default gli script di boot, >utilizzati da Gentoo, memorizzano le loro informazioni in una piccola partizione >tmpfs. (I kernel binari presenti sul sito dei Linux user-mode montano >automaticamente la directory <path>/dev</path> e non hanno compilato al loro >interno il supporto per tempfs: non perdeteci tempo). ></p> > ><p> >Vi raccomando di leggere la documentazione relativa ai Linux user-mode, ma >l'idea di base è che: lanciando <path>/usr/local/bin/linux</path> il programma >esegue il boot del kernel user-mode e tenta di far partire il sistema >memorizzato nel file <path>root_fs</path> che dovrebbe essere posizionato nella >directory di lavoro corrente. ></p> > ><p> >Potrebbe essere utile installare i tool per gli user-mode. ></p> > ><pre caption="Installare i tools UML"> ># <i>emerge sys-apps/usermode-utilities</i> ></pre> > ><p> >Questi tool facilitano (fra le altre cose) lo scambio di dati via rete fra il >sistema virtuale lanciato nello user-mode e il sistema ospitante. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Creare root_fs</title> ><section> ><title>Creare il sistema da eseguire in ambiente "chroot"</title> ><body> > ><p> ><path>root_fs</path> è un singolo file che contiene l'intero filesystem di >Gentoo Linux. Al fine di generarlo dovrete aver abilitato il supporto per il >dispositivo di Loopback nel kernel della macchina ospitante. ></p> > ><p> >La generazione del file <path>root_fs</path> sarà il nostro ultimo passo. Prima >genereremo un filesystem di Gentoo in un normale ambiente, creato attraverso il >comando chroot. Abbiamo, quindi, bisogno dei tarball degli stage, che possono >essere scaricati, copiati da un LiveCD o estratti da una file .iso di un LiveCD. ></p> > ><pre caption="Montare la traccia iso di un liveCD"> ># <i>mkdir /mnt/loop</i> ># <i>mount -o loop /path/to/install-<TAB>.iso /mnt/loop</i> ></pre> > ><p> >Creare un ambiente 'chroot' è essenzialmente identico ad una normale operazione >di compilazione di una installazione di Gentoo. ></p> > ><pre caption="Creare l'ambiente chroot Gentoo"> ># <i>mkdir /mnt/gentoo</i> ># <i>cd /mnt/gentoo</i> ># <i>tar xvjpf /path/to/stage<TAB>.tar.bz2</i> ></pre> > ><p> >Continuate e alla fine smontate il file .iso. Ora non vi serve null'altro. ></p> > ><p> >Eseguite il bootstrap e create il sistema come al solito. Dovete soltanto >seguire le istruzioni dell'installazione. ></p> > ><p> >Aggiungete qualsiasi pacchetto che desiderate. Se volete, date pure un hostname >al vostro sistema virtuale. In <path>/etc/fstab</path> fate in modo che ><path>/dev/ROOT</path> sia <path>/dev/ubd/0</path> il tipo di fs può essere >ext2, ext3 o reiserfs. Impostate <path>/dev/SWAP</path> a ><path>/dev/ubd/1</path> e commentate <path>/dev/BOOT</path>. ></p> > ><p> >A questo punto ricordatevi di settare la vostra password di root. ></p> > ><pre caption="Impostare la password di root"> ># <i>passwd</i> ></pre> > ><p> >Ora dobbiamo fare alcuni cambiamenti agli script di boot. Rimuovere, come segue, >'consolefont' e 'keymaps' dal runlevel di boot: ></p> > ><pre caption="Rimuovere gli initscripts superflui"> ># <i>rc-update del consolefont boot</i> ># <i>rc-update del keymaps boot</i> ></pre> > ><p> >Uscite dall'ambiente chroot, smontate tutte le partizioni montate con l'opzione >bind e fate un tar della nuova distribuzione, alla fine, cancellate i file che >avete usato per fare il file tar. ></p> > ><pre caption="Finalizzare l'installazione"> ># <i>cd /mnt/gentoo</i> ># <i>tar cvjpf ~/gentoo.tbz2 *</i> ># <i>cd</i> ># <i>rm -rf /mnt/gentoo</i> ></pre> > ></body> ></section> > ><section> ><title>Creare il file root_fs</title> ><body> > ><p> >L'ambiente chroot di Gentoo occupa circa 300 MB, quindi <path>root_fs</path> >deve avere una dimensione almeno pari a questa. Scegliamo 0.5 GB, una dimensione >ragionevole. ></p> > ><pre caption="Creare i files UML"> ># <i>dd if=/dev/zero of=root_fs seek=500 count=1 bs=1M</i> ># <i>mke2fs -F root_fs</i> ># <i>mount -o loop root_fs /mnt/loop</i> ># <i>tar xvjpf gentoo.tbz2 -C /mnt/loop</i> ># <i>umount /mnt/loop</i> ></pre> > ><p> >Sarebbe meglio avere una partizione di swap di 0.5 GB. ></p> > ><pre caption="Creare la partizione swap"> ># <i>dd if=/dev/zero of=swap_fs seek=500 count=1 bs=1M</i> ># <i>mkswap -f swap_fs</i> ></pre> > ><p> >Adesso vedete se funziona! ></p> > ><pre caption="Avviare UML a livello del kernel"> ># <i>linux ubd0=root_fs ubd1=swap_fs</i> ></pre> > ><p> >I Linux user-mode utilizzano gli xterm per le console virtuali che sono lanciate >in fase di boot, pertanto dovete assicurarvi che il terminale dal quale eseguite >il Linux user-mode abbia la variabile $DISPLAY correttamente valorizzata >(insieme ai necessari permessi di xhost/xauth). ></p> > ><p> >Con un po' di fortuna dovreste essere in grado di fare il login nel vostro >sistema Gentoo eseguito attraverso i Linux user-mode. L'unica cosa che manca al >sistema nei Linux user-mode, per essere completamente funzionante, è il >collegamento di rete dalla macchina virtuale al sistema ospitante. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Networking</title> ><section> ><body> > ><p> >Assicuratevi che il kernel della macchina ospitante abbia le seguenti >impostazioni compilate come moduli: ></p> > ><pre caption="Configurare il kernel della macchina ospitante"> >Networking --> > IP: Netfilter Configuration --> > IP tables support --> > Full NAT --> > <M> MASQUERADE target support > > Network Device Support --> > <M> TUN/TAP Support ></pre> > ><p> >Ora, sulla <e>macchina ospitante</e>, eseguite quanto segue: ></p> > ><pre caption="Impostare la rete"> ># <i>modprobe tun</i> ><comment>(Se qui ricevete un 'FATAL error', provate a eliminare /dev/net/tun e >riprovate)</comment> ># <i>modprobe iptable_nat</i> ># <i>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</i> ># <i>echo 1 > /proc/sys/net/ipv4/ip_forward</i> ></pre> > ><p> >La riga che contiene il comando iptables attiva l'opzione di IP Masquerading fra >la rete privata sulla quale è attestato il sistema nello user-mode e internet >(raggiungibile via <c>eth0</c> nel nostro caso). La riga che contiene il comando >echo, quindi, attiva l'opzione di packet forwarding fra la rete privata e quella >sulla quale è attestata l'interfaccia che fa da default gateway (eth0 nel nostro >caso). ></p> > ><p> >Adesso attiviamo il sistema nello user-mode e vediamo se le opzioni di >networking sono funzionanti. ></p> > ><pre caption="Attivare UML"> ># <i>linux ubd0=root_fs ubd1=swap_fs eth0=tuntap,,,192.168.0.254</i> ><comment>(loggarsi al sistema user-mode)</comment> ># <i>ifconfig eth0 192.168.0.1 up</i> ># <i>ping -c 2 192.168.0.254</i> >PING 192.168.0.254 (192.168.0.254): 56 octets data >64 octets from 192.168.0.254: icmp_seq=0 ttl=255 time=0.8 ms >64 octets from 192.168.0.254: icmp_seq=1 ttl=255 time=0.6 ms > >--- 192.168.0.254 ping statistics --- >2 packets transmitted, 2 packets received, 0% packet loss >round-trip min/avg/max = 0.6/0.7/0.8 ms ># <i>route add default gw 192.168.0.254</i> ># <i>netstat -rn</i> >Kernel IP routing table >Destination Gateway Genmask Flags MSS Window irtt Iface >192.168.0.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0 >0.0.0.0 192.168.0.254 0.0.0.0 UG 40 0 0 eth0 ># <i>scp user@192.168.0.254:/etc/resolv.conf /etc/resolv.conf</i> <comment>(se necessario)</comment> ># <i>ping -c 2 www.gentoo.org</i> >PING www.gentoo.org (207.170.82.202): 56 octets data >64 octets from 207.170.82.202: icmp_seq=0 ttl=240 time=119.6 ms >64 octets from 207.170.82.202: icmp_seq=1 ttl=240 time=92.0 ms > >--- www.gentoo.org ping statistics --- >2 packets transmitted, 2 packets received, 0% packet loss >round-trip min/avg/max = 92.0/105.8/119.6 ms ></pre> > ><p> >Sul sistema nello user-mode assegnamo all'interfaccia eth0 l'indirizzo IP >192.168.0.1 e la attiviamo. Il sistema ospitante ha l'IP privato 192.168.0.254, >eseguiamo un ping verso quest'ultimo per assicurarci che le opzioni di >networking siano realmente attive. La linea che contiene il comando route >aggiunge un default gateway, vale a dire il nostro sistema ospitante, usiamo scp >per recuperare un file <path>/etc/resolv.conf</path> valido (se necessario), ed >eseguiamo un ping verso www.gentoo.org per assicurarci che la risoluzione dei >nomi (e in generale l'accesso ad internet) sia funzionante dal nostro sistema >nello user-mode. Adesso il sistema nello user-mode può fare <c>emerge</c> a >volontà . ></p> > ></body> ></section> ></chapter> ><chapter> ><title>Testare il file .iso</title> ><section> ><body> > ><p> >Probabilmente il test ideale sarebbe quello di eseguire il boot direttamente del >file .iso attraverso i Linux user-mode ed eseguire un'installazione completa >all'interno del sistema virtuale. ></p> > ><p> >Fare il boot del file .iso, o meglio, eseguire l'initrd dal file .iso è >abbastanza semplice. ></p> > ><pre caption="Bootare l'ISO"> ># <i>mount -o loop /path/to/build-<TAB>.iso /mnt/loop</i> ># <i>cp /mnt/loop/isolinuxuml.xml/rescue.gz .</i> ># <i>linux load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=22000 \</i> >> <i>initrd=rescue.gz root=/dev/ram0 ubd0=root_fs ubd1=swap_fs \</i> >> <i>ubd2=/dev/cdroms/cdrom0 eth0=tuntap,,,192.168.0.254</i> ></pre> > ><p> >Adesso potete seguire la documentazione relativa all'installazione di Gentoo >praticamente alla lettera, anche se dovrete tenere presente che: il filesystem >di root sarà <path>/dev/ubd/0</path>, la "partizione" di swap sarà ><path>/dev/ubd/1</path>, e il CDROM sarà <path>/dev/ubd/2</path>. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Riferimenti</title> ><section> ><body> > ><ul> > <li> > <uri link="http://edeca.net/articles/bridging/index.html">Bridging with > UML</uri> > </li> > <li> > <uri link="http://user-mode-linux.sourceforge.net/">UML Homepage</uri> > </li> > <li> > <uri link="http://www.theshore.net/~caker/uml/">Caker's UML Notes</uri> > </li> > <li> > <uri link="http://sourceforge.net/mailarchive/forum.php?forum_id=3647">UML > Mailinglist archives</uri> > </li> ></ul> > ></body> ></section> ></chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 82991
: 51896