dal 2015 - visita n. 798
Seminario.14
Seminario.14

 

Applicativi (parte 6)


Giunti a questo punto si pone il problema del cambiamento delle proprie abitudini, molte o poche che siano è sempre difficile. Ogni tanto potrà anche succedere di voler utilizzare un'applicazione o un gioco Windows a cui si è molto affezionati o di cui non si riesce proprio a fare a meno. Oppure, ancora, far girare dei vecchi applicativi sotto DOS. Questi ed altri interrogativi possono, spesso, essere risolti con l'uso di emulatori o prodotti analoghi. Ne passeremo velocemente in rassegna alcuni:

Wine    DosBox    Qemu    DosEmu





WINE

Acronimo di Wine Is Not an Emulator è una implementazione OpenSource delle API di Windows che lavora sul server X ed i sistemi Unix. Non è assolutamente un emulatore in quanto non richiede che Microsoft Windows sia installato sul computer in uso, risolve infatti le chiamate alle API di Windows con le risorse stesse dell'ambiente di Linux, consentendo il lancio e l'esecuzione dei programmi Windows. Wine è una valida, e soprattutto libera, alternativa all'uso delle API di Windows, ed è caratterizzato dal 100% di codice non-Microsoft, solo in alcuni casi può avere bisogno delle DLL di Windows. Lo stesso Wine permette di usare molti programmi di Windows anche su altri sistemi operativi basati su Unix, inclusi Linux, FreeBSD e Solaris.


Vantaggi


Svantaggi


Installazione
Descriviamo la modalità per le distribuzioni Debian o derivate, anche se è ovviamente possibile effettuare l'installazione tramite la ricompilazione completa.


Configurazione ed uso
A questo punto occorre tenere presente che wine archivia i file di configurazione, i file di lavoro ed i programmi Windows in una directory nascosta .wine, nella home dell'utente. Qui si trova anche una sottodirectory tipicamente di nome drive_c che contiene una sorta di albero degli applicativi di Windows.
L'utente dispone di due comandi, fondamentalmente, wine e winecfg. Come è facile capire winecfg serve per la configurazione dell'ambiente di lavoro che avviene grazie ad una serie di script che semplificano notevolmente il lavoro. Compare comunque una finestra grafica con 7 linguette, molto importante è quella di nome Applications che consente l'installazione e la configurazione delle applicazioni, è opportuno scegliere un comportamento alla Windows98, anche se ci sono tante altre scelte.
Tramite wine, invece, seguito dal path dell'applicativo è possibile avviare le applicazioni Windows.
Non ci si lasci confondere dall'apertura automatica delle console per gli script, e si abbia qualche attimo di pazienza alla conclusione dell'applicativo perchè deve pure concludersi lo script di avvio, segnalato dalla comparsa di un nuovo prompt.





DOSBox

Si tratta di un emulatore per il DOS che usa la libreria SDL. Questo rende DOSBox facilmente portabile su diverse piattaforme. DOSBox emula inoltre le CPU 286/386 in realmode/protected mode, RAM a discrezione dell'utente, la memoria EMS (espansa) e quella XMS (estesa), le schede grafiche Tandy, Hercules, CGA, EGA, VGA, VESA, le schede audio SoundBlaster, Gravis, Ultra Sound, etc...
Il suo scopo principale è di far girare vecchi giochi per DOS su vari sistemi operativi, tra cui Windows, Linux e MAC OS X. Ma poichè la programmazione dei giochi è una tra le più complesse, di fatto girano anche tanti altri applicativi testuali e non (assemblatori, compilatori, etc.).


Installazione

Per le distribuzioni Debian o derivate si avvierà il solito comando:

apt-get install dosbox


Uso e configurazione

Avviato il programma con il comando:

dosbox

verrà visualizzata una finestra con la schermata seguente:



La combinazione di tasti Alt-Invio consente di passare alla modalità a tutto schermo, come nei vecchi computer, e di rientrare in modalità a finestra. E' possibile lavorare in entrambi i modi.
Inizialmente ci si può trovare spaesati, i primi comandi che è possibile digitare sono:

Ma la cosa più importante è quella di preparare una cartella, per esempio di nome dosprog, e montarla come fosse il classico drive C: tramite il comando:

mount c /home/utente/dosprog

Occorrerà a questo punto lavorare sul drive C: e si tenterà di dare il classico comando DOS:

C:

ci si renderà subito conto che ci sono alcuni problemini antipatici con il layout della tastiera, il carattere ':' dovrà essere impostato con la combinazione di tasti Alt 58. Subito dopo si potrà lavorare sul drive C: con i principali classici comandi DOS.
La cartella dosprog potrà essere preventivamente riempita con tutti gli applicativi DOS che riteniamo necessari.





QEMU

Questo, a differenza dei precedenti, è un emulatore generico di CPU, free software, che offre una buona velocità di esecuzione anche se confrontato con i suoi concorrenti commerciali. QEMU offre supporto per una decina di CPU differenti, anche se quelle per cui il supporto è stabile sono x86 a 32 e 64 bit e PPC. Per le macchine x86 che emulino una macchina x86 esiste inoltre un acceleratore in grado di migliorare le prestazioni di emulazione, un prodotto che, pur essendo dello stesso autore (Fabrice Bellard), è proprietario.


Installazione e configurazione della rete

Per le distribuzioni Debian o derivate si avvierà il solito comando:

apt-get install qemu

Poichè lo scopo di questa presentazione è l'utilizzo di Windows in ambiente Linux, prima di procedere all'installazione vera e propria di Windows, è opportuno configurare la rete, in modo che il sistema emulato possa usufruire della connessione Internet della macchina host. Per questo è necessaria la presenza del device /dev/net/tun al fine di virtualizzare la rete. Occorre allora verificare con il comando:

file /dev/net/tun

Si possono avere i seguenti 2 tipi di risposta:

/dev/net/tun: character special (10/200)
/dev/net/tun: ERROR: cannot open `/dev/net/tun' (No such file or directory)

Nel primo caso è tutto a posto, nel secondo caso sarà necessario crearlo con i diritti di amministratore, seguendo le istruzioni seguenti:

mkdir -p /dev/net
mknod /dev/net/tun c 10 200
modprobe tun                  per abilitare il modulo nel Kernel
echo 'tun' >> /etc/modules


In ogni caso Debian, di default, non permette all'utente di utilizzare questo device, e quindi è necessario creare un gruppo qemu e cambiare i permessi con:

addgroup qemu
chgrp qemu /dev/net/tun 
chmod g+w /dev/net/tun

Occorrerà ancora iscrivere l'utente al gruppo qemu!

L'ultimo passo per abilitare la rete è permettere al sistema ospite di utilizzarla, quindi:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo "1" >/proc/sys/net/ipv4/ip_forward


Installazione di Windows 98

Una volta messe a punto le impostazioni precedenti, proviamo ad installare Windows 98 utilizzando un CD originale e disponendo della regolare Licenza Microsoft. Prima di tutto creiamo una directory di lavoro e andiamoci dentro.

mkdir win98
cd win98

Inseriamo il CD di installazione nel lettore e memorizziamone il contenuto all'interno di una immagine ISO, con il comando:

dd if=/dev/cdrom of=win98.iso


Ora occorre preparare un hard-disk virtuale dedicato, si tratta in effetti di un file lungo circa 4GB. Possiamo scegliere tra 2 metodi:


  1. dd of=hd.img bs=1024 seek=4000000 count=0
    

    ed otterremo in risposta quanto segue:

    entrati 0+0 record
    usciti 0+0 record
    0 bytes transferred in 0.000133 seconds (0 bytes/sec)
    

    con la conseguente generazione di un file vuoto esteso 4 GB.

  2. qemu-img create hd.img -f qcow 4G
    

    Con questo secondo metodo viene utilizzato il formato compresso qcow, quindi accade che lo spazio momentaneamente utilizzato risulta molto minore di quello richiesto, fermo restando che la disponibilità potrà raggiungere i 4 GB richiesti. Sembra però che con alcuni sistemi operativi insorgano dei problemi.

A questo punto possiamo iniziare il processo di installazione avviando QEMU con il comando:

qemu -cdrom win98.iso -hda hd.img -user-net -boot d

Se tutto è stato fatto correttamente è il momento più bello, parte l'installazione all'interno della finestra QEMU. Da notare subito che la combinazione di tasti Ctrl-Alt consente di deviare le funzioni del cursore del mouse dall'ambiente di emulazione QEMU all'ambiente Linux e viceversa. A questo punto non resta che seguire le indicazioni di Windows 98 e procedere fino ad installazione completa. Si vedrà, tra l'altro, la formattazione dell'hard-disk virtuale C: (file di 4GB creato in precedenza), la richiesta del numero di serie, e così via fino alla fine. Sulla macchina utilizzata (Pentium 4 dual 3 GHz, 2 GB di Ram) l'installazione è durata circa 35 minuti.
Quando infine Windows chiederà di rimuovere il cdrom di installazione e riavviare la macchina basterà uscire da QEMU ed eventualmente lanciare:

killall -9 qemu

nel caso fossero rimasti ancora dei processi attivi.

Per attivare, finalmente, Windows 98 è sufficiente effettuare direttamente il boot dall'immagine disco, con il comando:

qemu -hda hd.img -boot c -user-net

Si noti che al posto del semplice hd.img può esserci l'intero path, ad esempio: /home/utente/win98/hd.img
e che è possibile aggiungere altri parametri per modificare il comportamento di qemu, eccone alcuni:

-fda /dev/fd0               abilita l'uso dell'unità floppy
-cdrom /dev/cdrom           abilita l'uso dell'unità CD-ROM
-m 256                      fissa a 256 MB la Ram a disposizione
-enable-audio               abilita le funzioni audio


Ed ecco, finalmente, la tanto sospirata schermata di emulazione:




Annotazioni


Aggiornamenti

Dopo aver installato, con apt-get install, la versione 0.7 di qemu ho voluto aggiornare il tutto alla versione 0.8 e contemporaneamente aggiungere l'acceleratore kqemu della stessa versione.
Ho scaricato qemu partendo dal sito ufficiale della Debian e posizionandomi su:

http://packages.debian.org/unstable/misc/qemu

utilizzando il link i386 presente dopo il sottotitolo Download qemu, e selezionando un mirror italiano. Ho poi scaricato kqemu premettendo semplicemente una k al qemu dell'url precedente. Ritrovandomi quindi con i due file in formato .deb ho semplicemente dato i seguenti comandi (con riferimento alla versione scaricata):

dpkg -i qemu_0.8.0-2_i386.deb
dpkg -i kqemu_0.8.0-2_i386.deb

Se nel corso di quest'aggiornamento fosse richiesta l'ultima versione delle bochsbios basta prelevarle, sempre in formato .deb, dal sito:

http://packages.debian.org/unstable/misc/bochsbios

installarle con:

dpkg -i bochsbios_2.2.6-2_all.deb

e ripetere il punto precedente.


Che dire dei risultati, a parte l'eliminazione del parametro -user-net dalla riga di avvio (come già detto nel paragrafo precedente), Windows 98 vola letteralmente. L'acceleratore fa veramente sentire i suoi benefici effetti. Preso dall'entusiasmo ho installato tutta una serie di tools d'epoca affinchè la macchina virtuale con Windows 98 fosse completamente utilizzabile: Internet Explorer 5.5, Office 97 (completo di Word, Excel, Power Point, Access), Delphi 1, Borland C++ 4.0, 1stPage2000 2.0, Paint Shop Pro 4.0, Gif Animator Lite 1.0, Acroread 5.1, Ftp Explorer 1.0.
Non mi sono fatto mancare nulla, forse Autocad, ma quanto costa una licenza ?




DosEmu

Si tratta fondamentalmente di un emulatore dell'hardware x86 per vari sistemi Unix funzionanti su architettura i386. Il suo obiettivo è quello di permettere il funzionamento del sistema operativo Dos (MS-Dos o suoi cloni). Dal momento che l'emulazione riguarda l'hardware, il Dos deve essere installato all'interno di questo sistema di emulazione; è necessaria quindi una copia di questo sistema operativo, insieme alla sua licenza d'uso.
Oppure si può utilizzare una copia di FreeDos, e in questo secondo caso, allora, si può scaricare il tutto con un solo comando:

apt-get install dosemu dosemu-freedos xfonts-dosemu

ottenendo l'installazione automatica dell'emulatore dosemu, del sistema operativo freedos e dei font necessari per la modalità grafica. Attualmente (maggio 2006) si ottiene la versione 1.2.2.
La configurazione di dosemu consiste nella modifica dei file /etc/dosemu.conf e di /etc/dosemu.users, quest'ultimo permette di definire gli utenti che possono utilizzare dosemu, mentre l'altro imposta la configurazione di tutte le caratteristiche (layout della tastiera, etc.).
Sulla pagina di riferimento internet: www.dosemu.org è possibile trovare anche una buona documentazione, in inglese.

Una volta attivata la schermata iniziale di emulazione si potrà cominciare subito a lavorare immettendo i normali comandi DOS, mentre si uscirà dall'ambiente con il comando exitemu.



I due dischi D: ed E: evidenziati nelle ultime righe della schermata si trovano, il primo, in corrispondenza con la directory dell'utente (/home/user), il secondo invece viene realizzato nella directory /tmp e verrà distrutto alla chiusura dell'emulatore.
Il disco C: contiene il sistema operativo FreeDos ed è in sola lettura.





Applicativi (parte 6)
Linux FAQ


Domande e Risposte
Debian Faq
Linux FAQ (Apogeo)
Wine User Guide
Installazione Qemu
Qemu Documentation



La mente distrugge le nostre illusioni, ma il cuore le ricostruisce da capo.e
Paul Ré

Valid CSS!
pagina generata in 0.001 secondi