Guida alla configurazione di coLinux per utilizzare Gentoo

Contenuti:

1.Introduzione

Cos'è coLinux? 

coLinux è un demone per Windows. Il suo scopo è di far girare il kernel Linux come un thread nativo di Windows, ovvero di permettere l'esecuzione nativa di Linux all'interno di Windows.

Il problema principale sono probabilmente le performance. Le performance di un'applicazione grafica sono basse, sebbene questa risulti utilizzabile, mentre quelle di applicazioni non grafiche sono pari a quelle di un ambiente Linux reale. Nei fatti il tool "genlop" ha dimostrato che spesso i comandi "emerge" sono tanto veloci in coLinux quanto in un ambiente Gentoo Linux nativo.

Attenzione: coLinux è ancora in fase sperimentale. Funziona generalmente bene, ma ci sono diverse funzionalità non ancora supportate.

Questa guida è basata sull'unione, in seguito completata, di due HOWTO eccellenti, forniti nel Forum di Gentoo da IWBCMAN e janlaur. I link a queste discussioni sono:

2.Installazione

Ottenere coLinux 

Attenzione: Per l'uso di coLinux è necessario utilizzare un ambiente Windows 2000, 2003 o XP (sia Home che Professional)

E' necessario solamente ottenere lo snapshot piú recente di coLinux dal sito del progetto coLinux.org.

Nota: Durante la realizzazione di questa guida è stato utilizzato coLinux-20040417.exe. Gli snapshots includono diversi bugfixes, per questo se ne raccomanda l'uso.

Il file .EXE è un programma di installazione in grado di scaricare un'immagine basilare di diverse distribuzioni da SourceForge (Gentoo / Debian / Fedora)

Lanciare il file .EXE, lasciando i valori di default, eccetto ovviamente la scelta della distribuzione che si desidera utilizzare, che dev'essere Gentoo.

L'immagine della distribuzione sarà scaricata nella cartella di installazione e si chiamerà gentoo-i586-ext3-2g-deluxe.bz2.

Questo nuovo file rappresenta una partizione virtuale, e contiene un'installazione di Gentoo. Questa installazione comprende un sistema stage3, e inoltre XFree86, XFCE4, Firefox, GAIM, e xchat. La partizione virtuale è formattata col filesystem ext3.

  • Estrarre il file in un qualunque drive di Windows che abbia almeno 2 gigabyte di spazio libero
  • Il path completo al file non deve contenere spazi vuoti
  • Opzionalmente si può rimuovere il file .bz2 una volta estratto

Per la scompattazione occorre uno strumento adeguato in Windows, come Winrar. Alla pagina "coLinux Nice Tools page" si possono trovare gli strumenti per estrarre i file immagine, e per creare le partizioni di swap virtuali.

3.Configurazione

Modificare il file di configurazione 

C'è un solo file di configurazione da modificare, lo si trova nella directory di installazione col nome default.colinux.xml. Lo si apra con un editor di testo qualunque, e lo si modifichi come segue:

Esempio 1: default.colinux.xml

<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <!-- Il path può differire leggermente -->
    <block_device index="0" path="\DosDevices\e:\gentoo-i586-ext3-2g-deluxe" enabled="true"></block_device>
    <bootparams>root=/dev/cobd0</bootparams>
    <image path="vmlinux"></image>
    <!-- Modificare la dimensione secondo le proprie esigenze -->
    <memory size="256"></memory>
		<!-- Verificare il nome esatto del device TAP nelle
		connessioni di rete -->
    <network index="0" type="tap" name="TAP"></network>
</colinux>

Cambiare il path, ponendolo uguale a quello in cui si trova l'immagine scompattata, e quindi configurare quanta memoria si vuole allocare a coLinux.

Configurazione della rete 

Per avviare coLinux bisogna fare un doppio-click sul file colinux-daemon.exe. Prima di farlo, però se si intende utilizzare la rete, la si deve configurare. Per farlo anzitutto bisogna installare la scheda di rete virtuale.

  • Si selezioni "Installazione hardware" dal pannello di controllo di Windows e si clicki "Avanti" nella prima schermata
  • Si Clicki "Si", quando richiesto se l'hardware sia già collegato e quindi "Avanti"
  • Nella finestra seguente si scorra la lista fino in fondo e si selezioni "Aggiungi una nuova periferica hardware" e quindi "Avanti"
  • Si selezioni "Installa l'hardware selezionato manualmente da un elenco" e quindi si clicki "Avanti"
  • Si selezioni "Schede di rete" e quindi "Avanti"
  • Si clicki "Disco driver" e ci si posizioni nella cartella dove si è installato coLinux. Si entri quindi nella cartella "netdriver", dove si trova un file.
  • Lo si selezioni e si clicki "Apri"

Ora la scheda di rete virtuale è installata, la si può configurare come una qualunque altra scheda di rete del sistema.

  • Si apra il pannello di controllo di Windows, e quindi si entri in "Connessioni di rete"
  • Si clicki sulla propria connessione a internet, e quindi si clicki tenendo premuto CTRL sulla nuova connessione di rete virtuale, ovvero quella che usa TAP-Win32 Driver.
  • Si clicki col tasto destro, e si scelga "Connessioni con bridging".

Windows dovrebbe creare un bridge di rete. Se la connessione a internet è attiva, anche la scheda di rete virtuale dovrebbe avere accesso a internet.

Avvio 

Ora si può lanciare colinux-daemon.exe questo esegue il boot in un'installazione Gentoo basilare, con già diversi programmi fondamentali a disposizione, fra cui XFree86, XFCE4, GAIM e il kernel 2-4.26.

Dopo l'avvio si eseguano i seguenti passi:

  • Si effettui il login come root senza password, e la si cambi col comando passwd
  • Si verifichi il funzionamento della rete
  • Opzionalmente si può avviare sshd, per poter lavorare nell'ambiente coLinux usando ssh con Putty (scegliendo cygwin come tipo di terminale)

Per aggiornare il sistema si esegua:

Esempio 2: Passi finali

# emerge --sync
# env-update && source /etc/profile
(se si desidera usare vnc)
# emerge tightvnc

Ora bisogna configurare X. Si può copiare semplicemente il file /etc/X11/XF86Config da un'installazione Linux funzionante dentro coLinux

Nota: Si possono usare solo driver forniti dal server X (ad esempio non nvidia-glx/kernel) e solo con profondità di colore 16 bit, quindi bisogna modificare il file XF86Config, secondo queste limitazioni. Se non si dispone di un file XF86Config funzionante, si può effettuare il boot di una distribuzione live come Knoppix, e usare il file che questa crea.

Una volta fatto ciò si crei il file ~/.vnc/xstartup:

Esempio 3: Esempio di ~/.vnc/xstartup

startxfce4 &

Ora si lanci il server VNC con le opzioni desiderate, verrà richiesta una password per l'accesso al server stesso.

Esempio 4: Avvio di vncserver

$ vncserver -geometry "1024x768" -depth 16

Ora si scarichi VNC per windows e si lanci il client VNC. Come IP a cui collegarsi si introduca quello dell'interfaccia di rete virtuale (ad esempio 192.168.0.X:1) e si specifichi la password scelta appena prima. A questo punto dovrebbe comparire XFCE4 sul proprio desktop

4.Argomenti avanzati

Aggiunta di una partizione di swap 

E' necessario scaricare uno swapfile da questo sito (il nome del file indica la dimensione della partizione di swap virtuale). Quindi lo si estragga in un qualunque punto dove ci sia abbastanza spazio, e si aggiunga quanto segue al file default.colinux.xml:

Esempio 5: Aggiunta di un disco di SWAP

		<-- index="1" significa che il disco di swap sarà mappato con
		/dev/cobd1 -->
    <block_device index="1" path="\DosDevices\e:\swap-file" enabled="true"></block_device>

(Ri)avviare coLinux, e lanciare mkswap:

Esempio 6: Setup della partizione di swap

# mkswap /dev/cobd1

Inoltre si deve modificare il file /etc/fstab aggiungendo quanto segue:

Esempio 7: Aggiunta a /etc/fstab

/dev/cobd1	none	swap	sw	0 0

Ora, senza riavviare, si attivi la partizione di swap.

Esempio 8: Attivazione dello swap

# swapon -a

Accedere a partizioni Linux esistenti da coLinux 

Il sito di coLinux fornisce un documento che copre le basi per l'accesso a partizioni Linux esistenti. La lettura aiuta a configurare default.colinux.xml come segue:

Esempio 9: Il nuovo default.colinux.xml

<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <block_device index="0" path="\DosDevices\e:\gentoo-i586-ext3-2g-deluxe" enabled="true"></block_device>
    <block_device index="1" path="\DosDevices\e:\swap-file" enabled="true"></block_device>
    <!-- Il path cambierà a seconda della situazione dei propri dischi -->
    <block_device index="2" path="\Device\Harddisk0\Partition5" enabled="true"></block_device> 
    <bootparams>root=/dev/cobd0</bootparams>
    <image path="vmlinux"></image>
    <memory size="256"></memory>
    <network index="0" type="tap" name="TAP"></network>
</colinux>

Bisogna (ri)avviare coLinux, per applicare le modifiche. Sarà ora possibile accedere a "\Device\Harddisk0\Partition5" tramite il device /dev/cobd2 in coLinux.

Esempio 10: Montaggio

# mount /dev/cobd2 /mnt/linux

Importante: Si deve notare che questo meccanismo funziona solo per partizione che non sono in uso da parte di Windows. Per accedere a una partizione utilizzata da Windows, bisogna utilizzare smbfs.

5.Q&A

Quali flag di USE bisogna impostare? 

Si impostino le stesse variabili di USE cheuserebberobero in un sistema nativo

E' possibile utilizzare una connessione dial-up? 

Dovrebbe essere possibile utilizzare la connessione dial-up utilizzando Internet Connection Sharing.

Il kernel Linux può accedere all'hardware? 

coLinux emula ogni tipo di hardware fondamentale. Ci sono dischi emulati, rete, etc. Non è ancora disponibile invece l'accesso diretto a USB, schede grafiche, o schede audio. Il supporto USB è in fase di sviluppo.

Esistono alternative a coLinux? 

Alcune alternative sono:

coLinux funziona col kernel 2.6? 

Allo stato attuale non è possibile utilizzare il kernel 2.6, visto che coLinux utilizza un kernel 2.4 patchato per poter utilizzare dispositivi emulati e le risorse condivise con Windows.

Perché non funziona X 

Non è ancora disponibile il supporto nativo a X. Si può utilizzare vnc come illustrato in questa Guida, o in alternativa Cygwin-X11

6.Conclusioni

Le possibilità di coLinux sono molteplici, si possono utilizzare apache, samba, dhcp, mail, distcc, nfs etc.. Fatta eccezione per il supporto ai device, e l'accesso al disco non si nota la differenza fra un ambiente nativo Linux, e un ambiente emulato all'interno di Windows.



Ultimo aggiorn.:
2005-07-26
IWBCMAN
Autore

janlaur
Autore

Joshua Preston
Edizione

Jon Portnoy
Edizione

Gianmaria Visconti
Traduzione

Sommario:  Lo scopo di questo HOWTO è di configurare coLinux per permettere a una macchina Windows di eseguire Linux come un suo processo.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.