Le HOWTO dosemu
Edite par Mike Deisher (
[email protected])
v0.60pl3, 17 Avril 1995
Ceci est la traduction francaise (-- Traduction : Thomas Parmelan
<
[email protected]> --) de la "Foire Aux Questions" (FAQ) / docu-
ment HOWTO pour dosemu. La version la plus a jour du document original
est disponible dans dspsun.eas.asu.edu:/pub/dosemu.
11.. IInnttrroodduuccttiioonn
11..11.. QQuu''eesstt--ccee qquuee ddoosseemmuu?
D'apres le manuel : "dosemu est un programme utilisant certaines
fonctionnalites du noyau Linux et du processeur 80386 afin de faire
tourner MS-DOS dans une `boite DOS'. La boite DOS est une combinaison
d'astuces materielles et logicielles, et est capable :
+o de virtualiser toutes les entrees/sorties et les instructions de
controle du processeur
+o de supporter la taille de mot et les modes d'adressage du "mode
reel" de la famille de processeurs iAPX86, tout en s'executant dans
l'environnement du "mode protege"
+o de detourner et d'emuler tous les appels systeme du DOS et du BIOS
necessaires au bon fonctionnement, avec des performances correctes
+o de simuler l'environnement materiel que les programmes DOS ont
l'habitude de controler
+o de fournir des services MS-DOS a travers des services Linux; par
exemple, dosemu peut fournir un disque virtuel qui est en fait un
repertoire Linux."
11..22.. QQuueellllee eesstt llaa ddeerrnniieerree vveerrssiioonn ddee ddoosseemmuu et ou la trouver?
La derniere version est dosemu 0.60. Elle est disponible par ftp sur :
tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/
dspsun.eas.asu.edu:/pub/dosemu/
Cependant, des pre-versions sont disponibles pour les developpeurs et
les alpha-testeurs sur :
tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development
dspsun.eas.asu.edu:/pub/dosemu/Development/
et ont des noms de la forme pre0.61.*.tgz. Ce code a l'avantage d'etre
compatible avec les noyaux Linux les plus recents. Il inclut egalement
de nouvelles fonctionnalites Il ne faut cependant pas oublier que ceci
est du code ALPHA : il peut y avoir des bogues serieux et tres peu de
documentation pour les nouvelles fonctionnalites.
11..33.. CCoommmmeenntt ssuuiivvrree llee ddeevveellooppppeemmeenntt??
Si vous voulez suivre le developpement de dosemu, souscrivez a la
liste de distribution linux-msdos-digest. Pour souscrire, il suffit
d'envoyer un mail a
[email protected] avec, dans le corps du
message, la ligne suivante :
subscribe linux-msdos-digest
[email protected]
Si jamais vous desirez vous desabonner de la liste, vous pouvez
envoyer un mail a
[email protected] avec la commande suivante
dans le corps de votre message :
unsubscribe linux-msdos-digest
[email protected]
11..44.. QQuueellllee eesstt llaa ddooccuummeennttaattiioonn ddiissppoonniibbllee ppoouurr ddoosseemmuu?
Le manuel de dosemu (dosemu.texinfo) ecrit par Robert Sanders n'a pas
ete mis a jour depuis un certain temps, mais il reste encore une bonne
source d'informations. Il est distribue avec dosemu.
Le DANG, ou "_d_o_s_e_m_u Novice's Altering Guide_"_, _e_x_p_l_i_q_u_e _l_e
_f_o_n_c_t_i_o_n_n_e_m_e_n_t _i_n_t_e_r_n_e _d_e _d_o_s_e_m_u. Il est ecrit pour les aventureux,
ceux qui veulent modifier eux-memes le source. Il est maintenu par
Alistair MacDonald (
[email protected]) et est poste regulierement
dans la liste de distribution MSDOS de Linux Activists.
La liste EMU (EMUsuccess.txt) est une liste de tous les programmes qui
ont ete essayes avec succes sous dosemu. Elle est postee de temps a
autres dans la liste de distribution. La derniere version est
disponible par ftp dans dspsun.eas.asu.edu:/pub/dosemu.
Et, bien sur, il y a le HOWTO dosemu. Mais vous le saviez deja, n'est-
ce pas? Il est poste regulierement dans la liste de distribution MSDOS
de Linux Activists. La version la plus a jour est disponible dans
dspsun.eas.asu.edu:/pub/dosemu.
11..55.. CCoommmmeenntt ssoouummeettttrree ddeess ccoorrrreeccttiioonnss oouu aaddddiittiioonnss aa ccee HHOOWWTTOO??
La meilleure methode est d'editer le fichier dosemu-HOWTO-xx.x.sgml
afin d'y incorporer les changements, de creer un fichier diff comme
ceci
diff fichier-original nouveau-fichier
et de l'envoyer a
[email protected]. Ce n'est pas grave si
vous ne connaissez pas SGML. Les changements et nouvelles informations
seront acceptees sous toutes les formes, creer un fichier diff rend
simplement le travail plus facile au coordinateur. :-)
[ Note : Cette version francaise n'est qu'une traduction du document
original. Addresser les corrections et suggestions d'ordre technique a
[email protected]; signaler les erreurs de traduction a
[email protected]. ]
11..66.. UUnn ppeettiitt mmeessssaaggee ddee GGrreegg ......
Sauf mention contraire, les auteurs detiennent les copyrights sur les
HOWTO Linux. Les HOWTO Linux, ou des extraits des HOWTO Linux, peuvent
etre reproduits et distribues, sur n'importe quel media physique ou
electronique, tant que cette notice de copyright reste presente sur
toutes les copies. La redistribution commerciale est autorisee et
encouragee ; cependant, l'auteur desire etre mis au courant de telles
distributions.
Toute traduction, synthese ou travail derive d'un HOWTO Linux doit
etre couvert par cette notice de copyright. C'est-a-dire que vous
pouvez realiser un travail derive d'un HOWTO Linux, mais que vous ne
pouvez pas imposer des restrictions supplementaires sur sa
distribution. Des exceptions a cette regle peuvent etre accordees dans
certains cas ; contacter le coordinateur des HOWTO Linux a l'adresse
donnee plus bas.
En bref, nous desirons promouvoir la circulation de ces informations
autant que possible. Cependant, nous desirons egalement garder le
copyright sur ces HOWTOs, et aimerions etre prevenus de leur
redistribution.
Si vous avez des questions, contactez Greg Hankins, le coordinateur
des HOWTO LInux, a
[email protected]. (-- NDT: En ce qui concerne
les traductions francaises, contacter Xavier Cazin, le coordinateur
francais, a
[email protected])
Voici le texte original du copyright, pour reference :
Unless otherwise stated, Linux HOWTO documents are copyrighted by
their respective authors. Linux HOWTO documents may be reproduced and
distributed in whole or in part, in any medium physical or electronic,
as long as this copyright notice is retained on all copies. Commercial
redistribution is allowed and encouraged; however, the author would
like to be notified of any such distributions.
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.
If you have questions, please contact Greg Hankins, the Linux HOWTO
coordinator, at
[email protected].
22.. CCoommppiilleerr eett iinnssttaalllleerr ddoosseemmuu
22..11.. OOuu ssoonntt lleess iinnssttrruuccttiioonnss dd''iinnssttaallllaattiioonn??
Les instructions d'installation sont dans le fichier QuickStart
present dans la distribution.
22..22.. LLeess 1100 EErrrreeuurrss SSttuuppiiddeess lleess pplluuss ccoouurraanntteess aa ll''iinnssttaallllaattiioonn
(08/04/95)
1. Oublier de lire le QuickStart Guide;
2. Essayer de compiler avec un noyau posterieur au 1.1.45;
3. Ne pas avoir les sources du bon noyau dans /usr/src/linux;
4. Utiliser dosemu avec un noyau n'ayant pas le support pour les IPC;
5. Compiler avec un gcc anterieur a 2.5.8 ou une libc anterieure a
4.5.21;
6. Oublier d'editer le fichier /etc/dosemu.conf;
7. Oublier de lancer "FDISK /mbr" sur son hdimage;
8. Lancer DOSEMU avec un acces partition lorsque ces partitions sont
deja montees;
9. Ne pas compiler dosemu avec suffisamment de privileges (root).
10.
Essayer de lancer DOSEMU sur le systeme multi-utilisateurs d'un
fournisseur de connectivite IP.
22..33.. CCoommmmeenntt ccrreeeerr uunn eexxeeccuuttaabbllee ssiimmppllee ((ppaass ddee lliibbrraaiirriiee)) ??
Marty Leisner (
[email protected], 08/04/95
Si vous voulez un executable QMAGIC, il faut definir STATIC dans le
Makefile; sinon il y aura une combinaison librairie/executable.
22..44.. CCoommmmeenntt ccrreeeerr ddeess bbiinnaaiirreess EELLFF ??
Marty Leisner (
[email protected], 08/04/95
Pour creer un binaire ELF, definir ELF dans le Makefile. Compiler et
installer la librairie slang separement. slang fonctionne tres bien en
librairie ELF partagee.
22..55.. CCoommmmeenntt ccoommppiilleerr ddoosseemmuu ssuurr uunnee mmaacchhiinnee aayyaanntt ppeeuu ddee mmeemmooiirree ??
Marty Leisner (
[email protected], 08/04/95
Si vous etes a court de place dans le swap, vous pouvez ajouter la
ligne
CFLAGS+=-fno-inline
apres la definition de CFLAGS dans dpmi/Makefile. Attention a bien
verifier que vous avez active votre swap: j'ai deja experimente des
plantages quand Linux manque de swap.
22..66.. CCoommmmeenntt aacccceelleerreerr llaa ccoommppiillaattiioonn__??
Marty Leisner (
[email protected], 08/04/95
L'optimisation par defaut est -O2. Il suffit de changer le Makefile
afin d'utiliser -O (compilation un peu plus rapide, executable
legerement plus petit).
22..77.. CCoommmmeenntt ccoommppiilleerr ddee mmaanniieerree nnoonn--iinntteerraaccttiivvee__??
En definissant do_DEBUG dans le Makefile, vous aurez -Wall -g, une
compilation non-interactive et sans tex.
22..88.. AAuuttrreess aassttuucceess ddee ccoommppiillaattiioonn ddee MMaarrttyy ......
Il faut avoir compile le noyau sur son propre systeme pour avoir la
version courante. Sinon, il faut modifier a la main KERNEL_VERSION
dans le Makefile racine. Le nombre est de la forme nmmmppp, ou n est
le numero de version, mmm est le numero mineur de version, et ppp le
numero de patch. Par exemple, le noyau 1.1.88 correspond a "1001088"
et le noyau 1.2.1 a "1002001".
Commencer toutes les compilations a partir du repertoire racine des
sources. Dans ce repertoire, "make sous-repertoire" lancera make dans
sous-repertoire. Chaque repertoire possede les cibles habituelles
clean et realclean. clean efface les fichiers objets, realclean
efface egalement les fichiers de dependance et quelques autres
fichiers.
22..99.. FFaauutt--iill ccoommppiilleerr ddoosseemmuu ssoouuss ll''iiddeennttiittee ""rroooott""__??
08/04/95
Non. Il faut l'installer sous l'identite "root", cependant.
Marty Leisner (
[email protected]) ajoute_:
Afin d'acceder aux ports E/S (y compris la console), dosemu a besoin
de tourner avec l'identite "root". Lancer dosemu dans un xterm ou une
fenetre X et demander ensuite l'acces direct au materiel vous permet
de tourner dosemu sous une identite utilisateur. Les implications de
securite / setuid seront etudiees dans les versions de developpement.
22..1100.. LLee MMaakkeeffiillee eesstt ddaannss uunnee bboouuccllee iinnffiinniiee ......
James B. MacLean (
[email protected]), 12/04/95
Nous avons quelquefois remarque ceci, generalement lorsque la date
d'un fichier est importante. Quelques personnes resolvent le probleme
en mettant a jour leur noyau, d'autres (dont moi) en lancant les
commandes_:
make realclean
make most
33.. CCoonnffiigguurraattiioonn dduu ddiissqquuee dduurr
33..11.. CCoommmmeenntt ppuuiiss--jjee uuttiilliisseerr mmoonn ddiissqquuee dduurr aavveecc ddoosseemmuu?
Tout d'abord, montez votre partition DOS sur un repertoire Linux. Par
exemple, on peut creer un repertoire tel que /dos sous Linux (mkdir -m
755 /dos) et ajouter une ligne du type :
/dev/hda1 /dos msdos umask=022
a /etc/fstab. (Dans cet exemple, le disque DOS est monte en lecture
seule. Il est possible de le monter en lecture et ecriture en rempla-
cant "022" par "000", et en utilisant l'option -m 777 avec mkdir).
Maintenant, mount /dos. Vous pouvez ensuite ajouter une ligne
lredir d: linux\fs/dos
au fichier AUTOEXEC.BAT de votre hdimage (voir plus bas les commen-
taires au sujet de LREDIR). Sur un systeme multi-utilisateurs, on peut
utiliser :
lredir d: linux\fs\${home}
ou hhoommee est le nom d'une variable d'environnement contenant l'emplace-
ment du repertoire dos (/dos dans cet exemple).
---------------------
Tim Bird (
[email protected]) explique qu'il faut faire attention
lorsque l'on utilise LREDIR dans l'autoexec.bat, car COMMAND.COM
continue a lire dans l'autoexec.bat du disque redirige a partir de
l'endroit ou il en etait reste dans l'autoexec.bat du disque physique.
Pour cette raison, il est plus sur d'utiliser le meme autoexec.bat
pour les deux disques.
---------------------
Robert D. Warren (
[email protected]) expliquait le
28/04/94 :
Je boote a partir d'un fichier hdimage de moins d'1 Mo, et la derniere
ligne de mon config.sys dans le hdimage est :
install=c:\lredir.exe LINUX\FS\home/dos
Ceci execute lredir juste avant de lancer l'interpreteur de commandes.
J'ai utilise cela avec succes avec COMMAND.COM et 4DOS. Cela elimine
le probleme de l'offset lie a l'utilisation de lredir dans
l'AUTOEXEC.BAT.
33..22.. PPuuiiss--jjee uuttiilliisseerr uunn ddiissqquuee ccoommpprreessssee aavveecc ssttaacckkeerr//ddoouubbllee--
ssppaaccee//ssuuppeerr--ssttoorree??
Pour le moment, il n'est pas possible d'acceder aux disques compresses
a partir des redirigeurs (lredir ou emufs). Cependant, de nombreuses
personnes ont utilise avec succes la technique consistant a
decommenter la ligne
disk { wholedisk "dev/hda" } # 1ere partition du 1er disque
du fichier de configuration de dosemu. D'autres utilisent la ligne
disk { partition "dev/hda1" }
Si votre partition DOS est deja montee et accessible en ecriture
lorsque vous lancez dosemu avec l'acces partition ou l'acces disque,
dosemu affiche un message d'avertissement et ne se lance pas. Ceci
evite DOS et Linux d'ecrire independamment l'un de l'autre sur votre
disque, et de rendre votre partition DOS inutilisable (tout au moins
les fichiers qui y resident).
---------------------
Si LILO est installe, la procedure ci-dessus ne fonctionnera pas.
Cependant...
Thomas Mockridge (
[email protected]) (8/5/94):
Pour demarrer dosemu avec LILO et Stacker 4.0 j'ai procede de la
maniere suivante...
1. dd le MBR vers un fichier (ou norton utility, etc., les premiers
512 octets)
2. Demarrer le DOS (le vrai), faire un fdisk /mbr, rendre la partition
dos active avec fdisk.
3. Copier le nouveau MBR vers un fichier.
4. Remplacer le MBR original.
5. Copier le second MBR vers /var/lib/dosemu/partition.hda? (suivant
votre partition dos).
6. Editer dosemu.conf
disk {partition "/dev/hda? ?"}
7. Lancer dosemu et voila! Plus de LILO.
---------------------
Holger Schemel (
[email protected]) expliquait le
10/02/94 :
Cela marche parfaitement sous dosemu avec MS-DOS 6.0. Si vous avez des
problemes, il faut editer le fichier DBLSPACE.INI pour mettre la
lettre d'unite de disque qui correspond a votre disque sous dosemu.
---------------------
Darren J Moffat (
[email protected]) expliquait le 27/03/94 :
"...utilisez 6.2 si vous pouvez !! Assurez-vous d'avoir sous la main
une disquette de boot avec LILO, car le DOS 6.2 change le MBR du
disque de demarrage."
44.. PPoorrttss sseerriieess,, ppaarraalllleelleess eett ssoouurriiss
44..11.. OOuu ssoonntt lleess ppiillootteess ppoouurr lleess ssoouurriiss ((ccoommppaattiibblleess mmiiccrroossoofftt))??
Tom Kimball (
[email protected]) expliquait le 24/11/93 :
De nombreuses personnes utilisent un autre pilote de souris. En voici
quelques uns qui semblent fonctionner correctement :
oak.oakland.edu:/pub/msdos/mouse/mouse701.zip (mscmouse)
oak.oakland.edu:/pub/msdos/mouse/gmous102.zip (gmouse)
44..22.. PPoouurrqquuooii llee ppiilloottee ddee mmaa ssoouurriiss nnee ffoonnccttiioonnnnee--tt--iill ppaass??
Mark Rejhon (
[email protected]), 07/04/95
Si le pilote de souris "plante" lorsque vous le lancez (cela peut
prendre de 30 a 60 secondes), et si vous attendez plus d'une minute
avant qu'il soit charge, essayer de preciser sur la ligne de commande
du pilote de souris, le port COM sur lequel votre souris est branchee.
44..33.. PPoouurrqquuooii ddoosseemmuu rend-il COM4 inaccessible?
Rob Janssen (
[email protected]) expliquait le 24/03/94 :
D'apres
[email protected], "dosemu rend encore inaccessible
le port COM4 (0x2e8, IRQ 5). 0x2e8 n'est pas liste dans ports{} dans
la configuration. Je suis oblige de lancer setserial /dev/cua3 irq 5
lorsque dosemu est termine."
Ceci est du au BIOS de la carte VGA. J'ai trouve cela en utilisant la
trace des ports d'E/S et en regardant a quel moment COM4 devenait
inutilisable.
Commentez la ligne allowvideoportaccess on dans le fichier de
configuration et tout devrait rentrer dans l'ordre. Si vous avez des
problemes video, essayez de selectionner plus precisement les ports
autorises dans le fichier de configuration (par exemple, 40-43).
44..44.. CCoommmmeenntt uuttiilliisseerr ddoosseemmuu et un shell a travers une liaison serie?
John Taylor (
[email protected]) expliquait le 25/05/94 :
J'utilise Linux 1.1.13 et j'aimerais signaler une fonctionnalite
interessante qu'il faudrait, a mon avis, conserver. Avec la version
52, il est possible d'utiliser le programme screen. A partir de
screen, on peut invoquer dos -D-a. Le point interessant est que les
commandes de screen fonctionnent encore ! Ainsi avec CTRL-A C il est
possible d'ajouter un autre shell unix, et de passer de l'un a l'autre
(DOS / UNIX). Ceci permet d'utiliser facilement dosemu a travers une
liaison serie.
44..55.. CCoommmmeenntt ffaaiirree ffoonnccttiioonnnneerr lleess ppoorrttss ppaarraalllleelleess ??
Dennis Flaherty (
[email protected], 02/03/95
Le fichier dosemu.conf permet de rediriger les imprimantes vers lpr ou
vers des fichiers. Si vous desirez un acces direct au port, commentez
ces lignes et ajoutez la ligne suivante:
ports { 0x3b8 0x3b9 0x3ba 0x3bb 0x3bc 0x3bd 0x3be 0x3bf } # lpt0
pour le port parallele correspond a la carte moniteur (LPT0), ou les
lignes
ports { 0x378 0x379 0x37a 0x37b 0x37c 0x37d 0x37e 0x37f } # lpt1
ports { 0x278 0x279 0x27a 0x27b 0x27c 0x27d 0x27e 0x27f } # lpt2
pour LPT1 et LPT1, respectivement.
55.. MMuullttii--uuttiilliissaatteeuurrss eett sseessssiioonnss nnoonn--iinntteerraaccttiivveess
55..11.. EEsstt--iill ppoossssiibbllee dd''uuttiilliisseerr ddoosseemmuu sur un systeme multi-utilisa-
teurs?
Corey Sweeney (
[email protected]) expliquait le 08/12/93 :
Si plusieurs personnes doivent utiliser dosemu sur votre machine, il
faut changer le repertoire de votre hdimage. Dans le fichier
/etc/dosemu.conf, remplacez hdimage par /var/lib/dosemu/hdimage. Ainsi
les utilisateurs n'ont pas a se soucier de leur repertoire courant
lorsqu'ils lancent dosemu, et il n'est plus necessaire de deplacer
hdimage a chaque installation d'une nouvelle version.
Si vous faites cela pour un dosemu multi-utilisateurs, positionnez
/var/lib/dosemu/hdimage en lecture seule pour tout le monde, sauf pour
l'administrateur de dosemu.
Notez qu'il est egalement possible d'utiliser la nouvelle
fonctionnalite emufs.sys pour monter un repertoire public et/ou un
repertoire prive (un sous-repertoire dans le repertoire racine de
chaque utilisateur).
[Note : Les utilisateurs peuvent aussi creer un fichier de
configuration personnel ~/.dosrc (meme format que /etc/dosemu.conf)
pour executer leur propre version de dos.]
55..22.. CCoommmmeenntt eexxeeccuutteerr ddeess ccoommmmaannddeess DDOOSS ddee mmaanniieerree nnoonn--iinntteerraaccttiivvee ??
Dan Newcombe (
[email protected]) reporte (27/01/94) :
Voici une idee (non testee) pour lancer une commande DOS depuis la
ligne de commande (ou depuis un menu, etc...) sans modifier
l'emulateur actuel. [ Votre partition DOS est censee etre deja montee
sous Linux. ]
Supposons que vous vouliez lancer wp60.exe avec le parametre "wp60
d:\doc\paper.txt". Il suffirait de lancer quelquechose comme "dosrun
wp60 d:\doc\paper.txt". dosrun serait un script shell qui a)
edite/modifie/recree le fichier autoexec.bat sur votre partition DOS,
et b) lance simplement dosemu (par exemple, "dos -C >/dev/null".
L'etape a) consisterait a garder tout ce qui est normalement dans
votre autoexec.bat et a rajouter a la fin "wp60 d:\doc\paper.txt".
Il faudrait auparavant modifier le config.sys situe sur votre hdimage
afin que dosemu utilise emufs pour acceder a la partition DOS comme
D:, positionner COMPSEC=D:\ (Je pense. Je n'ai pas de manuel DOS sous
la main), et shell=c:\command.com /p.
Le principe est le suivant: a chaque fois que vous lancerez
l'emulateur DOS, il recreera un autoexec.bat specifique a cette
session. Ce qui le rend specifique est cette derniere ligne qui
execute le programme que vous voulez utiliser. Les modifications du
hdimage sont necessaire pour indiquer a l'emulateur et au DOS que vous
voulez utiliser et booter depuis D:, qui sera en fait la vraie
partition DOS.
Si vous n'utilisez pas hdimage et accedez au systeme de fichiers DOS
directement au demarrage de dosemu, alors ceci fonctionnera, et vous
n'avez pas a vous soucier de la partie concernant le hdimage.
---------------------
Daniel T. Schwager (
[email protected]) rapporte (02/07/94) :
Vous pouvez utiliser plusieurs dosemu.conf (et plusieurs images de
boot avec plusieurs autoexec.bat) en lancant dosemu comme ceci :
$ dos -F my_quicken_q_exe_dosemu.conf
---------------------
Dietmar Braun (
[email protected]) rapporte
(04/07/94) :
Cela est facile si l'on utilise le redirigeur de dosemu. Il est
possible de rediriger une lettre d'unite DOS vers un chemin linux
donne par une variable d'environnement.
Ainsi, j'ai un script shell appele "DOS" qui contient
mkdir /tmp/dos.$$;
DOSTMP=/tmp/dos.$$; export DOSTMP
et un petit truc pour faire fonctionner "echo $* >
$DOSTMP/startup.bat" (en fait, un petit programme C qui convertit '/'
en '\', termine les lignes correctement pour DOS (CR/LF) et ajoute ^Z
a la fin du fichier), cree les fichiers de demarrage et les liens dans
ce repertoire, et lance dosemu. Dans l'autoexec.bat, l'unite C: est
redirigee depuis le hdimage vers ce repertoire temporaire, qui con-
tient des liens pour $HOME et $PWD.
Ainsi, si je veux voir mes fichiers reduits en 8.3 je tape "DOS dir".
Comme cela, j'ai un DOS multi-utilisateurs (je n'ai pas de partition
DOS, et rediriger vers Linux preserve les permissions utilisateur) et
multi-taches (les sessions dosemu sont completement independantes).
J'ai fait cela un jour pour utiliser un programme DOS pour mon
imprimante. En fait, l'entree df de mon printcap est un realite un
programme DOS !
66.. ddoosseemmuu and Netware
66..11.. CCoommmmeenntt aacccceeddeerr aa NNeettwwaarree ddeeppuuiiss ddoosseemmuu?
James B. MacLean (
[email protected]) expliquait le 28/11/94 :
dosemu supporte maintenant pdipx (un pilote de paquets IPX) et pdether
(qui utilise les specifications MLID de Novell) pour acceder a un
reseau Novell a travers le pilote de paquets integre. Ce pilote
utilise l'interruption 0x60, et respecte les regles du pilote normal.
Cela etant dit, n'essayez pas encore d'utiliser des outils TCP/IP DOS.
Pour utiliser Netware, il faut :
1. cd ./net
2. cp libpacket.c.single libpacket.c
3. cp pktnew.c.single pktnew.c
4. recompiler dosemu
5. lancer dosemu
6. lancer pdether comme explique dans sa documentation (pdipx est une
autre possibilite)
7. Lancer netx.
8. Utiliser l'acces Netware :-)
Si vous avez besoin d'un acces special a votre NIC, lisez
attentivement ce qui suit. Par defaut, dosemu ne recoit pas
d'interruptions du noyau. Ceci dit, j'ai un pilote (Silly Interrupt
Generator), a compiler dans le noyau, que dosemu ou d'autres
programmes peuvent utiliser pour acceder a l'interruption
correspondant a votre NIC. Je l'ai utilise avec dosemu pour acceder
a un reseau Novell Lite lorsque le pilote de paquet n'etait pas
disponible.
Si vous etes interesses, envoyez-moi un courrier electronique
(
[email protected]) et je vous donnerai des explications.
Vous voulez plusieurs acces a Novell depuis dosemu?
1. Compiler la pre-version courante de dosemu
2. Suivre les indications de ./v-net/dosnet.README
3. Reprendre au point 5 ci-dessus.
66..22.. NNeettwwaarree--HHOOWWTTOO
Le Netware-HOWTO de Lauri Tischler (
[email protected]) est
maintenant un document a part entiere. Il est inclus dans la
distribution dosemu et est bien sur disponible sur les sites archivant
les HOWTOs, par exemple
http://sunsite.unc.edu/mdw/linux.html (-- NDT:
Pour nous autres francophones, il vaut mieux aller sur
http://www.loria.fr/linux/.--)
77.. ddoosseemmuu et X-Window
77..11.. EEsstt--iill ppoossssiibbllee dd''uuttiilliisseerr ddoosseemmuu sur une console tout en util-
isant X?
Ronald Schalk (
[email protected]) expliquait le 17/01/94 :
Oui, sans aucun probleme. Il suffit de se rappeler qu'il faut utiliser
Ctrl-Alt-<Fn> pour acceder a une console virtuelle, et qu'il est alors
possible de lancer n'importe quelle application Linux (dosemu est une
application Linux). J'ai quasiment en permanence WP 5.1 dans une
session dos.
[Note : Utiliser Ctrl-Alt-F7 pour revenir a X a partir de dosemu.]
77..22.. EEsstt--iill ppoossssiibbllee dd''uuttiilliisseerr ddoosseemmuu dans une fenetre X ?
Mark Rejhon (
[email protected]), 08/04/95
Si vous avez installe X, avez compile dosemu, et reussissez a
l'utiliser en dehors de X-Window, il devrait suffire de lancer
directement "xdos" ou "dos -X" pour obtenir une fenetre dosemu. Si
cela ne marche pas, verifier que :
1. dosemu a ete compile avec le support X (X_SUPPORT=1 dans le
Makefile) ;
2. les fontes VGA ont ete installees. Il suffit de lancer le script
xinstallvgafont dans le repertoire source de dosemu :
sh xinstallvgafont
3. les codes claviers sont corrects. Dans un xterm, taper:
xmodmap -e "keycode 22 = 0xff08"
xmodmap -e "keycode 107 = 0xffff"
Ces commandes corrigent les touches Backspace et Delete ;
4. les options relatives a X ont ete configurees correctement dans
/etc/dosemu.conf.
Une autre methode est de lancer dosemu a l'interieur d'un color_xterm,
mais cela n'est pas recommande car la plupart des color_xterm ne sont
pas capables de gerer correctement toutes les ressources complexes
d'affichage de dosemu. Cette methode ne necessite pas l'option de
compilation X_SUPPORT. Si vous voulez vraiment faire comme ceci, voici
les instructions:
1. Installer ansi_xterm. Il est disponible sur
tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development/ansi-xterm-R6.ta;r.gz
2. Installer les fontes VGA. Il suffit de lancer le script
xinstallvgafont dans le repertoire source de dosemu :
sh xinstallvgafont
3. Configurer les codes clavier. Dans un xterm, taper:
xmodmap -e "keycode 22 = 0xff08"
xmodmap -e "keycode 107 = 0xffff"
Ces commandes corrigent les touches Backspace et Delete ;
4. Configuer les options de terminal dans /etc/dosemu.conf
Marty Leisner (
[email protected]), 31/03/95
J'utilise xrdb pour utiliser les ressources suivantes :
dosxterm*Font: vga
dosxterm*geometry: 80x25
dosxterm*saveLines: 25
ou bien je fais un alias dosxterm correspondant a
xterm -fn vga -title dosxterm -geometry 80x25 -sl 25
Pour utiliser la methode xrdb, il suffit de taper :
xterm -name dosxterm
77..33.. LL''eemmuullaattiioonn aannssii ffoonnccttiioonnnnee--tt--eellllee ccoorrrreecctteemmeenntt ??
Marty Leisner (
[email protected]), 31/03/95
Oui. J'utilise nnansi.com sous X-Window. Les modes 25, 43 et 50 lignes
fonctionnent correctement, bien que le mode 50 lignes soit difficile a
lire sur un ecran 1024x768 (a moins d'utiliser des fontes plus petites
ou un ecran plus grand). Le mode 43 lignes retaille le xterm pour
utiliser 43 lignes.
88.. ddoosseemmuu eett MMSS--WWiinnddoowwss 33..11
88..11.. EEsstt--iill ppoossssiibbllee ddee llaanncceerr MMSS--WWiinnddoowwss 33..11 ssoouuss ddoosseemmuu ??
D'apres le fichier README :
****************************************************************
* ATTENTION !!! ATTENTION !!! ATTENTION!!! ATTENTION !!! *
* *
* Danger ! Ceci n'est pas completement supporte et de *
* nombreux bogues connus sont presents ! La plupart des gros *
* programmes ne fonctionneront sans doute pas !!! *
* *
* Soyez prets pour des plantages systeme si vous essayez !!! *
* *
* ATTENTION !!! ATTENTION !!! ATTENTION!!! ATTENTION !!! *
****************************************************************
Bon, vous etes toujours la ? Bien. Il est possible de lancer WINOS2
(la version modifiee de Windows 3.1 utilisee par OS/2) sous dosemu.
Felicitations a Lutz et Dong !
De nombreux problemes sont connus. Windows est enclin aux plantages et
peut vous faire perdre des donnees. Les gros programmes ne se chargent
pas. La souris risque d'etre tres peu maniable, etc. En d'autres
termes, ceci n'est pas pret pour une utilisation normale. De
nombreuses cartes graphiques posent probleme (vous pouvez obtenir un
tres bel ecran blanc). Vos groupes de programmes peuvent disparaitre.
En un mot, c'est une horreur.
D'un autre cote, si vous mourrez d'envie de voir le logo Windows
s'afficher sous Linux et que vous avez lu attentivement tout ceci, et
que vous promettez de ne pas bombarder les developpeurs de dosemu de
messages du type "MS Word 6.0 ne fonctionne pas !" ...
1. Prendre les distributions sources de Linux et dosemu ;
2. Decompresser la distribution dosemu ;
3. Appliquer le patch dpmi/kernel.diff a vos sources du noyau ;
4. Recompiler le noyau ;
5. Compiler dosemu ;
6. Se procurer WINOS2.ZIP sur tsx-11.mit.edu ;
7. Decompresser le contenu de WINOS2.ZIP dans votre repertoire
WINDOWS/SYSTEM ;
8. Redemarrer avec le nouveau noyau ;
9. Lancer dosemu (apres avoir verifie que DPMI est "ON") ;
10.
Croiser les doigts.
Bonne chance !
_R_A_P_P_E_L_: _C_E_C_I _N_'_E_S_T _P_A_S _R_E_C_O_M_M_A_N_D_E _! _N_O_U_S _N_E _V_O_U_S _C_O_N_S_E_I_L_L_O_N_S _P_A_S _D_E
_F_A_I_R_E _C_E_C_I _!_!_!
99.. VViiddeeoo eett ssoonn
99..11.. PPeeuutt--oonn uuttiilliisseerr lleess jjeeuuxx 3322--bbiittss ssoouuss ddoosseemmuu ??
Mark Rejhon (
[email protected]), 08/04/95
Avec les ameliorations concernant le DPMI qui ont ete integrees a la
version 0.60, il est maintenant possible de faire tourner quelques
jeux 32 bits sous dosemu. Si le jeu est compatible avec OS/2, il y a
de fortes chances pour qu'il fonctionne sous dosemu (exemples de jeux
32 bits : Descent, Dark Forces, Mortal Kombat 2, Rise of The Triad,
ont tous ete testes avec les versions recentes de dosemu).
Avant d'essayer quoi que ce soit, il faut avoir configure le clavier
en mode direct (-- NDT: _r_a_w _m_o_d_e--) et autorise les graphiques VGA
dans /etc/dosemu.conf. Si vous avez deja reussi a lancer des
programmes graphiques sous dosemu, et que vous etes pret a prendre le
risque d'un plantage systeme (puisque vous laissez dosemu acceder
directement a la carte video, ce qui peut laisser celle-ci dans un
etat instable dont il est difficile de ressortir), alors allez-y,
lancez votre jeu !
Attention cependant, il faut desactiver le son du jeu. (Il faudra que
quelqu'un programme une emulation de carte son pour eviter cela). Le
jeu sera peut-etre un peu lent, etant donne que Linux est multi-taches
et ne possede pas de timer a haute frequence. Alors, le jeu peut
fonctionner de 5 a 100 % de sa vitesse normale. En general, il s'agit
de 50 % pour les versions recentes de dosemu, et cela devrait
augmenter.
Qui sait, cela pourrait meme fonctionner. N'hesiter pas a envoyer un
message au coordinateur de EMUsuccess.txt si votre jeu fonctionne
correctement sous dosemu !
99..22.. EEnn qquuiittttaanntt ddoosseemmuu, j'obtiens un ecran rempli de caracteres
bizarres.
08/04/95
Le probleme est que la police de l'ecran texte VGA n'est pas sauvee.
Procurez vous le kit svgalib. La version courante est dans
sunsite.unc.edu:/pub/Linux/libs/graphics/svgalib125.tar.gz
Ce kit est sans doute egalement disponible sous forme precompilee dans
votre distribution Linux preferee (par exemple, _S_l_a_c_k_w_a_r_e). Utilisez
savetextmode pour sauver les parametres du mode courant vers un
fichier dans /tmp avant de lancer dosemu. En sortant de dosemu, lancez
textmode pour les restaurer.
99..33.. CCoommmmeenntt uuttiilliisseerr ddoosseemmuu avec ma carte video Trident/Actix/etc?
[L'ecran vacille, affiche le message du BIOS video, puis plus rien.]
Andrew Tridgell (
[email protected]) expliquait le 29/01/94 :
Avec les versions precedentes, j'ai decouvert que cela fonctionnait en
utilisant :
ports { 0x42 }
mais quelquefois, ma machine se plantait pendant que le BIOS video
s'executait dans dosemu. La raison est que l'on permet au BIOS VGA de
re-programmer l'horloge, ce qui interagit avec Linux.
Cela m'a conduit a implementer readonly et masking dans dosemu, et je
crois qu'ils sont toujours dans la derniere version. Maintenant,
j'utilise :
ports { readonly 0x42 }
et dosemu se lance plus lentement, mais plus surement.
---------------------
Tim Shnaider (
[email protected]) expliquait aussi le 18/01/94 :
L'une des solutions pour corriger ce probleme est d'utiliser le
programme GETROM afin de copier le BIOS video vers un fichier, et
d'editer le fichier de configuration dans le repertoire /etc/dosemu.
Voici la ligne que j'utilise pour la video :
video { vga console graphics chipset trident memsize 1024 vbios_file
/etc/dosemu/vbios }
ou vbios est le fichier genere par la commande
getrom > vbios
---------------------
Douglas Gleichman (
[email protected]) explique (01/09/94)
que (avec une ATI Graphics Ultra) :
Pour dosemu 0.52 il faut ajouter cette ligne a dosemu.conf :
ports { 0x1ce 0x1cf 0x238 0x23b 0x23c 0x23f 0x9ae8 0x9ae9 0x9aee 0x9aef }
Le programme d'auto-test de la carte indiquera une erreur, mais les
programmes graphiques fonctionneront correctement.
99..44.. PPoouurrqquuooii lleess pprrooggrraammmmeess lliivvrreess aavveecc mmaa ccaarrttee ssoonn nnee ffoonnccttiioonn--
nneenntt--iillss ppaass ssoouuss ddoosseemmuu?
Hannu Savolainen (
[email protected]) expliquait le 21/03/94 :
dosemu et les programmes DOS s'executent sous le controle d'un systeme
d'exploitation en mode protege. Cela signifie que la memoire n'est pas
projetee de la maniere attendue par le programme. S'il reussit, d'une
maniere ou d'une autre, a commencer un enregistrement base sur la DMA
de la SB, le son enregistre n'arrive pas jusqu'a l'application. Il ne
fait que detruire des informations quelque part dans la memoire du
systeme.
James B. MacLean (
[email protected]) explique (19/06/94) :
Desole de vous decevoir, mais a l'heure actuelle dosemu ne supporte
pas directement les interceptions d'interruptions ou DMA generalement
necessaires a l'utilisation d'une carte son sous dosemu :-(.
Cela devrait cependant arriver dans un futur proche, cependant :-)
1100.. AAuuttrreess mmaatteerriieellss
1100..11.. CCoommmmeenntt ffaaiirree ffoonnccttiioonnnneerr mmoonn ppeerriipphheerriiqquuee xxxxxxxxxx aavveecc ddoosseemmuu?
Corey Sweeney (
[email protected]) expliquait le 30/05/94 :
Voici un compte rendu de mes tentatives pour faire fonctionner des
peripheriques avec dosemu. J'ai reussi a faire fonctionner
correctement mon systeme de courrier vocal, et mon scanner fonctionne
a moitie. Voici ce qu'il faut faire :
1. Regarder dans le manuel si la carte utilise des ports. Si oui, les
inclure dans la ligne "ports" du fichier de configuration.
Attention au fait que, quelquefois, plusieurs ports sont utilises
mais seul le premier est documente.
2. Essayer. Si cela ne marche pas, ou en l'absence de manuel (ou si
celui-ci est aussi interessant que mon manuel AT&T :), lancer
dosemu par "dos -D+i 2> /tmp/io.debug". Lancer les logiciels dedies
au peripherique utilise, et sortir de dosemu. Regarder dans
/tmp/io.debug tous les numeros de ports. Essayer de les ajouter au
fichier de configuration et essayer a nouveau.
3. Si cela ne marche toujours pas, le peripherique utilise peut-etre
des interruptions. Trouver l'interruption en question et installer
le paquetage SIG.tgz (Silly Interrupt Generator) disponible sur
tsx-11.mit.edu apres avoir lu les instructions.
Et c'est tout...
Question : Et si ma carte utilise le DMA?
1111.. PPrroobblleemmeess eett ssoolluuttiioonnss
1111..11.. ddoosseemmuu ss''eesstt ppllaannttee eett jjee nnee ppeeuuxx pplluuss rriieenn ttaappeerr
Daniel Barlow(
[email protected]), 08/04/95
Si vous ne pouvez pas vous connecter depuis le reseau ou sur un autre
terminal, il y a de fortes chances pour que vous soyez oblige
d'appuyer sur le bouton Reset. Si vous reussisez tout de meme a
obtenir un shell utilisable, lancez "kbd_mode -a" pour sortir le
clavier du mode direct, et/ou "stty sane" sur la console pour voir ce
que vous tapez.
Le plus simple est de se faire un script pour lancer dosemu, qui lance
automatiquement "kbd_mode -a" juste apres dosemu. Quand dosemu se
plante, le script recupere la main et execute la commande "kbd_mode
-a".
1111..22.. JJ''aaii mmiiss ddee ll''EEMMSS ddaannss ddoosseemmuu..ccoonnff, mais cela ne fait rien.
Rob Janssen (
[email protected]) (11/07/94) :
N'oubliez pasde charger ems.sys depuis le config.sys.
1111..33.. CCoommmmeenntt mmee ddeebbaarraasssseerr ddee ttoouuss cceess mmeessssaaggeess ""ddiisskk cchhaannggee"?
(11/08/94)
Installez klogd.
sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz
1111..44.. aapprreess eettrree rreevveennuu eenn mmooddee ccoonnssoollee?? PPoouurrqquuooii ddoosseemmuu refuse-t-il
de se lancer une deuxieme fois
Aldy Hernandez (
[email protected]) (7/8/94) :
Vous devriez desactiver le cache de votre carte video et/ou de votre
BIOS.
1111..55.. PPoouurrqquuooii ddoosseemmuu fonctionne-t-il dans un xterm mais pas sur la
console?
JyiJiin Luo (
[email protected]) expliquait le 19/04/94 :
J'ai eu exactement le meme probleme. J'ai decouvert que tout le cache
de la memoire video devait etre invalide. Maintenant, dosemu
fonctionne parfaitement.
1111..66.. CCoommmmeenntt aacccceelleerreerr ddoosseemmuu?
Dans certains cas, il peut etre utile de jouer avec le parametre
HogThreshold dans dosemu.conf.
Daniel Barlow(
[email protected]), 08/04/95
HogThreshold devrait etre positionne environ a la moitie du nombre de
BogoMips donne au demarrage du syteme.
1111..77.. MMoonn lleecctteeuurr ddee CCDD--RROOMM aa qquueellqquueeffooiiss ddeess pprroobblleemmeess ppoouurr aacccceeddeerr
aa cceerrttaaiinnss ffiicchhiieerrss ssoouuss ddoosseemmuu.
Vinod G Kulkarni (
[email protected]) expliquait le 07/04/94 :
Quand un CDROM est monte depuis Linux et utilise depuis dosemu
(lecteur redirige), il peut y avoir quelques problemes. Le pilote de
CDROM (iso9660) du noyau tente de determiner le type de fichier
(binaire ou texte). S'il ne reussit pas, il essaye de determiner ce
type en utilisant une methode heuristique. Cette methode echoue dans
certains cas, generalement quand un fichier texte est traite comme un
fichier binaire (je ne sais pas si c'est un bogue ou une
fonctionnalite).
Quoi qu'il en soit, il en resulte que la copie d'une tel fichier
depuis le CDROM (depuis Linux lui-meme, et pas necessairement depuis
dosemu) genere un fichier cible generalement plus gros que le fichier
source. (Des espaces sont ajoutes avant ^J,^M.) C'est pourquoi un
programme tournant sous dosemu produit des messages d'erreurs ou se
plante, ce qui peut etre pris, a tort ("t"), pour un probleme de
dosemu.
Rob Janssen (
[email protected]) (10/08/94) :
La solution a ce probleme est de desactiver la conversion. Utiliser
l'option "-o conv=binary" a la commande mount pour le CDROM, ou la
specifier dans /etc/fstab :
/dev/cdrom /cdrom iso9660 conv=binary,ro
Aucune modification du noyau n'est necessaire.
1111..88.. CCoommmmeenntt oobbtteenniirr ddeess iinnffoorrmmaattiioonnss ddee ddeebboogguuaaggee??
Daniel Barlow(
[email protected]), 08/04/95
En ce qui concerne dosemu0.60, les informations de deboguage sont
stockes dans un fichier precise en argument sur la ligne de commande.
Utiliser "dos -D+a -o /tmp/debug" pour stocker tous les informations
de deboguage dans /tmp/debug. Il ne devrait plus y avoir besoin de
rediriger stderr.
1111..99.. PPoouurrqquuooii lleess ccaarraacctteerreess qquuee jj''eennttrree aauu ccllaavviieerr ssoonntt--iillss
aaffffiicchheess ddddeeeeuuuuxxxx ffooiiss??
Nick Holloway (
[email protected]) expliquait le 22/02/94 :
Apres avoir lance dos et apres avoir change quelques parametres avec
stty, j'avais des caracteres en double. Je peux maintenant en
expliquer la raison !
Cela arrive uniquement lorsque dos est lance sur la console avec
istrip positionne. Je pense que l'explication est que les codes
clavier bruts sont modifies par istrip, de telle maniere que les
evenement "relachement d'une touche" sont vus comme des evenements
"appui sur une touche".
Donc, il faut que istrip ne soit pas positionne pour utiliser les
codes claviers sur une console (ce ne serait pas une bonne idee pour
les lignes tty).
1122.. SSii vvoouuss vvoouulleezz ppaarrttiicciippeerr aauu pprroojjeett ddoosseemmuu
1122..11.. QQuuii eesstt llee ccoooorrddiinnaatteeuurr ddee ddoosseemmuu?
(3/18/94)
dosemu a ete concu d'apres le travail de Matthias Lautner et Robert
Sanders. James B. MacLean (
[email protected]) est le
coordinateur pour les prochaines versions de dosemu.
1122..22.. HHiissttoorriiqquuee ddee ddoosseemmuu
Version Date Personne
---------------------------------------------------------------
0.1 3 Septembre 1992 Matthias Lautner
0.2 13 Septembre 1992 Matthias Lautner
0.3 ??? Matthias Lautner
0.4 26 Novembre 1992 Matthias Lautner
0.47 27 Janvier 1993 Robert Sanders
0.47.7 5 Fevrier 1993 Robert Sanders
0.48 16 Fevrier 1993 Robert Sanders
0.48pl1 18 Fevrier 1993 Robert Sanders
0.49 20 Mai 1993 Robert Sanders
0.49pl2 18 Novembre 1993 James MacLean
0.49pl3 30 Novembre 1993 James MacLean
0.49pl3.3 3 Decembre 1993 James MacLean
0.50 4 Mars 1994 James MacLean
0.50pl1 18 Mars 1994 James MacLean
0.52 16 Juin 1994 James MacLean
0.60 9 Avril 1995 James MacLean
1122..33.. JJ''aaiimmeerraaiiss ppaarrttiicciippeerr.. QQuuii ddooiiss--jjee ccoonnttaacctteerr??
Le projet dosemu est un travail d'equipe. Si vous souhaitez y
participer, lisez le DPR (dosemu Project Registry). Il est disponible
par ftp dans dspsun.eas.asu.edu:/pub/dosemu.