Capitolo 16. Emulazione Linux

Sommario
16.1. Setup dell'emulazione
16.2. Struttura delle directory

Il port per i386 di NetBSD è in grado di eseguire anche una gran parte di programmi Linux in modalità emulazione. Generalmente, quando si parla di emulazione si pensa a qualcosa di molto lento e inefficiente poiché, solitamente, le emulazioni comportano la riproduzione via software di architetture hardware spesso molto differenti da quella su cui si lavora. Nel caso dell'emulazione Linux, invece, si tratta semplicemente dell'aggiunta di un sottile strato di software che "adatti" una serie di chiamate di sistema già in partenza molto simili. Il codice dell'applicazione stessa viene elaborato nativamente dalla CPU e quindi, nessuna paura di performance scadenti, anzi c'è chi, con una buona dose di esagerazione, arriva a dire che i programmi per Linux girano addirittura meglio sotto NetBSD.

In questo capitolo viene spiegato come configurare l'emulazione Linux per installare un programma per Linux, che, nell'esempio, sarà il ben noto Acrobat Reader versione 4.

16.1. Setup dell'emulazione

La pagina di manuale compat_linux(8) descrive in dettaglio l'installazione dell'emulazione Linux su un sistema NetBSD. Si tratta di una delle pagine più user-friendly del manuale; per una volta tanto appare chiara l'intenzione di aiutare l'utente a compiere un'operazione anziché di fornire una elenco di specifiche e di dettagli tecnici. Per installare l'emulazione Linux sono necessari solo due passi:

16.1.2. Installazione delle librerie Linux

Le librerie Linux si possono ricavare da una distribuzione Linux, purché sufficientemente aggiornata. Per semplificare l'operazione conviene ricorrere al sistema dei package, che effettua l'installazione in modo automatico, utilizzando le librerie di Suse Linux. Le operazioni principali che verranno compiute sono:

Entrambe le operazioni verranno compiute dal sistema dei package, senza bisogno di interventi manuali da parte dell'utente.

Prima di passare all'installazione delle librerie vere e proprie, bisogna installare il pacchetto necessario per la gestione dei file in formato RPM: si tratta di rpm-2.5.4, che consentirà l'estrazione dei file delle librerie Suse.

Successivamente bisogna installare il pacchetto suse_base. I file RPM Suse possono essere scaricati automaticamente dal sistema dei package oppure, chi ha un cdrom Suse li può copiare nella directory /usr/pkgsrc/distfiles/suse e poi eseguire make e make install.

Con lo stesso metodo si installano, suse_compat, suse_libc5 e suse_x11 ottenendo alla fine questa configurazione:

# pkg_info -a | grep suse
suse_base-6.1p1     Linux compatibility package
suse_x11-6.1p1      Linux compatibility package for X11 binaries
suse_compat-6.1p1   Linux compatibility package with old shared libraries
suse_libc5-6.1p1    Linux compatibility package for libc5 binaries      

16.2. Struttura delle directory

Esaminando i risultati dell'installazione delle librerie e del programma, troviamo che /emul/linux è un link simbolico che punta a /usr/pkg/emul/linux, dove si trovano le seguenti directory:

bin/
boot/
cdrom/
dev/
etc/
floppy/
home/
lib/
mnt/
opt/
proc/
root/
sbin/
usr/    

Quanto spazio è necessario per installare l'emulazione Linux? A installazione avvenuta, la valutazione dello spazio da' i seguenti risultati:

# cd /usr/pkg/emul
# du -k linux
...
60525   linux/    

Acrobat Reader, il programma vero e proprio, è stato installato nella consueta directory dei package, /usr/pkg/bin/.