DOS et Dosemu, notes diverses

ENTRAVAUX

Configuration Dosemu par défaut

Au premier lancement de dosemu par un utilisateur, il y a création du répertoire suivant:

  .dosemu
       run
       drives
           d -> /usr/lib/dosemu/drive_z
           c -> .dosemu/drive_c 
       drives_c
           tmp/
           config.sys -> /etc/dosemu/freedos/config.sys
           autoexec.bat -> /etc/dosemu/freedos/autoexec.bat

Au «boot», c'est le répertoire .dosemu/drive_c qui est considéré comme C:, et le répertoire /usr/lib/dosemu/drive_z comme D:. C'est ce dernier qui comprend les binaires du FreeDos et de dosemu.

Parmi ces binaires figure lredir qui permet d'assigner de nouveaux lecteurs; il fallait donc avoir accès à D: pour pouvoir l'invoquer, et assigner la lettre Z: à ce même répertoire au sein du config.sys.

Par la suite, dans l'autoexec.bat, on «dés-assigne» D:, puis on l'affecte au répertoire personnel de l'utilisateur. Puis on assigne E: au lecteur de cdrom.

Au final, on a donc

  Your DOS drives are set up as follows:
   A: floppy drive (if it exists)
   C: points to the Linux directory ~/.dosemu/drive_c
   D: points to your Linux home directory
   E: points to your CD-ROM drive, if it is mounted at /media/cdrom
   Z: points to the read-only DOSEMU and FreeDOS commands directory
  Use the LREDIR DOSEMU command to adjust these settings, or edit
  /etc/dosemu/dosemu.conf, ~/.dosemurc, c:\config.sys, or c:\autoexec.bat,
  or change the symbolic links in ~/.dosemu/drives.

Il n'y a pas de création automatique d'un fichier personnel .dosemurc; il faut donc copier le fichier /etc/dosemurc et l'adapter.

Choix entre plusieurs DOS via Dosemu

Un exemple de fichier .dosemurc qui permet d'avoir le choix entre plusieurs DOS tout en conservant des répertoires ou des lecteurs communs.

En insérant une section

  ifdef u_xxx 
  endif 

tout ce qu'elle contient ne sera pris en compte que si on passe l'option -u xxx à dosemu. Avec ce fichier, pour lancer dosemu avec un dos auttre que le FreeDos, on utilise donc:

  $ xdosemu -u alt -u msdos
  $ xdosemu -u alt -u drdos

etc.

  ifdef u_alt
    ifdef u_msdos
      $_hdimage = "hdimage_MSDOS622 /usr/lib/dosemu/drive_z"
      $_X_title = "MS-DOS 6.22"
    endif
    ifdef u_drdos
      $_hdimage = "hdimage_DRDOS /usr/lib/dosemu/drive_z"
      $_X_title = "Caldera DR-DOS 7.03"
    endif
    ifdef u_pcdos
      $_hdimage = "hdimage_PCDOS /usr/lib/dosemu/drive_z"
      $_X_title = "PC DOS Version 7.0"
    endif
  else
    $_X_title = "FreeDOS"
  endif
  
  $_floppy_a = "threeinch:/home/gv/.dosemu/floppy.img"
  $_lpt1 = "lp -d DOS"

Ce qui se trouve après le dernier endif est commun à tous les cas, soit l'emplacement de la disquette et le choix de l'imprimante.

En ce qui concerne les lecteurs, on a

mais ce dernier sera réaffecté avec lredir dans l'autoexec.bat:

  SET DOSDRIVE_D=/media/cdrom
  SET DOSDRIVE_E=/home/gv/DOS
  LREDIR DEL D: > NUL
  LREDIR D: linux\fs%DOSDRIVE_D%
  LREDIR E: linux\fs%DOSDRIVE_E%

Donc au final, D: représente le lecteur de cdrom, et E: un répertoire de l'arborescence sous Linux, où les applications seront installées.