Le HOWTO dosemu Edite par Mike Deisher (deisher@dspsun.eas.asu.edu) v0.60pl3, 17 Avril 1995 Ceci est la traduction francaise (-- Traduction : Thomas Parmelan --) 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 Majordomo@vger.rutgers.edu avec, dans le corps du message, la ligne suivante : subscribe linux-msdos-digest votre_nom@votre.adresse.email Si jamais vous desirez vous desabonner de la liste, vous pouvez envoyer un mail a Majordomo@vger.rutgers.edu avec la commande suivante dans le corps de votre message : unsubscribe linux-msdos-digest votre_nom@votre.adresse.email 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 (am20@unix.york.ac.uk) 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 deisher@dspsun.eas.asu.edu. 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 deisher@dspsun.eas.asu.edu; signaler les erreurs de traduction a Thomas.Parmelan@darshiva.efrei.fr. ] 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 gregh@cc.gatech.edu. (-- NDT: En ce qui concerne les traductions francaises, contacter Xavier Cazin, le coordinateur francais, a xc@itp.fr.--) 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 gregh@cc.gatech.edu. 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 (leisner@sdsp.mc.xerox.com, 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 (leisner@sdsp.mc.xerox.com, 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 (leisner@sdsp.mc.xerox.com, 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 (leisner@sdsp.mc.xerox.com, 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 (leisner@sdsp.mc.xerox.com) 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 (jmaclean@fox.nstn.ns.ca), 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 (Tim_R_Bird@Novell.COM) 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 (rw11258@xx.acs.appstate.edu) 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 (thomas@aztec.co.za) (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 (q99492@pbhrzx.uni-paderborn.de) 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 (moffatd@dcs.gla.ac.uk) 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 (tk@pssparc2.oc.com) 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 (mdrejhon@magi.com), 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 (rob@pe1chl.ampr.org) expliquait le 24/03/94 : D'apres jmorriso@bogomips.ee.ubc.ca, "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 (taylor@pollux.cs.uga.edutt) 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 (dennisf@flaherty.elk.miles.com, 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 (corey@amiganet.xnet.com) 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 (newcombe@aa.csc.peachnet.edu) 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 (danny@dragon.s.bawue.de) 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 (braun@math20.mathematik.uni-bielefeld.de) 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 (jmaclean@fox.nstn.ns.ca) 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 (jmaclean@fox.nstn.ns.ca) 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 (ltischler@fipower.pp.fi) 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 (R.Schalk@uci.kun.nl) expliquait le 17/01/94 : Oui, sans aucun probleme. Il suffit de se rappeler qu'il faut utiliser Ctrl-Alt- 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 (mdrejhon@magi.com), 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 (leisner@sdsp.mc.xerox.com), 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 (leisner@sdsp.mc.xerox.com), 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 (mdrejhon@magi.com), 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 (tridge@nimbus.anu.edu.au) 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 (tims@kcbbs.gen.nz) 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 (p86884@tcville.edsg.hac.com) 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 (hsavolai@cs.Helsinki.FI) 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 (jmaclean@fox.nstn.ns.ca) 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 (corey@bbs.xnet.com) 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(jo95004@sable.ox.ac.uk), 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 (rob@pe1chl.ampr.org) (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 (aldy@sauron.cc.andrews.edu) (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 (jjluo@casbah.acns.nwu.edu) 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(jo95004@sable.ox.ac.uk), 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 (vinod@cse.iitb.ernet.in) 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 (pe1chl@rabo.nl) (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(jo95004@sable.ox.ac.uk), 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 (alfie@dcs.warwick.ac.uk) 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 (jmaclean@fox.nstn.ns.ca) 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. .