6.6 KiB
Voici une version améliorée et plus pédagogique de ta documentation, avec les sections demandées sur l'installation en VM sous Linux, le montage d'images de disquettes et le partage de dossier.
FreeDOS
FreeDOS est un système d'exploitation libre et open source compatible avec MS-DOS. Il permet d'exécuter de vieux programmes et jeux des années 80-90 sur du matériel moderne ou dans une machine virtuelle. Distribué sous licence GPL, il est entièrement gratuit et activement maintenu par sa communauté.
Cas d'usage typiques :
- Faire tourner d'anciens jeux DOS (Doom, Commander Keen, etc.)
- Exécuter des logiciels professionnels legacy (comptabilité, CAO ancienne)
- Flasher un BIOS depuis un environnement DOS
- Apprendre l'histoire de l'informatique
Installer FreeDOS dans une machine virtuelle sous Linux
L'approche en VM est de loin la plus pratique : pas de risque pour ton système, snapshots possibles, et configuration matérielle reproductible. Voici la méthode avec QEMU/KVM (natif Linux, léger) et VirtualBox (plus visuel).
Prérequis communs
Télécharge l'image ISO sur le site officiel : https://www.freedos.org/download/ (choisis le LiveCD ou FullUSB au format .iso).
Méthode 1 — QEMU (recommandée sous Linux)
Installation des paquets selon ta distribution :
# Debian / Ubuntu
sudo apt install qemu-system-x86 qemu-utils
# Fedora
sudo dnf install qemu-system-x86 qemu-img
# Arch
sudo pacman -S qemu-full
Crée un disque dur virtuel de 2 Go (largement suffisant pour DOS) :
qemu-img create -f qcow2 freedos.qcow2 2G
Démarre l'installation depuis l'ISO :
qemu-system-i386 \
-m 64 \
-hda freedos.qcow2 \
-cdrom FD13LIVE.iso \
-boot d
Une fois FreeDOS installé sur le disque virtuel, démarre directement dessus :
qemu-system-i386 -m 64 -hda freedos.qcow2 -boot c
64 Mo de RAM (
-m 64) suffisent largement — DOS n'utilise nativement que 640 Ko de mémoire conventionnelle.
Méthode 2 — VirtualBox
sudo apt install virtualbox # Debian/Ubuntu
- Nouvelle machine → Type : Other, Version : DOS
- RAM : 64 Mo, Disque dur : 2 Go (VDI, dynamiquement alloué)
- Dans les paramètres de la VM → Stockage → ajoute l'ISO de FreeDOS au lecteur optique
- Démarre la VM et suis l'installateur de FreeDOS
Monter des images de disquettes
Très utile pour faire tourner des vieux logiciels distribués en .img ou .ima.
Avec QEMU
Ajoute simplement l'option -fda (floppy A:) au lancement :
qemu-system-i386 -m 64 -hda freedos.qcow2 -fda jeu.img -boot c
Dans FreeDOS, le contenu sera accessible via A:. Tu peux aussi monter deux disquettes simultanément avec -fda et -fdb.
Avec VirtualBox
Dans Paramètres → Stockage :
- Ajoute un contrôleur Floppy s'il n'existe pas
- Attache ton fichier
.imgou.imacomme lecteur de disquette
Inspecter une image disquette directement sous Linux
Tu peux lire le contenu d'une image avant même de la monter dans la VM :
# Monter en lecture seule sur Linux hôte
sudo mkdir /mnt/floppy
sudo mount -o loop,ro disquette.img /mnt/floppy
ls /mnt/floppy
sudo umount /mnt/floppy
Pour créer une image de disquette vierge formatée FAT12 :
dd if=/dev/zero of=vierge.img bs=512 count=2880 # 1.44 Mo
mkfs.fat -F 12 vierge.img
Partager un dossier entre Linux et FreeDOS
C'est le point souvent bloquant : DOS ne connaît ni les partages réseau modernes, ni les Guest Additions. Voici trois approches qui fonctionnent.
Solution 1 — Image disque partagée (la plus simple avec QEMU)
Crée une image FAT que tu peux monter alternativement sous Linux et sous DOS :
# Créer une image de 100 Mo formatée FAT16
dd if=/dev/zero of=partage.img bs=1M count=100
mkfs.fat -F 16 partage.img
Côté Linux, pour y déposer des fichiers :
sudo mount -o loop partage.img /mnt/partage
sudo cp mon_programme.exe /mnt/partage/
sudo umount /mnt/partage
Côté QEMU, attache-la comme second disque :
qemu-system-i386 -m 64 -hda freedos.qcow2 -hdb partage.img -boot c
Dans FreeDOS, elle apparaîtra en D:.
⚠️ Évite d'écrire des deux côtés en même temps — démonte toujours du côté Linux avant de lancer la VM.
Solution 2 — Dossier partagé via QEMU -drive avec VVFAT
QEMU peut exposer un dossier Linux comme un disque FAT virtuel, sans avoir à le monter :
qemu-system-i386 -m 64 -hda freedos.qcow2 \
-drive file=fat:rw:/home/utilisateur/dossier_partage,format=raw
Le dossier dossier_partage apparaît comme un disque dans FreeDOS. Pratique mais à utiliser avec précaution : le mode rw (lecture/écriture) peut corrompre des fichiers si la VM crashe.
Solution 3 — Dossiers partagés VirtualBox
VirtualBox propose nativement des Shared Folders, mais ils ne fonctionnent pas directement sous DOS (pas de Guest Additions DOS). Il faut passer par un pilote tiers comme VBSF for DOS ou simplement utiliser la solution 1 (image disque attachée).
Astuces utiles
Transférer des fichiers ponctuellement : crée une ISO contenant tes fichiers et monte-la comme CD-ROM dans la VM :
mkisofs -o transfert.iso -J -R /chemin/vers/fichiers
Snapshots QEMU pour expérimenter sans risque :
qemu-img snapshot -c avant_test freedos.qcow2
# ... après expérimentation ratée :
qemu-img snapshot -a avant_test freedos.qcow2
Réseau dans FreeDOS : possible avec le paquet mTCP inclus dans FreeDOS — utile pour FTP, Telnet, ou IRC depuis ta VM.
Note sur la taille de l'image
Une image FreeDOS complète pèse environ 230 Mio, bien plus qu'une disquette 3,5" de 1,44 Mo. C'est parce qu'elle inclut un installateur, des utilitaires, des pilotes, et des programmes optionnels. L'installation finale sur disque peut tenir en moins de 20 Mo si tu sélectionnes uniquement le strict nécessaire (kernel + COMMAND.COM + quelques utilitaires).
À titre de comparaison historique : disquette 5,25" originale = 160 Ko, disquette 3,5" HD = 1,44 Mo, première version de MS-DOS = tenait sur une seule disquette.
Bibliographie
- Site officiel : https://www.freedos.org/
- Wiki d'installation VirtualBox : https://wiki.freedos.org/wiki/index.php/VirtualBox
- Documentation QEMU : https://www.qemu.org/docs/master/system/index.html
- mTCP (réseau sous DOS) : https://www.brutman.com/mTCP/
Veux-tu que je détaille un point précis — par exemple le partage réseau avec mTCP, l'optimisation de la mémoire EMS/XMS sous DOS, ou un script de lancement automatisé pour QEMU ?