Programmer sous FreeDOS 1.4

FreeDOS 1.4 est sorti en avril 2025.

Quelques notes, pour mémoire.

Site officiel
Dépôts officiels FreeDOS
Site YouTube FreeDOS

Après avoir installé la version minimale de FreeDOS 1.4 dans VirtualBox, je monte l’image du BonusCD (téléchargée depuis le site officiel sous le nom FD14BNS.iso) dans le lecteur optique virtuel de la machine.

FDIMPLES est un outil visuel et interactif de FreeDOS qui permet de parcourir, installer et supprimer des paquets inclus sur les supports de distribution de FreeDOS (comme les CD Live, BonusCD, etc.). Il s’agit d’un gestionnaire de paquets qui lit les médias d’installation pour identifier les logiciels disponibles à l’installation ou à la suppression. Pour l’utiliser, il suffit de lancer la commande FDIMPLES depuis l’invite de commandes de FreeDOS.

Pour programmer, j’ai choisi le compilateur Open Watcom C/C++et l’ éditeur de texte FED car il permet de plier / déplier le code. J’ai également installé l’assembleur NASM et l’éditeur hexadécimal uHex.

Dans C:\>FDAUTO.BAT, je rajoute à la fin :

cd PERSO

REM *** FED 2.24c ***
alias fed=C:\APPS\FED\FED.EXE

REM *** OPEN WATCOM C/C++ 1.9 ***      => à mettre en dernier
C:\DEVEL\WATCOMC\OWSETENV.BAT

Mémo FED :
Alt pour accéder au menu
CTRL-C pour fermer
CTRL-F pour plier / déplier le code

En pratique, pour être efficace, je n’utilise pas l’éditeur de texte sous FreeDOS :
1 – Je code avec mon éditeur sous Debian.
2 – Dans VirtualBox, Je vérifie que la machine virtuelle FreeDOS 1.4 est éteinte.
3 – J’exécute ce fichier bash (Vers FreeDOS.sh), le paquet libguestfs-tools étant installé :

mkdir ~/VHD
cd "/media/$USER/Fichiers Eric/VirtualBox/FreeDOS 1.4"
guestmount -a "FreeDOS 1.4.vhd" -m /dev/sda1 ~/VHD
cp -R "/media/$USER/Fichiers Eric/VirtualBox/FreeDOS 1.4/PERSO" ~/VHD
guestunmount ~/VHD
rm -r ~/VHD

4 – Dans VirtualBox, je démarre la machine virtuelle FreeDOS 1.4
5 – Sous FreeDOS, je compile mon fichier source avec : wcl source.c -q

Mon programme de test du mode 13h est ici : https://github.com/eserandour/Test_Open_Watcom_FreeDOS

https://allthingsopen.org/articles/how-to-write-your-first-freedos-program
https://www.both.org/?p=12007
https://opensource.com/article/21/9/programming-dos-conio

Installation de VirtualBox 7.2.6 dans Debian 13

Au préalable, aller dans le BIOS :
Avancé > Configuration Processeur > Technologie Intel Virtualization > Active

Site officiel : https://www.virtualbox.org

Télécharger VirtualBox (7.2.6) et VirtualBox Extension Pack (7.2.6) :
=> https://download.virtualbox.org/virtualbox/7.2.6/virtualbox-7.2_7.2.6-172322~Debian~trixie_amd64.deb
=> https://download.virtualbox.org/virtualbox/7.2.6/Oracle_VirtualBox_Extension_Pack-7.2.6.vbox-extpack

Dans la console :

cd Téléchargements
wget https://download.virtualbox.org/virtualbox/7.2.6/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
sudo gdebi virtualbox-*.deb

Ouvrir VirtualBox et installer l’extension téléchargée précédemment :
Paramètres > Extensions > Ajoute une nouvelle extension

Dans la console :

Pour connaître les versions installées de headers / image :
uname -a
apt policy linux-headers-amd64 linux-image-amd64
Installation :
sudo apt-get install linux-headers-amd64
sudo apt-get install linux-image-amd64

Redémarrer l’ordinateur.

Dans la console :

cd /sbin
sudo ./vboxconfig

Erreur rencontrée et résolution :

VT-x is being used by another hypervisor (VERR_VMX_IN_VMX_ROOT_MODE). VirtualBox can’t operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE).

Vérifier si KVM est activé :

lsmod | grep kvm

Désactiver KVM temporairement :

sudo modprobe -r kvm_intel  # Pour les processeurs Intel
sudo modprobe -r kvm_amd    # Pour les processeurs AMD

Désactiver KVM de manière permanente (optionnel) :

sudo nano /etc/modprobe.d/blacklist-kvm.conf
Ajouter les lignes suivantes dans ce fichier pour bloquer KVM :
blacklist kvm
blacklist kvm_intel
blacklist kvm_amd

Redémarrer l’ordinateur.

On peut maintenant installer des machines virtuelles…

Si besoin, installer les Additions invité sur la machine virtuelle (permet notamment le partage de dossiers entre l’hôte et l’invité).

Pour une désinstallation complète de VirtualBox :

sudo apt remove --purge virtualbox* -y