30 août 2008

    FreeDOS

    Catégorie : Distribution     Tags :      0 Commentaire

    Retrouvez cet article dans : Linux Magazine Hors série 21

    Je suis loin d’être un spécialiste du (Free)DOS. D’aucuns auront certainement des avis techniques plus autorisés que moi, mais après de nombreuses installations de " vieilles brouettes ", j’ai retiré un attrait certain pour FreeDOS, sa rusticité et son potentiel,
    que je veux vous faire partager ou au moins connaître.

    J’ai acquis aussi un peu d’expérience des systèmes utilisables sur ces architectures pas si vieilles, comme Drinou ou NetBSD dont je vous parlerai bientôt.
    Il y a certainement d’autres choses encore à dire sur FreeDOS, mais beaucoup sont déjà dans les livres sur MS-DOS, compatibilité oblige, le reste viendra.
    Il faudra seulement faire attention, car FreeDOS évolue. Entre le début de la rédaction de cet article et sa publication, les images ISO ont changé, bien que toujours en version beta 9.

     

    À quoi ça sert ?

    Pour beaucoup, le DOS, ou Disk Operating System, appartient au passé de l’informatique personnelle.
    Il rappelle l’âge pas si lointain des 386 ou 486 et de nombreux souvenirs de jeux vidéo pour les pionniers. Il ne serait plus voué qu’à la nostalgie et au " sasfaitpu ".
    Depuis MS Windows pour les jeux courants, et depuis quelques années, GNU/Linux l’ont largement supplanté. Pourtant, une équipe d’irréductibles [1] continue encore et toujours à écrire et actualiser un DOS libre, sous licence GPL, aux possibilités prometteuses, FreeDOS [2].
    J’ai pu le tester autant sur des machines récentes, que sur des vieilles brouettes. Il permet, entre autres, 2 usages intéressants :
    émulation DOS dans un système récent de type Unix, et fournissant une couche logicielle ;
    installation comme système à part entière, avec même une interface graphique libre.
    Je parlerai surtout de la deuxième utilisation, plus facile à tester. On peut noter aussi que le CD-ROM permet le fonctionnement en CD-ROM vif " à la Knoppix ", toutes proportions gardées.

    Interfaces graphiques ?

    Il ne s’agit pas de clones de MS Windows 3.x. Des essais d’installation de cette interface ont été effectué, mais FreeDOS étant encore en version beta, il semblerait que la manipulation ne soit pas encore à portée de tout le monde [3]. (Un ex-ingénieur de chez Microsoft rencontré à Solution Linux 2005, spécialiste du DOS et intéressé à titre technique par ce projet, m’a confirmé qu’en l’état ce n’était pas possible).
    J’ai pu tester 2 interfaces libres, SEAL et OpenGEM. Là aussi, on est encore dans du beta, mais déjà bien avancé et prometteur. Il semblerait malheureusement que ces projets manquent de contributeurs et n’avancent pas aussi vite que souhaitable.

    SEAL

    SEAL est faite par un Anglais, entouré d’une petite équipe. Son aspect est très différent de celui de Windows, et on sent de très bonnes capacités d’affichage. Méfiez-vous seulement de son logiciel de dessin. Sur la dernière machine testée, on ne pouvait pas en sortir.
    Il fallait donc éteindre le système brutalement ! Le fichier zip, malheureusement, ne tient pas sur une disquette.
    On peut trouver SEAL sur Internet ou sur le CD-ROM de GNU/Linux pratique de janvier 2005, avec l’image de OpenGEM [4], encore plus lourde.

    /img-articles/lmhs/21/art-5/fig-1.jpg

    OpenGEM

    OpenGEM ressemble à une ancienne interface de Mac (NDLR : Gem était également l’interface graphique de l’Atari ST).
    Il est très réactif, et comporte une petite suite bureautique, traitement de texte et tableur, suffisante pour le quotidien d’une école primaire.

    Ligne de commande de FreeDOS

    Elle reste une ligne de commande DOS, qui permet donc les scripts .BAT. Elle comporte de nombreux avantages du bash comme le complément de noms avec la touche [TAB], ou l’historique des commandes avec la flèche vers le haut.
    En fait, de nombreux utilitaires Linux en ligne de commande ont été portés sous (Free)DOS, comme dd, wget, cdrecord, etc..

    On les trouvait dans la version beta 8, qui ambitionnait d’être une véritable distribution.
    La version beta 9 est plus légère, 9,2 Mo au lieu de 50 Mo. Elle peut lancer plus facilement des applications. Sans doute les contributeurs ont-ils désiré se centrer sur cet aspect.

    Supports de chargement

    On peut charger typiquement une image de disquette, et une image de cédérom. Les 2 sont intéressantes.
    Il existe en fait 2 images de disquet-tes.

    • La disquette d’installation de FreeDOS, le boot ultime.

    On trouve son image fdos1440.img, à l’adresse : http://www.freedos.org/freedos/files/
    C’est elle que j’utilise au chapitre suivant.
    Elle est vraiment remarquable par les options qu’elle propose, lancement de FreeDOS (normal), test de l’état la mémoire vive (bien), et émulateur de BIOS (remarquable !).

    • Le mini système odin0.6 : http://odin.fdos.org/

    /img-articles/lmhs/21/art-5/fig-2.jpg

    C’est là une petite distribution, qui peut recevoir le clavier français par la commande DOS classique „KEYB FR“.

    Elle est utilisée entre autres par le projet abuledu[5], pour installer un système minimum sur un disque dur, démarrant ensuite en terminaux. (Lecture de ce site Internet recom-mandé).

    Installer FreeDOS

    Langue

    Presque tout est en anglais. Il existe des versions partiellement traduites en espagnol ou en néerlandais. A quand une équipe de traduction francophone ? Peut-être cet article est-il une occasion de la fonder ?

    /img-articles/lmhs/21/art-5/fig-3.jpg

    FreeDOS contient de nombreux scripts au format texte, facilement traduisibles sans difficulté technique. Probablement que l’équipe de FreeDOS verrait d’un bon œil une équipe francophone se constituer.
    Déjà, quelques membres de mon Lug [6] m’ont proposé leur aide pour vérifier la vraisemblance technique. On recherche donc surtout des traducteurs, même sans connaissances informatiques particulières.
    On vérifie encore que les Logiciels libres peuvent se faire par une communauté qui dépasse largement le cercle restreint des informaticiens purs et durs.

    Méthode

    La richesse du système permet parfois d’avoir plusieurs méthodes d’installation. En fait, c’est la nature de la machine et la configuration souhaitée qui vont souvent imposer le choix de la méthode.
    J’ai choisi d’en exposer une assez générale, sans rentrer dans le détail de toutes les possibilités, que chacun pourra en fait découvrir facilement.

    Démarrage

    Si la machine l’autorise, on peut démarrer avec le CD-ROM. Son image est sur le CD-ROM de la revue, mais peut aussi être chargée à :

    http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/beta9/

    Mais je conseillerais de faire la préparation du disque dur avec la disquette. On peut avoir aussi un jeu de disquettes à :

    http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/beta9/disk1440/

    Si la machine, ou simplement le lecteur, ne permet pas le démarrage sur CD-ROM, alors on lance classiquement le système sur la disquette, " à l’ancienne ".
    Pour le premier démarrage, le CD-ROM n’est pas nécessaire puisqu’on se contente de préparer la partition choisie.
    Tout d’abord, un menu à plusieurs choix apparaît. Il correspond au chargeur de démarrage metakern.
    On a :

    • 1 Démarrage vers un noyau qui offre des options intéressantes, gestion de la mémoire étendue, pilotes de CD-ROM, si vous avez un 386 ou plus!
    • 2 Démarrage plus rustique, directement vers le KERNEL.SYS.

    On peut choisir aussi de lancer le système sur la disquette A, ce qui permet de la remplacer (!), ou sur le disque C, si un système s’y trouve.
    Le choix 1 est pris par défaut. Attention, cette étape est très vite franchie. mais il suffit d’appuyer sur quelques touches (j’utilise les flèches) pour retarder la fin de cette étape.
    Le choix1 renvoie sur un menu à 4 options.

    1) FreeDOS Beta9-final [2004-September-28]
    2) Smart Boot Manager (replaces any failing boot-from-cederom BIOS code)
    3) Memtest86+ v1.26 (tests the correctness of your RAM)
    4) Experimental

    Ces options sont décrites dans le fichiers syslinux.cfg, qui est un exemple de fichier texte facile à traduire.
    Le 4ième choix envoyait vers *ReactOS, un système libre qui ambitionne de remplacer Windows NT [7].  Mais entre le début de rédaction de cet article et le bouclage du journal, la disquette d’installation avait déjà changé (!), et maintenant c’est vers un noyau expérimental.
    Le 3ième permet de lancer un test de la mémoire vive, pour détecter les barrettes défectueuses.
    Le 2ième lance un émulateur de BIOS, qui permet de lancer un CD-ROM d’installation, même sur de vieilles machines qui n’ont pas cette option.
    Je l’ai testé aussi bien avec GNU/Linux (Mandrake, Drinou, Debian) qu’avec NetBSD ou FreeDOS.
    En fait, peu de matériels y sont réfractaires.
    A l’expérience, si ça ne marche pas, on peut soupçonner le lecteur de CD-ROM, et tenter de le changer le temps de l’installation.
    Et le premier menu, enfin, lance fdboot.img, qui contient entre autres ce menu :
    Soit :

    /img-articles/lmhs/21/art-5/fig-4.jpg

    1. Boot FreeDOS SETUP (default configuration)
    2. FreeDOS Safe Mode (skip driver loading)
    9. Run setup with user-specified storage driver(s)
    • 1. Démarrage de la configuration de FreeDOS.

    C’est le choix par défaut.

    • 2. FreeDOS en mode "sans échec", sans divers pilotes.
    • 9. Démarrage pour les configu-rations spéciales (ce choix sert en particulier pour les disques durs SCSI).

    Pourquoi un choix 9 ? Parce que de nombreuses options ont été testées, avec ou sans gestion de la mémoire étendue, avec ou sans lancement des pilotes du lecteur de CD-ROM, etc.
    Puisqu’on vous dit que FreeDOS est un système en pleine évolution !

    Préparation du disque dur

    Prenons le choix 2 pour préparer le disque dur. On accède à la ligne de commande FreeDOS, ce qui permet de lancer un formatage.

    A:\format c: /U

    (N.B. : Si la machine démarre sur le CD-ROM, cette étape est aussi réalisable, et parfois nécessaire).
    Le format de FreeDOS est un formatage rapide par défaut, qui réécrit les adresses du système de fichiers. L’option /U le transforme en formatage plus bas niveau comme celui de MS-DOS.
    Attention, on est en clavier QWERTY, donc avec les équivalences suivantes :
    “a“ est obtenu par “q“
    “:“ par “M“
    “m“ par “,“
    “/“ est dans le pavé numérique, sinon taper “!“)
    On peut aussi formater avec la disquette de Windows 98, puisque FreeDOS gère la FAT32. Si vous avez la licence, l’avantage pour un débutant est qu’elle est en français. Mais on peut espérer une traduction de FreeDOS.
    On doit ensuite lancer :

    A:\SYS C:

    Cela copie les fichiers système. Procéder de cette manière assurera que le système accèdera au redémarrage aux scripts fdconfig.sys et autoexec.bat, et donc aux pilotes de CD-ROM. Sinon, un noyau fonctionnera, mais ne pointera pas correctement.

    /img-articles/lmhs/21/art-5/fig-5.jpg

    Si on a démarré avec la disquette, le mieux est alors de redémarrer et d’utiliser le CD-ROM. Si le PC ne démarre pas dessus, ce n’est pas grave, la disquette le lancera automatiquement pendant la procédure d’installation. De nouveau, prendre les menus 1 par défaut (3 fois taper 1), si on a plus puissant qu’un 386. Le CD-ROM de FreeDOS est alors automatiquement lancé, et propose un menu à 5 entrées.
    On prendra :

    Configure freeDOS Installation settings

    Le menu suivant propose :
    Start installation of FreeDOS beta9 (démarrer l’installation de FreeDOS beta9)
    Localize language, keyboard and display (choisir la langue, le clavier, et l’affichage)
    ...
    On commencera par le menu 2 si on veut utiliser un clavier français.
    Dans la liste des localisations alors proposée, choisir 8 pour la France. Puis on revient au menu précédent, où il est temps de lancer l’installation proprement dite. Suivant les machines, on verra ou non une interface graphique d’installation, avec souris, se lancer, ou on devra faire la suite au clavier. Dans les 2 cas, c’est simple comme de cliquer sur [Next] (Suivant) plusieurs fois. L’installation peut se faire aussi avec un jeu de disquettes, dont les images sont sur le CD-ROM de FreeDOS.

    Configuration

    Pour avoir une installation qui gère bien la mémoire et l’accès aux différents appareils (devices) comme le lecteur de CD-ROM ou la carte son, il faut que les fichiers config.sys et autoexec.bat (script exécutable) soient correctement rédigés. CONFIG.SYS particulièrement gère les pilotes de mémoire. Il faut rappeler que DOS, prévu pour de petites machines qui devaient être des terminaux autonomes de serveurs…UNIX, ne gère par défaut que 640 Ko pour l’exécution des programmes. On utilise donc des pilotes de mémoire comme HYMMEM.SYS [8], que charge le CONFIG.SYS.
    Voici celui que j’utilise, sur un Pentium 75 avec 24 Mo de RAM. Il est certainement améliorable. (Je propose d’ailleurs une " bourse des CONFIG.SYS et AUTOEXEC.BAT " où vous m’enverrez vos exemples, qui seront affichés sur une page Web).

    LASTDRIVE=Z
      BUFFERS=20
      FILES=40
      DOS=HIGH,UMB
      DEVICE=C:\FDOS\BIN\HIMEM64.EXE
      DEVICE=C:\FDOS\EMM386.EXE NOEMS
      DEVICE=C:\bin\atapicdd.sys /d:FDCD0001
      SHELLHIGH=C:\COMMAND.COM /E:256 /P

    La ligne 7 correspond au chargement du pilote de lecteur de CD-ROM.
    Pour l’AUTOEXEC.BAT, j’ai :

    @echo off
    SET dosdir=C:\
    set PATH=%dosdir%\bin
    set NLSPATH=%dosdir%\NLS
    set HELPPATH=%dosdir%\HELP
    set temp=%dosdir%\temp
    set tmp=%dosdir%\temp
    SET BLASTER=A220 I5 D1 H5 P330
    LH DISPLAY CON=(EGA,,1)
    MODE CON CP PREP=((858) %dosdir%\cpi\EGA.CPX)
    MODE CON CP SEL=858
    REM DEVLOAD /Q /H C:\\bin\atapicdd.sys /D:FDCD0001
    C:\bin\shsucdx /d:FDCD0001,d
    
    LH KEYB FR,,C:\\bin\KEY\FR.KL
    echo type HELP to get support on commands and navigation
    echo.
    echo Welcome to FreeDOS
    echo.
    mouse

    La ligne relative au lecteur de CD-ROM est C:\bin\shsucdx /d:FDCD0001,d
    La ligne commençant par REM est en fait commentée (non active).
    (N.B. : Mes exécutables sont dans un répertoire C:\bin\.)
    Souvent ils seront installés par défaut dans C:\fdos\bin\
    Il faut donc modifier les chemins en conséquence, et adapter à votre machine. Lors du premier démarrage, FreeDOS beta 9 pose diverses questions pour paramétrer CONFIG.SYS, mais en anglais et il est rapide de faire une erreur.
    On pourra donc installer sur une machine comparable mes 2 fichiers de configuration (à vos risques et périls naturellement. Je le répète, je ne suis pas expert DOS.
    Pour un service professionnel, adressez-vous à un professionnel qui vous fera un devis pour ses interventions) [9].

    Installation des interfaces graphiques

    SEAL[10] : À utiliser à partir d’un 486. Il faut classiquement chercher le fichier exécutable install.exe et le lancer. Baddesktop change l’aspect de SEAL en mettant la barre de menu en bas, à la KDE/Icewm/MS Win9x.
    Ensuite, on lance par la commande seal (attention de bien localiser l’exécutable seal.exe).
    OpenGEM : De même, on actionne un INSTALL.BAT, qui se chargera de tout. Ensuite, on utilise la commande gem pour lancer OpenGEM.

    Applications

    De nombreuses applications DOS existantes, entre autres des logiciels pédagogiques, ont été testées avec succès.  J’ai pu vérifier par exemple que rawrite fonctionne parfaitement. Pour les joueurs, il existe une page de conseils de configuration (en anglais). Une disquette de jeux éducatifs française est même diffusée : Jeux EPI-FreeDOS.

    Conclusion

    Les vieilles brouettes ont donc encore de beaux jours devant elles avec ce système.
    J’espère que cet article aidera à connaître et essayer ce système.
    J’espère aussi qu’il sera l’occasion d’amener des lecteurs à contribuer à l’amélioration de la traduction et l’adaptation de FreeDOS, pour qu’il devienne vraiment accessible à un public francophone.

    Références:

    • [1] http://fd-doc.sourceforge.net/manifsto/fr/manifsto.htm
    • [2] http://www.freedos.org ou miroir français: http://www.b0zx4.free.fr/
    • [3] http://www.freedos.org/freedos/news/technote/161.html
    • [4] http://gem.shaneland.co.uk/
    • [5] http://docs.abuledu.org/article130.html
    • [6] http://www.euskalug.org/
    • [7] http://www.reactos.com/
    • [8] http://1100f.free.fr/Batchs/le_fichier_himem_sys.htm
    • [9] http://www.milec.com/
    • [10] http://sealsystem.sourceforge.net/
    • [11] http://freedos.sourceforge.net/gamers/
    • [12] http://www.ofset.org/jeux-epi

    Retrouvez cet article dans : Linux Magazine Hors série 21

    Posté par (La rédaction) | Signature : Jean-Christophe Monnard | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.