{{tag>application virtualisation vm kvm qemu dos}} ====== KVM : Installer MS-DOS 6.22 ====== :TODO_DOCUPDATE: # creation du disque mkdir ~/KVM/ms-dos6.22 cd ~/KVM/ms-dos6.22 qemu-img create -f qcow2 vda 500M Création de la VM avec **virt-install** : virt-install --name dos \ --metadata title="MS-DOS 6.22",description="Microsoft DOS 6.22" \ --osinfo msdos6.22 \ --machine pc --cpu 486 --memory 64 --vcpu 1 \ --graphics vnc \ --sound sb16 \ --install no_install=yes \ --boot fd,hd,bootmenu.enable=on \ --disk device=floppy,bus=fdc \ --disk path=/home/yoann/KVM/ms-dos6.22/vda,format=qcow2 \ --disk device=cdrom,bus=ide \ --autoconsole graphical La procédure d'installation se lance automatiquement lors de la mise sous tension de la VM. Pour charger la deuxième disquette demandée par l'installateur : virsh change-media --domain ms-dos6.22 fda --eject virsh change-media --domain ms-dos6.22 fda --source /home/yoann/KVM/install_files/ms-dos6.22-d2.ima --insert On procède de la même manière pour introduire l' image de la disquette 3. En fin de procédure, on retire la dernière disquette Retirer la disquette 1 présente dans la configuration de la VM. Le lecteur fda est préservé mais sera vide au prochain démarrage : virsh change-media --config --domain ms-dos6.22 fda --eject # Pour vérifier que le lecteur est bien vide virsh domblklist --domain ms-dos6.22 Arrêter la VM # NB : pas d'effet de virsh shutdown virsh destroy ms-dos6.22 Modifier la séquence de boot pour démarrer directement sur le disque interne : virsh edit --domain ms-dos6.22 Tester le système : virsh start ms-dos6.22 remote-viewver vnc://localhost ===== Support du CD-ROM ===== Avant de modifier les fichiers de configuration, sauvegarder l'état de la VM : virsh snapshot-create --domain ms-dos6.22 En cas d'erreur, on pourra facilement retourner à l'état initial avec la commande ''virsh snapshot-revert'' Copier les pilotes ''OAKCDROM.SYS'' dans le dossier ''C:\DRIVERS\CDROM'' puis modifier le fichier ''C:\CONFIG.SYS'' Ajouter la ligne : DEVICEHIGH=C:\DRIVERS\CDROM\OAKCDROM.SYS /D:CD01 Modifier le fichier AUTOEXEC.BAT, ajouter la ligne en début de fichier : LH C:\DOS\MSCDEX.EXE /D:CD01 Redémarrer la VM depuis le système hôte : virsh reset --domain ms-dos6.22 La VM détecte à présent le lecteur CDROM : {{dos-boot-cdrom-detected.png}} ===== Support de la souris ===== MS-DOS 6.22 n'est pas fournit par défaut avec le support de la souris. Le projet [[https://cutemouse.sourceforge.net/|CuteMouse]] propose des pilotes compatibles, entre autre, avec l' environnement virtualisé KVM/QEMU. cd /tmp wget "http://cutemouse.sourceforge.net/download/cutemouse21b4.zip" # Création d'une image disque mkfs.msdos -C ctmouse2.1.img 1440 # Monter l'image et décompresser l'archive sudo mount -t msdos -o loop,rw,uid=1000,gid=1000 ctmouse2.1.img /mnt/ unzip cutemouse21b4.zip -d /mnt/ sudo umount /mnt Monter l'image disque précédemment créée dans le lecteur de disquette de la VM : # Utiliser le chemin complet vers l'image virsh change-media ms-dos6.22 fda /full/path/to/ctmouse2.1.img --insert Depuis le système invité : A: CD BIN CTM-FR Ejecter le disque virtuel et redémarrer la VM : virsh change-media ms-dos6.22 fda --eject virsh reset ms-dos6.22 :TODO_DOCUPDATE: TEST en cours # Création d'une image disque qemu-img create -f qcow2 ~/KVM/sysinstall/ms-dos6.22/drivers-disk.qcow2 1440 # Attacher l'image au lecteur de l'invité virsh change-media --live ms-dos6.22 fda ~/KVM/sysinstall/ms-dos6.22/drivers-disk.qcow2 # Formater le disque depuis l'invité FORMAT A: ===== Support du son ===== COPY A:\DRIVERS\SB16\SBBASIC.EXE C:\DRIVERS\SB16 C: CD \DRIVERS\SB16 Déclarer la variable BLASTER dans config.SYS EDIT CONFIG.SYS erreur Not enough conventionnal memory is available. Remove some or all resident programs before running INSTALL. Press a key to continue. Après installation des pilotes et redémarrage de la VM, toujours pas de son. Vérifier que qemu supporte pipewire : qemu-system-x86_64 -audiodev help | grep pipewire ===== Suppression des snapshots ===== Une fois la configuration validée, on peut supprimer le ou les snapshots : ===== Applications ===== * MS Dos Shell * Norton Commander * Norton Backup * [[https://winworldpc.com/product/lan-manager/2x|MS LAN Manager 2.2]] [[https://dosdays.co.uk/dos_software_index.php|Liste d'applications et jeux DOS]] ===== Références ===== * [[https://blog.raduzaharia.com/system-emulation-using-qemu-ms-dos-on-a-80486-cpu-b477431064aa|QEMU : Installer DOS sur un système émulé 80486 (raduzaharia.com) (en)]] * [[https://gunkies.org/wiki/Installing_MS-DOS_on_Qemu| Installer MS-DOS via QEMU (gunkies.org) (en)]] * [[https://www.qemu.org/docs/master/ | Documentation en ligne QEMU (qemu.org) (en)]] * [[https://people.redhat.com/~cohuck/2022/01/05/qemu-machine-types.html | Les types de machines de QEMU (redhat.com) (en)]] * [[https://archive.org/download/msdos622fra|Disquettes d'installation MS-DOS 6.22 (archive.org) (en)]] * [[https://www.chaoscontrol.org/stories/install-ms-dos-6.22-in-a-virtual-machine-for-fun-and-profit/|Installer MS-DOS 6.22 dans Virtualbox (chaoscontrol.org) (en)]] * [[https://bugzilla.redhat.com/show_bug.cgi?id=672987|virt-install ne démarre pas depuis la disquette (redhat.com) (en)]] * [[https://www.ndchost.com/wiki/libvirt/change-media|virsh : charger un média (ndchost.com) (en)]] * [[https://stackoverflow.com/questions/2019463/shutdown-computer-in-ms-dos-using-acpi|Comment arrêter une VM sous DOS via ACPI (stackoverflow.com) (en)]] * [[https://madsenworld.dk/con_auto/index-uk.htm | Guide de modification de CONFIG.SYS et AUTOEXEC.BAT (madsenworld.dk) (en)]] * [[https://theblackzone.net/posts/2018/msdos622-in-qemu/|Installer MS-DOS 6.22 avec QEMU (theblackzone.net) (en)]] * [[https://dfarq.homeip.net/using-a-cd-rom-drive-in-ms-dos/|Utiliser le lecteur CD-ROM sous DOS (dfarq.homeip.net) (en)]] * [[https://www.richud.com/wiki/Ubuntu_Create_Floppy_Image|Création d'image disquette (richud.com) (en)]] * [[https://www.philscomputerlab.com/creative-labs-drivers.html|Pilotes Sound Blaster (philscomputerlab.com) (en)]] * [[https://askubuntu.com/questions/1314825/how-to-enable-sound-in-qemu|Comment activer le son dans QEMU ? (askubuntu.com) (en)]] * [[https://libvirt.org/formatdomain.html#audio-backends|Les backends audio dans QEMU (libvirt.org) (en)]] * [[https://discussion.fedoraproject.org/t/unable-to-properly-setup-sound-for-qemu-kvm/136152|Paramétrer le son pour une VM QEMU-KVM (fedoraproject.org) (en)]] * [[https://blog.vmsplice.net/2011/04/how-to-pass-qemu-command-line-options.html|Comment passer des arguments à QEMU via libvirt ? (vmsplice.net) (en)]] * 📹 [[https://www.youtube.com/watch?v=XEBMWiLBKuI|Installer une VM Windows 3.11 for Workgroups sur QEMU/KVM support réseau,son,SVGA (youtube.com, VolitankTech) (en)]]