L’HOWTO del dosemu.

scritto da Mike Deisher, deisher@dspsun.eas.asu.edu v0.60.1, 10 Mar 1995

Questo file e’ le ‘Frequently Asked Questions’ (FAQ) / HOWTO del dosemu. La versione, inglese, piu’ recente di questo file puo’ essere reperita in dspsun.eas.asu.edu:/pub/dosemu, mentre per quella italiana dovete

connetervi, tramite un "lettore" WWW, all’URL http://www.dsi.unimi.it/Users/Students/moreld/

Contents

1 I preliminari 3 1.1 Cosa e’ "dosemu" ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Quale e’ la versione piu’ recente del dosemu e dove lo posso reperire? . . . . . . . . . . . . . . 3 1.3 Dove si puo’ seguire lo sviluppo del dosemu? . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Che documenti, riguardanti il dosemu, sono reperibili ? . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Come e’ possibile inserire nuove parti o apportare dei cambiamenti all’HOWTO? . . . . . . . 4 1.6 Messaggi da Greg... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Compilare ed installare DosEmu. 5 2.1 Dove sono le istruzioni per installare DosEmu? . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 La Top Ten dei problemi riscontrati mentre compili ed installi dosemu. . . . . . . . . . . . . . 5 2.3 Come posso compilare un singolo (non eseguibile) eseguibile? . . . . . . . . . . . . . . . . . . 5 2.4 Come posso costruire un eseguibili in formato ELF? . . . . . . . . . . . . . . . . . . . . . . . 5 2.5 Come posso compilare dosemu su una macchina con poca memoria? . . . . . . . . . . . . . . 5 2.6 Come posso aumentare la velocita’ di compilazione? . . . . . . . . . . . . . . . . . . . . . . . 5 2.7 Come posso compilare non interattivamente? . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.8 Suggerimenti per la compilazionei, di Marty... . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.9 Devo compilare DosEmu con i privilegi di root? . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Hard disk setup 6 3.1 Come devo utilizzare il mio Hard Disk con DosEmu? . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Posso utilizzare il mio stacker/double-spaced/super-stored disk? . . . . . . . . . . . . . . . . . 7

4 Porte parallelo, seriali e mouse. 8 4.1 Dove sono i (Microsoft compatibile) driver del mouse? . . . . . . . . . . . . . . . . . . . . . . 8 4.2 Perche’ il driver del Mouse non funziona? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3 Perche’ DosEmu non accetta la COM4? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.4 Come devo utilizzare DosEmu con le porte seriali? . . . . . . . . . . . . . . . . . . . . . . . . 9 4.5 Come posso "sciftare" tra il DosEmu e una shell, sulla porta seriale? . . . . . . . . . . . . . . 9

4.6 Come posso far si’ che la porta parallela funzioni? . . . . . . . . . . . . . . . . . . . . . . . . 9

5 Multi-Utente e sessioni non interattive. 9 5.1 Posso utilizzare DosEmu su un sistema multi-utente? . . . . . . . . . . . . . . . . . . . . . . . 9 5.2 Come posso utilizzare un comando DOS non interrativamente? . . . . . . . . . . . . . . . . . 10

6 dosemu e Netware 11 6.1 Come posso avere l’accesso alla Netware da dosemu? . . . . . . . . . . . . . . . . . . . . . . . 11 6.2 Netware HOWTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

7 Dosemu e X-windows 12 7.1 Posso utilizzare dosemu in modalita’ console mentre eseguo X? . . . . . . . . . . . . . . . . . 12 7.2 E’ possibile eseguire DosEmu in un xterm? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.3 "Lavora" bene l’emulazione ansi? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

8 dosemu e MS-Windows 3.1 13 8.1 E’ possibile utilizzare eseguire MS-Windows 3.1 sotto dosemu? . . . . . . . . . . . . . . . . . 13

9 Video e suono 14 9.1 Uscendo da DosEmu, il mio video e’ pieno di caratteri strani. . . . . . . . . . . . . . . . . . . 14 9.2 Come posso far si’ che DosEmu lavori con la mia Trident/Actix/other video card? . . . . . . 14 9.3 Perche’ il software della mia scheda sonora non funziona con DosEmu? . . . . . . . . . . . . . 15 9.4 DosEmu cade quando io digito qualche cosa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

10 Altro Hardware 16 10.1 Come posso far si’ che il mio xxxxx device funzioni sotto dosemu? . . . . . . . . . . . . . . . 16

11 Problemi e soluzioni. 16

11.1 Io ho fatto "cadere" dosemu, ma questo mi ha lasciato la tastiera in uno stato inutilizzabile.

Cosa devo fare? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 11.2 Io ho abilitato la memoria EMS nel dosemu.conf, ma questo non aiuta. . . . . . . . . . . . . . 16 11.3 Come posso togliere i disturbanti messaggi "disk chance"? . . . . . . . . . . . . . . . . . . . . 16 11.4 Perche’ DosEmu non viene eseguito una seconda volta nella stessa console? . . . . . . . . . . 16 11.5 Perche’ DosEmu "runna" in un term, ma non in modalita’ console? . . . . . . . . . . . . . . . 17 11.6 Come posso velocizzare DosEmu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 11.7 Il mio CDROM ha problemi a leggere alcuni file sotto dosemu. . . . . . . . . . . . . . . . . . 17 11.8 Come posso vedere i messaggi di debug? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 11.9 Perche’ i miei tasti sono visualizzati dduuee vvoollttee? . . . . . . . . . . . . . . . . . . . . . 17 12 Contribuire al DosEmu project. 18

12.1 Chi e’ responsabile per DosEmu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

12.2 Io voglio aiutare. Chi devo contattare? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1 I preliminari

1.1 Cosa e’ "dosemu" ?

Citando il manuale, "dosemu e’ un programma, a livello utente, il quale usa particolari caratteristiche del kernel di Linux e del processore 80386 per eseguire MS-DOS in quella che noi chiamiamo una ’DOS box’. La ’DOS box’ e‘ una combinazione di trucchi hardware e software avente le seguenti "capacita’":

o l’abilita’ di virtualizzare tutte le istruzioni di input/output e controllo del processore

o l’abilita’ di supportate la "word" e la modalita’ di indirizzamento in "modalita’ reale" della famiglia di processori iAPX86, mentre viene contemporaneamente eseguito in un ambiente funzionante in piena modalita’ protetta.

o l’abilita’ di intrappolare tutte le chiamate di sistema del Bios e del DOS ed emularle come chiamate necessarie per la propria operazione e per una ottima performance.

o l’abilita’ di provvedere a servizi MS-DOS attraverso dei servizi nativi di Linux; ad esempio dosemu puo’ fornire un HD virtuale utilizzando una directory di Linux.

1.2 Quale e’ la versione piu’ recente del dosemu e dove lo posso reperire?

La versione piu’ recente e’ la dosemu0.60.x e puo’ essere prelevata da :

     dspsun.eas.asu.edu:/pub/dosemu/
     tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/

Comunque sono anche disponibili versioni pre-release per sviluppatori e ALPHA tester. Queste possono essere trovate a:

     dspsun.eas.asu.edu:/pub/dosemu/Development/
     tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development

ed hanno il nome nella forma pre0.61.*.tgz. Il codice della version pre-release ha il vantaggio di essere compatibile con i piu’ recenti kernel di Linux, e di avere alcune migliorie. Ricordati comunque che queste versioni ALPHA non riportano molta documentazione al riguardo delle migliorie apportate e possono avere dei seri bug.

1.3 Dove si puo’ seguire lo sviluppo del dosemu?

Se tu vuoi seguire lo sviluppo del dosemu, tu potresti considerare la possibilita’ di iscriverti alla linux-msdos-digest mailing list. Per iscriverti devi mandare un messaggio a Majordomo@vger.rutgers.edu con il seguente messaggio nel corpo della tua lettera:

    subscribe linux-msdos-digest your_username@your.email.address

Nel caso in cui ti volessi togliere da questa mailing list, tu devi mandare una mail a Majordomo@vger.rutgers.edu con il seguente messaggio nel corpo della lettera:

    unsubscribe linux-msdos-digest your_username@your.email.address

1.4 Che documenti, riguardanti il dosemu, sono reperibili ?

Il manuale del dosemu (dosemu.texinfo)scritto da Robert Sanders non e’ stato rivisto da un po’ di tempo, ma e’ ancora una buona "sorgente" di informazioni. E’ distribuito con il dosemu.

IL "Dosemu Novice’s Altering Guide" o DANG e’ un manuale delle funzioni del sorgente del dosemu. E’ scritto per gli "avventurieri" che vogliono provare a modificare da soli i vari sorgenti. "DANG" e’ scritto e "up-datato" da Alistair MacDonald (am20@unix.york.ac.uk) ed e’ postato una volta ogni tanto nel canale MS-DOS degli Attivisti Linux.

La lista dei successi (EMUsuccess.txt) e’ una lista di tutti i programmi che lavorano sotto dosemu. E’ postata una volta ogni tanto nella mailing-list. La versione piu’ recente puo’ essere trovata a

dspsun.eas.asu.edu:/pub/dosemu.

E logicamente c’e’ la FAQ/HOWTO dosemu. Ma tu gia’ conosci essa, vero? E’ postata una volta ogni tanto sulla mailing-list. La versione piu’ recente puo’ essere trovata a dspsun.eas.asu.edu:/pub/dosemu.

1.5 Come e’ possibile inserire nuove parti o apportare dei cambiamenti all’HOWTO?

Il metodo preferito e’ quello di editare il file dosemu-HOWTO-xx.x.sgml creare un diff file scrivendo un qualcosa di simile a

               diff original-file new-file

e spedire il file di diff a deisher@dspsun.eas.asu.edu. Se tu non conosci/usi SGML, non fa niente. Cambiamenti o nuove informazioni sono accettate sotto qualsiasi forme. Creando il file di "differenza" con diff, rendi piu’ facile il "mantenimento" dell’HOWTO. :-)

1.6 Messaggi da Greg...

Quello che segue e’ il copyright. Io, Zio Budda, preferisco riprodurlo in forma originaria, per non diffondere disguidi derivabili dalla mia non ottima traduzione.

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.

Se hai domande, contatta Greg Hankins, il coordinatore del Linux HOWTO, a questo indirizzo: gregh@cc.gatech.edu.

2 Compilare ed installare DosEmu.

2.1 Dove sono le istruzioni per installare DosEmu?

Le istruzioni per installare e/o compilare sono nel file, "QuickStart", incluso nella distribuzione.

2.2 La Top Ten dei problemi riscontrati mentre compili ed installi dosemu.

(4/8/95)

1. Dimenticato di leggere il file QuickStart.

2. Provato a compilare usando un kernel <1.1.45

3. Il kernel di linux non si trova in /usr/src/linux

4. Uso DosEmu con un kernel che non ha la compatibilita’ IPC.

5. Compilato con una versione del gcc < 2.5.8 e libc < 4.5.21

6. Dimenticato di editare il file /etc/dosemu.conf

7. Dimenticato di eseguire FDISK /mbr sulla tua hdimage.

8. Eseguito DosEmu cercando di accedere ad una partizione gia’ montata.

9. Non installato DosEmu con sufficienti privilegi (i.e., root).

10. Provato ad eseguire DosEmu su un Provider multi-utente, usante linux.

2.3 Come posso compilare un singolo (non eseguibile) eseguibile?

Marty Leisner (leisner@sdsp.mc.xerox.com) ha detto (4/8/95) Se tu vuoi costruire un eseguibile con QMAGIC, devi definire STATIC nel makefile. In altre parole ci sara’ una combinazione tra eseguibile e libreria.

2.4 Come posso costruire un eseguibili in formato ELF?

Marty Leisner (leisner@sdsp.mc.xerox.com) ha detto (4/8/95) Se tu vuoi compilare un binario in ELF, devi definire ELF nel "Makefile". Tu devi compilare e installare la slang library separatamente. Slang funziona bene con le libreria "share" in formato Linux.

2.5 Come posso compilare dosemu su una macchina con poca memoria?

Marty Leisner (leisner@sdsp.mc.xerox.com) ha detto (4/8/95) Se tu vuoi compilare con macchine senza memoria di swap tu devi aggiungere CFLAGS+=-fno-inline dopo CFLAGS definita nel dpmi/Makefile. Stai attento a fare questo perche’ ho notato che Linux va in crash quando non ha memoria di swap.

2.6 Come posso aumentare la velocita’ di compilazione?

Marty Leisner (leisner@sdsp.mc.xerox.com) riporta (4/8/95) che L’ottimizzazione di default e’ -O2. Tu puoi editare il makefile e usare -O (compila qualche cosa come piu veloce/piu’ piccolo)

2.7 Come posso compilare non interattivamente?

Marty Leisner (leisner@sdsp.mc.xerox.com) riporta (4/8/95)

Se tu definisci do_DEBUG nel makefile, tu avrai preso -Wall -g e quindi niente testo e niente compilazione interattiva.

2.8 Suggerimenti per la compilazionei, di Marty...

Marty Leisner (leisner@sdsp.mc.xerox.com) dice(4/8/95)

Tu devi aver compilato il kernel sul tuo sistema per compilare la corrente versione. Altrimenti devi modificare a mano KERNEL_VERSION nel livello principale del Makefile. Il numero in questione e’ nella forma "nmmmppp", dove "n" e’ la versione, "mmm" e’ la minor version, e "ppp" e’ il patchlevel. Ad esempio, il kernel 1.1.88 corrisponde a "1001088" e il kernel 1.2.1 a "1002001".

Prima di tutto crea il top level per migliori risultati. Al top level inserisci "make subdirectory" che creera’ le subdirectory. Ogni sotto-directory (compresa la principale) ha "clean" e "realclean che rimuoveranno le "dependencies" e gli altri file.

2.9 Devo compilare DosEmu con i privilegi di root?

(4/8/95)

No, tu lo devi solo installare con i privilegi di root.

Marty Leisner (leisner@sdsp.mc.xerox.com) aggiunge

Per poter accedere alla porte di I/O (inclusa la console) dosemu necessita dei privilegi di root. Eseguendo DosEmu in un xterm o in un X windows e richiedendo la possibilita di accedere direttamente all’Hardware, tu puoi eseguire dosemu come un qualsiasi utente. Le "implicazioni" della sicurezza e del setup saranno sviluppate in una prossima release.

3 Hard disk setup

3.1 Come devo utilizzare il mio Hard Disk con DosEmu?

Prima di tutto tu devi montare la tua partizione/Hard Disk DOS, come una directory di Linux. Per esempio, puoi creare una directory chiamata /dos (mkdir -m 755 /dos) poi aggiungere una linea tipo

   /dev/hda1       /dos     msdos   umask=022

nel tuo /etc/fstab. ( In questo esempio, l’Hard Disk e’ montato come READ-ONLY. Se tu vuoi montarlo come read/write devi scrivere "000" al posto di "022" e usare -m 777 nelle opzioni del mkdir). Ora mount /dos. Adesso puoi aggiungere una linea tipo

  lredir d: linux\fs/dos

nell’AUTOEXEC.BAT del tua immagine (vedi i commenti del comando LREDIR sotto). Su un sistema multi utente devi usare

  lredir d: linux\fs\${home}

dove "home" e’ il nome della variabile d’ambiente che contiene la locazione della directory dos (/dos nell’esempio).

———————

Tim Bird (Tim_R_Bird@Novell.COM) avverte che gli utenti del comando LREDIR devono

stare attenti quando usano LREDIR nell’autoexec.bat, perche’ COMMAND.COM continera’ il parsing dell’autoexec.bat dal drive rediretto a quello sul drive fisico. Per questo motivo, e’ molto meglio avere i 2 autoexec.bat, quello sull’hdimage e quello sul drive fisico, uguali.

———————

Robert D. Warren (rw11258@xx.acs.appstate.edu) aggiunge (4/28/94)

Io faccio il boot da un piccolo hdimage file( meno di 1 Mb, ma 2 volte piu’ grande di quello di cui io necessito, e la penultima linea del mio config.sys nell’hdimage file e’

        install=c:\lredir.exe LINUX\FS\home/dos

Questo fa’ si che lredir sia eseguito appena prima che l’interprete dei comandi stia "runnando". Ho avuto successo sia con il COMMAND.COM che con il 4DOS. Questo elimina il problema derivato dall’utilizzo di lredir nell’autoexec.bat.

3.2 Posso utilizzare il mio stacker/double-spaced/super-stored disk?

Tuttora non si puo’ accedere ai drive compressi tramite lredir o emufs. Comunque, molte persone hanno avuto successo de-commentando la linea

   disk { wholedisk "/dev/hda" }        # 1st partition on 1st disk

nel loro dosemu config file. Altre invece hanno avuto successo usando

   disk { partitico "/dev/hda1" }

Se la tua partizione e’ gia’ montata con la possibilita’ di scrittura e cerchi di utilizzare DosEmu con accesso "partition" o "wholedisk", DosEmu stampera’ a video un messaggio di warning e si fermera’. Questo previene che DOS e LINUX scrivano in modo indipendente sul tuo Hard Disk col rischio di perdere i dati sulla tua partizione DOS.

———————

Se hai installato LILO, tutto quello detto fino ad adesso non funzionera’. Comunque...

Nota di ZIO BUDDA: qllo che segue e’ stato tradotto solo per far si’ che questo howto sia uguale a quello originario, ma ho provato di persona che dosemu e lilo non si influenza minimante. qndi non prendete come oro colato quello che segue. Per altre spiegazioni mandatemi una mail all’indirizzo precedentemente dato.

TomhasMockridge (thomas@aztec.co.za) ha detto (8/5/94) che

Per "bootare" il DosEmu utilizzando il LILO e lo Stacker 4.0, io ho dovuto lavorare un po’, aggirando l’ostacolo...

NB: Anche questa parte la lascio scritta in Inglese, per prevenire accidentali errori che potrebbero causare danni non voluti.

1. dd the MBR to a file. (or norton utility, etc., first 512 bytes)

2. Boot dos (from full boot not emu), do a fdisk /mbr, make your dos partition active with (dos) fdisk.

3. Copy the new MBR to a file.

4. Replace the original MBR

5. Copy the second MBR to /var/lib/dosemu/partition.hda? (Whichever is your dos partition)

6. Set dosemu.conf

               disk {partition "/dev/hda? ?"}

7. Start dosemu and and voila! No LILO. ——————— Holger Schemel (q99492@pbhrzx.uni-paderborn.de) aggiunge (2/10/94) Lavoro bene sotto DosEmu con MS-DOS 6.0. Se tu hai problemi, devi editare manualmente il file DBLSPACE.INI e cambiare la lettera del drive compresso con quella utilizzato sotto dosemu. ——————— Darren J Moffat (moffatd@dcs.gla.ac.uk) inoltre aggiunge (3/27/94) "...usa il 6.2 se puoi.!! Stai attento comunque all’avere sotto mano un LILO boot disk, dato che il DOS 6{.2} cambiera’ la MBR del HD."

4 Porte parallelo, seriali e mouse.

4.1 Dove sono i (Microsoft compatibile) driver del mouse?

Tom Kimball (tk@pssparc2.oc.com) ha detto (11/24/93) Alcune persone dicono di utilizzare un differente mouse driver e suggeriscono qualche cosa. I ho trovato una coppia di driver che lavorano ottimamente:

   oak.oakland.edu:/pub/msdos/mouse/mouse701.zip   (mscmouse)
   oak.oakland.edu:/pub/msdos/mouse/gmous102.zip   (gmouse)

4.2 Perche’ il driver del Mouse non funziona?

Mark Rejhon (mdrejhon@magi.com) rende noto (4/7/95) che Se tu "ranni" il driver del mouse esso diventa subito pendente ( prende circa 30-60s), ma se tu aspetti piu’ di un minuto nell’attesa che il driver del mouse parta, prova a specificare la porta "COM x" sulla quale e’ il mouse, nella riga di comando del driver del mouse.

4.3 Perche’ DosEmu non accetta la COM4?

Rob Janssen (rob@pe1chl.ampr.org) rende noto (3/24/94) che In accordo con jmorriso@bogomips.ee.ubc.ca, "dosemu non accetta ancora la COM4 (0x2e8, IRQ 5). 0x2e8 non e’ nel ports {} del config. Ho devo eseguire setserial /dev/cua3 irq 5 dopo l’uscita dal dosemu.

Questo e’ causato dal BIOS della VGA. Ho provato ad tracciare/seguire l’abilitazione della porta IO e ho visto dove dava problemi.

Disabilita’ la "allowvideoportaccess on" nel file di config e tutto funzionera’ bene. Quando avrai problemi con il video, prova ad utilizzare un piu’ ristretto e selettivo raggio degli indirizzi dell’IO (ex. 40-43).

4.4 Come devo utilizzare DosEmu con le porte seriali?

4.5 Come posso "sciftare" tra il DosEmu e una shell, sulla porta seriale?

John Taylor (taylor@pollux.cs.uga.edu) riporta (5/25/94) che

Io utilizzo Linux 1.1.13 e voglio utilizzare una grande "feature" che dovrebbe essere sicura e non instabile (taken out) (IMHO). Con la versione 52, io posso utilizzare un programma chiamato "screen". Da "screen" io posso eseguire dos. Quello che e’ veramente "grande" (IMHO) e’ che i comandi di "screen" ( i comandi CTRL-A) ancora lavorano. Questo significa che io posso eseguire CTRL A C e aggiungere un’altra shell unix, e switchare tra le due (DOS/UNIX). Questo mi permette di utilizzare dosemu su una linea seriale realmente bene, perche’ lo "switchare" e’ molto facile.

4.6 Come posso far si’ che la porta parallela funzioni?

Dennis Flaherty (dennisf@flaherty.elk.miles.com) riporta (3/2/95) che

Il config del dosemu ha delle linee alla fine che dicono se il redirect della stampante deve essere fatto alla lpr o su un file. Se tu vuoi un accesso diretto alla stampante, commenta le linee di emulazione e aggiungi queste linee

ports { 0x3b8 0x3b9 0x3ba 0x3bb 0x3bc 0x3bd 0x3be 0x3bf } # lpt0

per la "monitor card" printer port (corrispondente a /dev/lp0), o

ports { 0x378 0x379 0x37a 0x37b 0x37c 0x37d 0x37e 0x37f } # lpt1
ports { 0x278 0x279 0x27a 0x27b 0x27c 0x27d 0x27e 0x27f } # lpt2

per LPT1 (/dev/lp1) e LPT2 (/dev/lp2) rispettivamente.

5 Multi-Utente e sessioni non interattive.

5.1 Posso utilizzare DosEmu su un sistema multi-utente?

Corey Sweeney (corey@amiganet.xnet.com) riporta (12/8/93) che

Se tu vuoi utilizzare DosEmu su un sistema multiutente nel quale una o piu’ persone possono accedere a DosEmu, tu devi cambiare la directory nell’immagine dell’hard disk. Correntemente nel /etc/dosemu.conf esistono linee che dicono che "l’immagine dell’Hard Disk" e’ "hdimage". Se tu cambi queste nel /var/lib/dosemu/hdimage, gli altri utenti non dovranno piu’ preoccuparsi su quali directory che loro devono utilizzare quando utilizzano dosemu e l’hdimage non deve essere "upgradata" ogni volta che tu esegui una nuova versione del DosEmu.

Se tu fai questo su un sistema multiutente, potresti far si’ che l’hdimage nel /var/lib/dosemu sia in READ-ONLY per tutti, escluso il system administrator.

Nota che tu puoi utilizzare il nuovo emufs.sys pensando di montare un directory pubblica e/o una directory "privata" (una sotto-directory) per ogni utente).

[Nota: Gli utenti possono anche creare un file di configurazione personale chiamato ˜ /.dosrc (nello stesso formato dell’/etc/dosemu.conf) eseguito ogni volta che viene chiamato dosemu.

5.2 Come posso utilizzare un comando DOS non interrativamente?

Io ho pensato di scrivere un articolo su questo argomento, per un certo periodo di tempo, ma non l’ho ancora fatto. Qui ci sono alcuni suggerimenti dati da altri:

Dan Newcombe (newcombe@aa.csc.peachnet.edu) dice (1/27/94)

Questa e’ un idea (non testata) sull’abilita’ di utilizzare un comando DOS dalla linea di comando ( o menu, etc) senza modificare l’attuale emulatore. [Diciamo che la tua partizione DOS e’ gia’ montata sotto LINUX,]

Supponiamo che tu voglia eseguire wp60.exe con i parametri wp60 d:\doc\paper.txt". Tu potresti fare una cosa simile a "dosrun wp60 d:\doc\paper.txt". "dosrun" potrebbe essere un programma di shell di linux che potrebbe a)editare/modificare/ricreare l’autoexec.bat del DOS della tua partizione DOS e b) semplicemente eseguire dosemu (e.g., "dos -C >/dev/null". Passo a) potrebbe essere qualche cosa come prendere tutto quello che tu normalmente vuoi nel tuo autoexec.bat (e.g., mouse.com) e poi l’ultima linea

potrebbe essere wp60 d:\doc\ paper.txt".

Dal lato del dosemu, prima di tutto, tu potresti dover modificare il config.sys file (quello del hdimage) cosi’ che esso 1) usi l’emufs per accedere alla partizione DOS come D:, 2) setti "COMPSEC=D:\ (penso che sia corretto, non ho un manuale DOS sotto mano) e 3) setti "shell=c:\command.com /p". L’idea e’ quella che ogni volta che tu carichi l’emulatore DOS, tu crei un autoexec.bat specifico per quella sessione. Questo rendere specifica la sessione viene effettuata dall’ultima linea che esegue il comando da te voluto. Le modifiche all’hdimage sono dette all’emulatore/DOS che tu vuoi utilizzare (e effettivamente) botti da D:, il quale sara’ l’attuale partizione DOS.

Se tu non usi una hdimage (immagine del disco del dosemu,ndZB) ma accedi al filesystem del DOS direttamente dal boot-up del DosEmu, non hai bisogno di passare dall’hdimage, perche’ il DosEmu lavorera’ perfettamente. ———————

Daniel T. Schwager (danny@dragon.s.bawue.de) riporta (7/2/94)

Tu puoi utilizzare diversi file di configurazione del dosemu ( e differenti hd-boot-images con differenti autoexec.bat) e chiamare DosEmu in questo modo

$ dos -F il_tuo_file_di_configurazione_specifico_per_questa_sessione

———————

Dietmar Braun (braun@math20.mathematik.uni-bielefeld.de) dice (7/4/94)

Questo non e’ del tutto un problema se tu redirigi dal DosEmu. E’ possibile redirigere la lettera di un drive nel path di linux, semplicemente utilizzando una variabile d’ambiente.

Cosi’ io ho uno script di shell chiamato DOS il quale fa’ qualche cosa come

 mkdir /tmp/dos.$$
 DOSTMP=/tmp/dos.$$; export DOSTMP

e poi un piccolo "trick" per far si’ che "echo $* > $DOSTMP/startup.bat" lavori realmente. (attualmente un piccolo programma in C il quale cambia ’/’ in ’\’ e termina correttamente ogni linea del file in formato DOS (aggiunge il ˆ M,ndZB) e infine inserisce il ˆ Z per finire il file. ,crea il file di startup, linka e cosi’ via in questa directory e infine esegue DosEmu. Nell’"autoexec.bat" il drive c: e’ rediretto, dall’hdmage, a questa directory temporanea, la quale e’ lincata a $HOME e $PWD.

Cosi’ se io voglio vedere i nomi dei miei file alla lunghezza del DOS (8.3) io devo solo digitare "DOS dir" e io avro’ la lista della directory corrente. Cosi’ io ho pienamente un DOS multi-utente ( io non ho nessuna partizione DOS e la redirizione di linux preserva i permessi degli utenti) e multitasking (la sessione del DosEmu e’ pienamente autonoma). Io sono cosi’ capace di usare un driver DOS per la mia stampante. Il mio file per stampare e’ attualmente un programma DOS. Cosi’ tu puoi sempre utilizzare un file eseguibile DOS come un filtro per lpr (la stampate, ndZB).

6 dosemu e Netware

6.1 Come posso avere l’accesso alla Netware da dosemu?

James B. MacLean (jmaclean@fox.nstn.ns.ca) dice (11/28/94)

DosEmu ora supporta pdipx (un pktdrv IPX) e pdether ("uses Novell’s MLID spec") per accedere alla LaN Novell attraverso il driver pre-costruiti Il packet driver e’ situato all’interrupt 0x60, e supporta le regole dei packet driver normali. Che dirie, bisogna stare attenti nel provare DOS TCP/IP. Singoli accessi possono essere fatti nel seguente modo :

1) cd ./net
2) cp libpacket.c.single libpacket.c
3) cp pktnew.c.single pktnew.c
4) ricompila  DosEmu
5) esegui dosemu
6) carica pdether come e' descritto nei propri documenti (pdipx e' un'altro metodo)
7) carica netx
8) divertiti con l'accesso alla rete netware :-)

Se tu hai bisogno di accessi speciali al tuo NIC, leggi. Per default dosemu non prende gli interrupt dal kernel. Che dire, se ti piace dare il tuo NIC al dosemu per controllare, potresti accedere a Netware sulla rete attraverso un cliente NEXT, I ho fatto un driver (Silly Interrupt Generator ) da inserire nel kernel che ogni programma, come il DosEmu, puo’ usare per prendere l’interrupt per il tuo NIC. Io lo usavo nel DosEmu per accedere alla "Novell Lite network" fino a che non e’ stato creato il packed driver.

Per ulteriori informazioni tu puoi scrivermi una lettera elettronica (E-Mail) (jmaclean@fox.nstn.ns.ca) e io ti daro’ qlche dritte.

Vuoi accessi multipli a Novell attraverso DosEmu?

1) compila la corrente [pre-release] DosEmu
2) segui le indicazioni in ./v-net/dosnet.README
3) segui dal punto 5) della scaletta precedente.

6.2 Netware HOWTO

(4/8/95)

Il Netware-HOWTO di Lauri Tischler (ltischler@fipower.pp.fi) e’ ora un separato documento. E’ incluso con DosEmu e puo’ essere trovato, anche, sul tuo favorito site contenete gli HOWTO (e.g.,

http://sunsite.unc.edu/mdw/linux.html).

7 Dosemu e X-windows

7.1 Posso utilizzare dosemu in modalita’ console mentre eseguo X?

Ronald Schalk (R.Schalk@uci.kun.nl) riporta (1/17/94) Si, nessun problema. Ricordati solo di utilizzare ctrl-alt-<Fn> per utilizzare la console virtuale (VC) e utilizzare le varie applicazioni Linux (DosEmu e’ una applicazione linux). I ho sempre usato WP5.1 in una sessione DOS. [Nota: Usa ctrl-alt-F7 per andare in X da dosemu]

7.2 E’ possibile eseguire DosEmu in un xterm?

Si, ma il modo migliore e’ quello di far partire dosemu con

dos -X o xdos.

Pero’ prima tu devi, stai attento a quello che fai,

1. essere sicuro che dosemu sia compilato con il supporto per le X
(X_SUPPORT=1 nel Makefile).
2. aver installato <tt/ansi_xterm/. Se ne necessiti, lo trovi a  <tt/tsx-11/
3. aver installato i font VGA. Tu potresti fare cosi':
    cd /usr/src/dosemu-0.60 ; sh xinstallvgafont
4. set-up la mappa dei caratteri nelle  X . In un xterm, digita
   xmodmap -e "keycode 22 = 0xff08"
   xmodmap -e "keycode 107 = 0xffff"
   La prima linea aggiusta il tuo backspace mentre la seconda il delete.
5. setta le opzioni per le X nel tuo <tt/dosemu.conf/ file

Marty Leisner (leisner@sdsp.mc.xerox.com) dice (3/31/95) Una parte del mio xrd setta le seguenti "risorse"

dosxterm*Font:  vga
dosxterm*geometry:      80x25
dosxterm*saveLines: 25
o io setto l’alias "dosxterm" a "term -fn vga -title dosxterm -geometry 80x25 -sl 25"

Se tu usi il primo metodo, tutto quello che devi fare e’ eseguire

"xterm -name dosxterm"

7.3 "Lavora" bene l’emulazione ansi?

Marty Leisner (leisner@sdsp.mc.xerox.com) riporta (3/31/95)

Si, io uso nnansi.com sotto X windows. e ho visto che 25,43 e 50 line mode lavora bene, comunque il "50 line mode" e’ difficile da utilizzare su uno schermo settato a 1024x768 (piu’ piccoli sono i font, piu’ grande e’ lo schermo da utilizzare. 43 line mode eseguira’ il resize del xterm window per usare 43 linee.

8 dosemu e MS-Windows 3.1

8.1 E’ possibile utilizzare eseguire MS-Windows 3.1 sotto dosemu?

Il README file dice:

***************************************************************
*    WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!   *
*                                                             *
*  Danger Will Robinson!!!  This is not yet fully supported   *
*  and there are many known bugs!  Large programs will almost *
*  certainly NOT WORK!!!  BE PREPARED FOR SYSTEM CRASHES IF   *
*  YOU TRY THIS!!!                                            *
*                                                             *
*    WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!   *
***************************************************************

(Traduzione: [snip]... Questo non e’ ancora del tutto supportato e ci potrebbero essere dei bug sconosciuti! Programmi molto grossi non "lavoreranno" sicuramente!! Stai Pronto ad una caduta del sistema se tu provi questo..[snip])

Cosa stai ancora aspettando? Okay, e’ possibile bootare WIN0S2 (la versione modificata di Windows 3.1 che utilizza OS/2) sotto DosEmu Many kudos to Lutz and Dong!

Ci sono dei problemi conosciuti. Windows e’ propenso a cadere e poterebbe portare i dati con se. Programmi grossi non vengono caricati. Il mouse potrebbe essere molto lento etc, etc, etc. In altre parole, NON e’ pronto per essere usato tutti i giorni. Alcune video cardes non funzionano o hanno alcuni problemi di funzionamento (potresti vedere un bellissimo schermo bianco). I tuoi "programs group" potrebbe facilmente sparire. Semplicemente, e’ una sofferenza.

Pero, se ti piacerebbe vedere un piccolo schermo Windows eseguito sotto Linux e leggi molto bene quello che segue e prometti di non BOMBARDARE GLI SVILUPPATORI DEL DosEmu con messaggi tipo "MS Word 6.0 doesn’t run!!!"

nZIOBUDDA: Sotto ogni linea inglese vie e’ la traduzione. Ho voluto cosi’ lasciare intatta anche la parte originare cosi’ da evitare miei errori.

1.  Get DOSEMU & the Linux source distributions.
        (Prendi i sorgenti di DosEmu e Linux)
2.  Unpack DOSEMU.
        (Decomprimi DosEmu)
3.  Patch the linux kernel with the file kernel.diff in the DOSEMU ./dpmi
    directory.
        (fai il patch del kernel di Linux con i il file kernel.diff nella directory
           /dpmi del sorgente del DosEmu)
4.  Recompile the kernel.
        (Ricompila il Kernel)
5.  Compile DOSEMU.

        (Compila DosEmu)
6.  Remoto the kernel.
        (Remota il kernel)
7.  Get the WINOS2.ZIP distribution from tsx-11.mit.edu
        (Prendi il file WINOS2.ZIP da tsx-11.mit.edu.
8.  Unpack the WINOS2 files into your WINDOWS\SYSTEM directory.
        (Decomprimi i file di WINOS nella tua directory WINDOWS\SYSTEM).
9.  Reboot linux, and startup dosemu (make certain that DPMI is "ON")
        (Reboota linux e fai partire dosemu (sii sicuro che DPMI sia "ON"
10. Copy the file winemu.bat to your c: drive.
        (Copi il file winemu.bat sul tuo drive c:
11. Cross your fingers.
        (Incrocia le dita)

Good luck! (Buona Fortuna)

REMEMBER:  THIS IS NOT AT ALL RECOMMENDED!!!  THIS IS NOT RECOMMENDED!!!
           WE DO NOT RECOMMEND YOU TRY THIS!!!

9 Video e suono

9.1 Uscendo da DosEmu, il mio video e’ pieno di caratteri strani.

(4/8/95)

Il problema e’ che l’informazione del font per la modalita testo della VGA non e’ stato salvato. Prenditi una copia del pacchetto "svgalib". I sorgenti correnti sono a

sunsite.unc.edu:/pub/Linux/libs/graphics/svgalib125.tar.gz
(La versione piu' recente e' la 127, ndZB, che per altro da' alcuni problemi.)

Lo puoi anche trovare sotto forma di pacchetto pre-compilato nella tua preferita distribuzione (e.g., Slackware, etc.). Usa savetextmode per salvare il modo testo e font correnti in un file nella directory /tmp prima di eseguire DosEmu. Prova poi textmode appena uscita da DosEmu per avere i font esistenti prima dell’esecuzione del DosEmu.

9.2 Come posso far si’ che DosEmu lavori con la mia Trident/Actix/other video card?

[Lo schermo flicchera violentemente, mostra lo statup del Bios del video, e si blocca]

Andrew Tridgell (tridge@nimbus.anu.edu.au) dice (1/29/94)

Io ho notato, usando le precedenti versioni, che essa lavorava se io eseguo:

   ports { 0x42 }

ma alcune volte la mia macchina cadeva quando cambiavo la risoluzione grafica (when it was cycling the video bios in dosemu). Questo perche’ tu permettevi al bios della VGA di re-programmare il clock, il quale e’ severamente pericoloso con Linux.

Questo mi ha portato a scrivere "readonly" e a mascherare i patch per DosEmu, i quali, io sono sicuro, ci sono nell’ultima versione. Io ora uso:

   ports { readonly 0x42 }

ed esso boota DosEmu piu’ lentamente, ma con molta piu’ fiducia. ——————— Tim Shnaider (tims@kcbbs.gen.nz) aggiunge (1/18/94) che Un modo per fixare questo problema e’ quello di utilizzare il programma GETROM per scrivere il bios video su un file, da mettere nella directory /etc/dosemu Bisognera’ poi editare le linee per il video. Queste, sono le mie linee dedicate al video:

   video { vga console graphics chipset trident memsize 1024 vbios_file
   /etc/dosemu/vbios }

dove "vbios" e’ il file generato digitando

   getrom > vbios

——————— Douglas Gleichman (p86884@tcville.edsg.hac.com) riporta (9/1/94) che (con la ATI Graphics Ultra) Utilizzando il DosEmu 0.52, tu devi aggiungere queste linee al tuo file di configurazione del dosemu

 ports  { 0x1ce 0x1cf 0x238 0x23b 0x23c 0x23f 0x9ae8 0x9ae9 0x9aee 0x9aef }

L’autoanalisi della scheda video fallira’, ma i programmi grafici lavoreranno bene.

9.3 Perche’ il software della mia scheda sonora non funziona con DosEmu?

Hannu Savolainen (hsavolai@cs.Helsinki.FI) dice (3/21/94) Il DosEmu e tutti i programmi Dos con esso funzionano sotto il controllo di un sistema operativo funzionante in modalita’ protetta. Questo significa che la memoria non e’ mappata come il programma si aspetterebbe. Se in qualche modo si utilizza la SB con il "DMA based recording", il registratore di suoni non trova la strada per l’applicazione. Esso inoltre distrugge alcuni dati in memoria. James B. MacLean (jmaclean@fox.nstn.ns.ca) dice (6/19/94) Mi dispiace per il disappunto, ma al momento il DosEmu non supporta direttamente la necessaria intercezione degli interrupt o le generali richieste del DMA per l’accesso alla scheda sonora via DosEmu :-(. Si spera in un prossimo futuro.

9.4 DosEmu cade quando io digito qualche cosa.

Daniel Barlow(jo95004@sable.ox.ac.uk) dice (4/8/95) Se tu non hai nessun terminale o rete per il log-in tu devi premere il bottone del reset. Se tu hai pero’ la possibilita’ di utilizzare una shell, esegui "kbd_mode -a" per switchare la tastiera in modalita’ raw (linea) e o "stty sane" sulla console sulla quale tu puoi vedere cosa stai digitando.

10 Altro Hardware

10.1 Come posso far si’ che il mio xxxxx device funzioni sotto dosemu?

Corey Sweeney (corey@bbs.xnet.com) dice (05/30/94) Questo e’ un reportage delle mie disavventure provando a far funzionare i device sotto dosemu. (ndZIOBUDDA: non e’ tradotto.)

1. Look in your manual and find if your card uses any ports. If your manual gives you some, put them in your config file at the "ports" line. Remember that sometimes you need to have several ports in a row, and the first one might be the only one documented.

2. Try it out. If it doesn’t work, or you don’t have a manual (or your manual is as crappy as my AT&T manual:) then run dosemu with "dos -D+i 2> /tmp/io.debug". Run your device software, then exit dosemu. Look through /tmp/io.debug and find any port numbers it might give you. Try adding those to the port lines and try running dosemu again.

3. If you still fail then you may need interrupts. Find out what interrupt the card uses and get the SIG.tgz (silly interrupt generator) from somewhere on tsx-11.mit.edu. Install it as specified in the instructions. and that’s about it... Question: What if my card uses DMA? Answer: Your screwed.

11 Problemi e soluzioni.

11.1 Io ho fatto "cadere" dosemu, ma questo mi ha lasciato la tastiera in uno stato inutilizzabile. Cosa devo fare?

Jeff "Obik" Epler (jepler@herbie.unl.edu) dice (3/7/95) tu puoi digitare "’dosemu ; kbd_mode -a" cosi’ che dopo che DosEmu e’ uscito tua tastiera viene rimessa in modalita’ ascii.

11.2 Io ho abilitato la memoria EMS nel dosemu.conf, ma questo non aiuta.

Rob Janssen (rob@pe1chl.ampr.org) dice (7/11/94) Non dimenticarti di caricare il provvisto file ems.sys nel tuo file config.sys

11.3 Come posso togliere i disturbanti messaggi "disk chance"?

(8/11/94) Prendi e installa klogd. Prova

         sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz

11.4 Perche’ DosEmu non viene eseguito una seconda volta nella stessa console?

Aldy Hernandez (aldy@sauron.cc.andrews.edu) dice (7/8/94) Tu dovresti disabilitare la tua cache video e/o bios..

11.5 Perche’ DosEmu "runna" in un term, ma non in modalita’ console?

JyiJiin Luo (jjluo@casbah.acns.nwu.edu) dice(4/19/94)

I ho avuto lo stesso problema prima. I ho notato che la video shadow deve essere disabilitata nel mio AMI BIOS setup. Ora DosEmu funziona bene sul mio sistema.

11.6 Come posso velocizzare DosEmu?

In alcuni casi e’ utile "giocare" con il valore della variabile HogThreshold nel tuo dosemu.conf file.

Daniel Barlow(jo95004@sable.ox.ac.uk) dice (4/8/95)

HogThreshold dovrebbe essere settata a circa la meta’ del valore BogoMips che il sistema riporta quando parte.

11.7 Il mio CDROM ha problemi a leggere alcuni file sotto dosemu.

Vinod G Kulkarni (vinod@cse.iitb.ernet.in) dice (4/7/94)

Quando un CDROM e’ montato da Linux e usato con DosEmu (drive mappato) ci potrebbero essere alcuni problemi. Il driver cdrom (iso9660) nel kernel prova a trovare il tipo di file (i.e. binario o testo).Se esso non lo puo’ trovare esso prova a cercare il tipo utilizzando un metodo heuristico. Questo modo fallisce con alcune circostanze quando (spesso) i file di testo sono trattati come binari( io non so’ se e’ un bug o una miglioria)..

Il risultato di tutto cio’ e’ che se tu copy un file da CDROM (da linux, non necessariamente da DosEmu), il file risultante sara’ (usualmente) piu’ grande dell’originario,ad esempio con spazi aggiunti prima di ˆ J,ˆ M.) Cosi’ un programma eseguito sotto DosEmu da’ un errore o si blocca, il quale potrebbe essere visto come un errore del dosemu.

Rob Janssen (pe1chl@rabo.nl) dice (8/10/94)

Il modo per risolvere questo e’ quello di togliere la conversione. Passa l’opzione "-o conv=binary" al comando che monta il CDROM o utilizza la seguente riga nel /etc/fstab:

/dev/cdrom      /CDROM          iso9660 conv=binary,ro

Nessun patch al kernel e’ necessario.

11.8 Come posso vedere i messaggi di debug?

Daniel Barlow(jo95004@sable.ox.ac.uk) dice (4/8/95)

Dal DosEmu 0.60, i messaggi di debug sono rediretti in uno speciale file sulla riga di comando. Usa "dos -D+a -o /tmp/debug" per salvare tutti i messaggi di debug nel file /tmp/debug. Non sara’ piu’ necessario redirigerli allo stderr.

11.9 Perche’ i miei tasti sono visualizzati dduuee vvoollttee?

Nick Holloway (alfie@dcs.warwick.ac.uk) dice (2/22/94)

Dopo aver eseguito DosEmu, dopo aver giocato con i settaggi del stty, io vedevo tutti i tasti ripetuti due volte. Io ora posso rivelare la ragione di tutto cio’.

Questo succede solo quando DosEmu viene eseguito con ’istrip’ settato. Questo (penso) perche i codici delle linee (scan codes) sono "mutilati" dallo ’istrip’, cosi’ che il rilascio del tasto sembri, invece, la pressione dello stesso.

Cosi’, il processo di inout necessita di essere "spento/tolto" quando si usano i codici di scansione (scan codes) su una console (non dovrebbe essere una buona idea da fare su una linea tty)

12 Contribuire al DosEmu project.

12.1 Chi e’ responsabile per DosEmu?

(3/18/94)

DosEmu e’ costruito grazie al lavoro di Matthias Lautner and Robert Sanders. James B. MacLean (jmaclean@fox.nstn.ns.ca) e’ il responsabile per l’organizzazione delle ultime versioni del DosEmu.

             Storia del DosEmu
Versione    Data               Persona
-------------------------------------------------
0.1        Settembre 3, 1992   Matthias Lautner
0.2        Settembre 13, 1992  Matthias Lautner
0.3        ???                 Matthias Lautner
0.4        Novembre 26, 1992   Matthias Lautner
0.47       Gennaio 27, 1993    Robert Sanders
0.47.7     Febbraio 5, 1993    Robert Sanders
0.48       Febbraio 16, 1993   Robert Sanders
0.48pl1    Febbraio 18, 1993   Robert Sanders
0.49       Maggio 20, 1993        Robert Sanders
0.49pl2    Novembre 18, 1993   James MacLean
0.49pl3    Novembre 30, 1993   James MacLean
0.49pl3.3  Dicembre 3, 1993    James MacLean
0.50       Marzo 4, 1994       James MacLean
0.50pl1    Marzo 18, 1994      James MacLean
0.52       Giugno 16, 1994       James MacLean
0.60       ???? ??, 1995       James MacLean

12.2 Io voglio aiutare. Chi devo contattare?

Il "DosEmu project" e’ merito dello sforzo di un team. Se tu vuoi contribuire guarda il DPR (DosEmu Project Registry). Una copia recente puo’ essere trovata a

dspsun.eas.asu.edu:/pub/dosemu.