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/ ______________________________________________________________________ Indice Generale 1. I preliminari 1.1 Cosa e' "dosemu" ? 1.2 Quale e' la versione piu' recente del dosemu e dove lo posso reperire? 1.3 Dove si puo' seguire lo sviluppo del dosemu? 1.4 Che documenti, riguardanti il dosemu, sono reperibili ? 1.5 Come e' possibile inserire nuove parti o apportare dei cambiamenti all'HOWTO? 1.6 Messaggi da Greg... 2. Compilare ed installare DosEmu. 2.1 Dove sono le istruzioni per installare DosEmu? 2.2 La Top Ten dei problemi riscontrati mentre compili ed installi dosemu. 2.3 Come posso compilare un singolo (non eseguibile) eseguibile? 2.4 Come posso costruire un eseguibili in formato ELF? 2.5 Come posso compilare dosemu su una macchina con poca memoria? 2.6 Come posso aumentare la velocita' di compilazione? 2.7 Come posso compilare non interattivamente? 2.8 Suggerimenti per la compilazionei, di Marty... 2.9 Devo compilare DosEmu con i privilegi di root? 3. Hard disk setup 3.1 Come devo utilizzare il mio Hard Disk con DosEmu? 3.2 Posso utilizzare il mio stacker/double-spaced/super-stored disk? 4. Porte parallelo, seriali e mouse. 4.1 Dove sono i (Microsoft compatibile) driver del mouse? 4.2 Perche' il driver del Mouse non funziona? 4.3 Perche' DosEmu non accetta la COM4? 4.4 Come devo utilizzare DosEmu con le porte seriali? 4.5 Come posso "sciftare" tra il DosEmu e una shell, sulla porta seriale? 4.6 Come posso far si' che la porta parallela funzioni? 5. Multi-Utente e sessioni non interattive. 5.1 Posso utilizzare DosEmu su un sistema multi-utente? 5.2 Come posso utilizzare un comando DOS non interrativamente? 6. dosemu e Netware 6.1 Come posso avere l'accesso alla Netware da dosemu? 6.2 Netware HOWTO 7. Dosemu e X-windows 7.1 Posso utilizzare dosemu in modalita' console mentre eseguo X? 7.2 E' possibile eseguire DosEmu in un xterm? 7.3 "Lavora" bene l'emulazione ansi? 8. dosemu e MS-Windows 3.1 8.1 E' possibile utilizzare eseguire MS-Windows 3.1 sotto dosemu? 9. Video e suono 9.1 Uscendo da DosEmu, il mio video e' pieno di caratteri strani. 9.2 Come posso far si' che DosEmu lavori con la mia Trident/Actix/other video card? 9.3 Perche' il software della mia scheda sonora non funziona con DosEmu? 9.4 DosEmu cade quando io digito qualche cosa. 10. Altro Hardware 10.1 Come posso far si' che il mio xxxxx device funzioni sotto dosemu? 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? 11.2 Io ho abilitato la memoria EMS nel dosemu.conf, ma questo non aiuta. 11.3 Come posso togliere i disturbanti messaggi "disk chance"? 11.4 Perche' DosEmu non viene eseguito una seconda volta nella stessa console? 11.5 Perche' DosEmu "runna" in un term, ma non in modalita' console? 11.6 Come posso velocizzare DosEmu? 11.7 Il mio CDROM ha problemi a leggere alcuni file sotto dosemu. 11.8 Come posso vedere i messaggi di debug? 11.9 Perche' i miei tasti sono visualizzati dduuee vvoollttee? 12. Contribuire al DosEmu project. 12.1 Chi e' responsabile per DosEmu? 12.2 Io voglio aiutare. Chi devo contattare? ______________________________________________________________________ 11.. II pprreelliimmiinnaarrii 11..11.. CCoossaa ee'' ""ddoosseemmuu"" ?? 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. 11..22.. QQuuaallee ee'' llaa vveerrssiioonnee ppiiuu'' rreecceennttee ddeell ddoosseemmuu ee ddoovvee lloo ppoossssoo rreeppeerriirree?? 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. 11..33.. DDoovvee ssii ppuuoo'' sseegguuiirree lloo ssvviilluuppppoo ddeell ddoosseemmuu?? 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 messag­ gio nel corpo della lettera: unsubscribe linux-msdos-digest your_username@your.email.address 11..44.. CChhee ddooccuummeennttii,, rriigguuaarrddaannttii iill ddoosseemmuu,, ssoonnoo rreeppeerriibbiillii ?? 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. 11..55.. CCoommee ee'' ppoossssiibbiillee iinnsseerriirree nnuuoovvee ppaarrttii oo aappppoorrttaarree ddeeii ccaammbbiiaammeennttii aallll''HHOOWWTTOO?? 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. :-) 11..66.. MMeessssaaggggii ddaa GGrreegg...... 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. 22.. CCoommppiillaarree eedd iinnssttaallllaarree DDoossEEmmuu.. 22..11.. DDoovvee ssoonnoo llee iissttrruuzziioonnii ppeerr iinnssttaallllaarree DDoossEEmmuu?? Le istruzioni per installare e/o compilare sono nel file, "QuickStart", incluso nella distribuzione. 22..22.. LLaa TToopp TTeenn ddeeii pprroobblleemmii rriissccoonnttrraattii mmeennttrree ccoommppiillii eedd iinnssttaallllii ddoosseemmuu.. (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. 22..33.. CCoommee ppoossssoo ccoommppiillaarree uunn ssiinnggoolloo ((nnoonn eesseegguuiibbiillee)) eesseegguuiibbiillee?? 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. 22..44.. CCoommee ppoossssoo ccoossttrruuiirree uunn eesseegguuiibbiillii iinn ffoorrmmaattoo EELLFF?? 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. 22..55.. CCoommee ppoossssoo ccoommppiillaarree ddoosseemmuu ssuu uunnaa mmaacccchhiinnaa ccoonn ppooccaa mmeemmoorriiaa?? 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. 22..66.. CCoommee ppoossssoo aauummeennttaarree llaa vveelloocciittaa'' ddii ccoommppiillaazziioonnee?? 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) 22..77.. CCoommee ppoossssoo ccoommppiillaarree nnoonn iinntteerraattttiivvaammeennttee?? 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. 22..88.. SSuuggggeerriimmeennttii ppeerr llaa ccoommppiillaazziioonneeii,, ddii MMaarrttyy...... 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. 22..99.. DDeevvoo ccoommppiillaarree DDoossEEmmuu ccoonn ii pprriivviilleeggii ddii rroooott?? (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. 33.. HHaarrdd ddiisskk sseettuupp 33..11.. CCoommee ddeevvoo uuttiilliizzzzaarree iill mmiioo HHaarrdd DDiisskk ccoonn DDoossEEmmuu?? 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. 33..22.. PPoossssoo uuttiilliizzzzaarree iill mmiioo ssttaacckkeerr//ddoouubbllee--ssppaacceedd//ssuuppeerr--ssttoorreedd ddiisskk?? 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." 44.. PPoorrttee ppaarraalllleelloo,, sseerriiaallii ee mmoouussee.. 44..11.. DDoovvee ssoonnoo ii ((MMiiccrroossoofftt ccoommppaattiibbiillee)) ddrriivveerr ddeell mmoouussee?? 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) 44..22.. PPeerrcchhee'' iill ddrriivveerr ddeell MMoouussee nnoonn ffuunnzziioonnaa?? 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. 44..33.. PPeerrcchhee'' DDoossEEmmuu nnoonn aacccceettttaa llaa CCOOMM44?? 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). 44..44.. CCoommee ddeevvoo uuttiilliizzzzaarree DDoossEEmmuu ccoonn llee ppoorrttee sseerriiaallii?? 44..55.. CCoommee ppoossssoo ""sscciiffttaarree"" ttrraa iill DDoossEEmmuu ee uunnaa sshheellll,, ssuullllaa ppoorrttaa sseerriiaallee?? 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. 44..66.. CCoommee ppoossssoo ffaarr ssii'' cchhee llaa ppoorrttaa ppaarraalllleellaa ffuunnzziioonnii?? 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. 55.. MMuullttii--UUtteennttee ee sseessssiioonnii nnoonn iinntteerraattttiivvee.. 55..11.. PPoossssoo uuttiilliizzzzaarree DDoossEEmmuu ssuu uunn ssiisstteemmaa mmuullttii--uutteennttee?? 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. 55..22.. CCoommee ppoossssoo uuttiilliizzzzaarree uunn ccoommaannddoo DDOOSS nnoonn iinntteerrrraattiivvaammeennttee?? 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 pro­ gramma 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). 66.. ddoosseemmuu ee NNeettwwaarree 66..11.. CCoommee ppoossssoo aavveerree ll''aacccceessssoo aallllaa NNeettwwaarree ddaa ddoosseemmuu?? 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. 66..22.. NNeettwwaarree HHOOWWTTOO (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). 77.. DDoosseemmuu ee XX--wwiinnddoowwss 77..11.. PPoossssoo uuttiilliizzzzaarree ddoosseemmuu iinn mmooddaalliittaa'' ccoonnssoollee mmeennttrree eesseegguuoo XX?? Ronald Schalk (R.Schalk@uci.kun.nl) riporta (1/17/94) Si, nessun problema. Ricordati solo di utilizzare ctrl-alt- 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] 77..22.. EE'' ppoossssiibbiillee eesseegguuiirree DDoossEEmmuu iinn uunn xxtteerrmm?? 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 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. 99..33.. PPeerrcchhee'' iill ssooffttwwaarree ddeellllaa mmiiaa sscchheeddaa ssoonnoorraa nnoonn ffuunnzziioonnaa ccoonn DDoossEEmmuu?? 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. 99..44.. DDoossEEmmuu ccaaddee qquuaannddoo iioo ddiiggiittoo qquuaallcchhee ccoossaa.. 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. 1100.. AAllttrroo HHaarrddwwaarree 1100..11.. CCoommee ppoossssoo ffaarr ssii'' cchhee iill mmiioo xxxxxxxxxx ddeevviiccee ffuunnzziioonnii ssoottttoo ddoosseemmuu?? 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. 1111.. PPrroobblleemmii ee ssoolluuzziioonnii.. 1111..11.. IIoo hhoo ffaattttoo ""ccaaddeerree"" ddoosseemmuu,, mmaa qquueessttoo mmii hhaa llaasscciiaattoo llaa ttaassttiieerraa iinn uunnoo ssttaattoo iinnuuttiilliizzzzaabbiillee.. CCoossaa ddeevvoo ffaarree?? 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. 1111..22.. IIoo hhoo aabbiilliittaattoo llaa mmeemmoorriiaa EEMMSS nneell ddoosseemmuu..ccoonnff,, mmaa qquueessttoo nnoonn aaiiuuttaa.. Rob Janssen (rob@pe1chl.ampr.org) dice (7/11/94) Non dimenticarti di caricare il provvisto file ems.sys nel tuo file config.sys 1111..33.. CCoommee ppoossssoo ttoogglliieerree ii ddiissttuurrbbaannttii mmeessssaaggggii ""ddiisskk cchhaannccee""?? (8/11/94) Prendi e installa klogd. Prova sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz 1111..44.. PPeerrcchhee'' DDoossEEmmuu nnoonn vviieennee eesseegguuiittoo uunnaa sseeccoonnddaa vvoollttaa nneellllaa sstteessssaa ccoonnssoollee?? Aldy Hernandez (aldy@sauron.cc.andrews.edu) dice (7/8/94) Tu dovresti disabilitare la tua cache video e/o bios.. 1111..55.. PPeerrcchhee'' DDoossEEmmuu ""rruunnnnaa"" iinn uunn tteerrmm,, mmaa nnoonn iinn mmooddaalliittaa'' ccoonnssoollee?? 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. 1111..66.. CCoommee ppoossssoo vveelloocciizzzzaarree DDoossEEmmuu?? 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. 1111..77.. IIll mmiioo CCDDRROOMM hhaa pprroobblleemmii aa lleeggggeerree aallccuunnii ffiillee ssoottttoo ddoosseemmuu.. 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. 1111..88.. CCoommee ppoossssoo vveeddeerree ii mmeessssaaggggii ddii ddeebbuugg?? 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. 1111..99.. PPeerrcchhee'' ii mmiieeii ttaassttii ssoonnoo vviissuuaalliizzzzaattii dddduuuueeee vvvvoooolllltttteeee?? 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) 1122.. CCoonnttrriibbuuiirree aall DDoossEEmmuu pprroojjeecctt.. 1122..11.. CChhii ee'' rreessppoonnssaabbiillee ppeerr DDoossEEmmuu?? (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 1122..22.. IIoo vvoogglliioo aaiiuuttaarree.. CChhii ddeevvoo ccoonnttaattttaarree?? 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.