Articles

Windows 95 sur votre Raspberry Pi avec QEMU

Après l’utilisation d’émulateurs, voici la virtualisation avec QEMU

qemu-logo-150x150

QEMU est un logiciel libre de machine virtuelle, pouvant émuler un processeur et, plus généralement, une architecture différente si besoin. Il permet d’exécuter un ou plusieurs systèmes d’exploitation via les hyperviseurs KVM et Xen, ou seulement des binaires, dans l’environnement d’un système d’exploitation déjà installé sur la machine.


Installation de QEMU

Attention : l’installation et l’utilisation de Qemu doit se faire depuis le bureau de votre RPi

Après avoir démarré votre RPi avec Raspbian, ouvrez le terminal et tapez les commandes suivantes

sudo apt-get update 
sudo apt-get install qemu

On créé un disque virtuel de 1Go ce qui est suffisant pour Windows 95

qemu-img create -f qcow w95.img 1G

Ensuite on créé un dossier où l’on va mettre le fichier ISO de windows 95

mkdir pi-c

Dans ce dossier, copiez y votre fichier ISO de windows95 bootable

Vous pouvez trouver des ISO de Windows 95 sur les sites BlogYves.free.fr, ou bien sur Downloadfreeiso.com
En ce qui concerne les clés, vous pouvez visiter AngelFire.com
Mais en faisant une recherche sur internet, vous trouverez nombres de sites proposant des images iso de windows et de sa clé d’activation…

Une fois le disque créé, on peut installer Windows 95

qemu-system-x86_64 -m 128 -hda w95.img -cdrom pi-c/win95.iso -boot d

Qemu ouvrira automatiquement une nouvelle fenêtre dans laquelle se lancera l’installation de Windows 95

Il ne vous restera qu’à suivre l’installation de windows pas à pas…

Après l’installation,

Pour lancer Windows, il faut taper dans le terminal

qemu-system-x86_64 -m 128 -hda w95.img -cdrom pi-c/win95.iso souddhw adlib -k fr

Explication :

  • -m 128 = 128 Mo de mémoire
  • – hda w95.img = on monte le disque C
  • -cdrom pi-c/win95.iso = on monte de lecteur de CD ROM où il y a le disque d’installation de windows
  • -soundhw adlib = c’est pour le son (j’ai essayé avec une Sound Blaster, mais Windows plante… en tout cas sur ma RPi)
  • -k fr = Ben ! en Français c’est mieux. Non ?

Pour plus de détails, je vous invite à lire le manuel d’utilisation ici ou bien ou ici ou et encore .


Ajouter des fichiers/jeux/applications à votre Windows 95

Pour cela, vous aurez besoin d’un logiciel permettant la création de fichiers .ISO tel que ImgBurn.

Procédure :

  • Lancez ImbBurn et cliquez sur Create Image File from files/folder
    ecran d'accueil d'ImgBurn
  • Ajouter vos fichiers/jeux/application à ImgBurn
    Ecran d'importation des fichiers/dossiers
  • Enregistrez le tout dans un fichier .iso par exemple nommé datas.iso
  • Puis transférez le fichier datas.iso dans le dossier pi-c de votre RPi
  • Et là, lancez Qemu à partir dur terminal en tapant
    qemu-system-x86_64 -m 128 -hda w95.img -cdrom pi-c/datas.iso souddhw adlib -k fr
  • Une fois Windows 95 démarré, vous pouvez accéder à vos fichiers en ouvrant le gestionnaire de fichiers et en cliquant sur l’icone du lecteur de CD ROM.
  • Transférez vos fichiers du lecteur de CD ROM vers le disque C de Windows 95

Voilà ! Cet article termine mon tour des OS « vintage » installables sur une Raspberry Pi. 

DosBox, Le plus connu des émulateurs DOS

DOSBOX, L’émulateur ultime DOS pour votre Raspberry Pi (enfin ! pour le moment)

L’installation est dès plus facile.

Une fois votre RPi démarrée avec Rasbian, ouvrez le Terminal et tapez

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install dosbox

Une fois installé, il suffit de se rendre sur le bureau et aller dans le menu JEUX > DOSBOX

Bureau LXDE DOSBOX

Bureau LXDE > Menu DOSBOX

Avant de lancer l’émulateur DOSBOX on va faire quelques préparations en créant le futur disque C:\

mkdir pi-c

et une modification dans le fichier dosbox-0.74.conf si vous voulez que le disque C:\ soit monté à chaque démarrage de DosBOX

sudo nano .dosbox/dosbox-0.74.conf

Tout à la fin du fichier on rajoute la ligne suivante pour monter le disque C automatiquement
mount c pi-c

mount c pi-c

Enregistrer le fichier avec un CTRL + O suivi d’un CTRL + X pour le sauvegarder

Voilà vous pouvez lancer DOSBOX et voir le résultat…


Configuration du fichier dosbox-0.74.conf

Pour plus de faciliter je vous conseille d’ouvrir le fichier directement à partir du gestionnaire de fichiers.
=> /home/pi/.dosbox/dosbox-0.74.conf

Sinon pour ouvrir le fichier, vous pouvez tapez dans votre console

sudo nano .dosbox/dosbox-0.74.conf

On va modifier quelques points (juste le minimum) afin de booster un peu l’expérience de jeu…

Dans la catégorie [sdl]

Ici vous pouvez modifier à votre guise les paramètres d’affichage de la fenêtre de DosBox.

Dans la catégorie [dosbox]

modifer la ligne machine=svga_s3 par une meilleure carte graphique (perso j’ai mis svga_et4000).

valeurs possibles :  hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe

Dans la catégorie [cpu]

modifier la ligne cputype=auto par le processus que vous voulez, je vous conseille le pentium.

valeurs possibles : auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch

Dans la catégorie [dos]

On met le clavier en français, pour cela modifier la ligne keyboardlayout=auto par keyboardlayout=fr.

Et voilà ! C’est terminé !

Pour les autres paramètres, je vous laisse consulter le manuel d’utilisation de dosbox.


Installation d’un jeu ou d’un programme

Si vous n’avez pas de jeux en stock vous pouvez aller sur abandonware ou vous pouvez tester ce lien qui donne une liste de sites de jeux retros…

Une fois votre jeu choisi, il suffit de le copier dans le dossier pi-c pour qu’il soit visible depuis DosBox dans le disque C:\

Il ne vous reste plus qu’à l’installer comme à la vieille époque… 😉

De même pour les logiciels, vous pouvez aller sur OldApps.com, OldVersion.com, vetusware.com (special DOS),


Installation de Windows 95 / 98

Malgré de nombreuses tentatives, plusieurs méthodes d’installation et avec des fichiers différents (Win95, W95 OSR2, W98se), je n’ai jamais pu terminer une installation sans erreur.

En effet, elle se termine irrémédiablement lors du premier démarrage par une erreur de REGSVR32, MSGSVR32 menant à une faute sur le fichier KERNEL32.DLL… 

Donc, si vous avez réussi à installer Windows 95 ou 98 sur votre RPi, je suis preneur. Indiquez votre procédure et n’oubliez pas les liens de téléchargement des fichiers ISO que vous avez utilisés.

Emulateurs DOS : 8086tiny

Après RPI X86, je vous présente 8086 TINY, un autre émulateur DOS.

8086 Tiny est une machine virtuel émulant un PC XT. 8086 Tiny est écrit en C.IBM PC XT

8086 Tiny été créé par Adrian CABLE. Ce projet lui a fait gagné l’ IOCCC  (The International Obfuscated C Code Contest) en 2013.

Son 8086tiny a remporté un franc succès avec ses 4043 octets de C qui sont « seulement » capables d’émuler (excusez du peu) un compatible IBM PC du milieu des années 1980 comprenant :

  • CPU Intel 8086/186
  • 1 Mo de RAM
  • Contrôleur de disquette 3.5  » (1.44MB/720KB) 8072A
  • Contrôleur de disque dur (prend en charge un seul disque dur 528MB)
  • Carte graphique Hercules 720×348 graphiques en 2 couleurs (64 Ko de RAM vidéo), et CGA 80×25 16 couleurs avec support du mode texte
  • Timer programmable 8253 (PIT)
  • Contrôleur d’interruption programmable 8259 (PIC)
  • Contrôleur de clavier XT 83 touches 8042
  •  Horloge temps réel MC146818 (RTC)
  • Haut-parleur du PC

L’émulateur utilise la bibliothèque graphique SDL pour la portabilité, et se compile sur Windows, Mac OS X, Linux et probablement sur la plupart des autres systèmes 32-bit/64-bit également.


Installation de 8086 Tiny

Après avoir démarré votre RPi avec Raspbian, ouvrez le terminal et tapez les commandes suivantes

sudo mkdir tiny
cd tiny
sudo wget https://github.com/adriancable/8086tiny/archive/master.zip
sudo unzip master.zip

Afin de pouvoir compiler le code, il faut rajouter le paquet SDL

sudo apt-get install libsdl1.2-dev

Renommage du dossier 8086tiny-master en 8086tiny (à cause de la différence qu’il y a entre le répertoire d’installation et ce qu’il y a dans le fichier makefile)

sudo mv 8086tiny-master 8086tiny

Compilation

cd 8086tiny
sudo make

Puis exécution

sudo ./runme

Et voilà, le terminal affiche maintenant l’écran d’accueil de 8086 Tiny

Ecran d'accueil 8086tiny

Ecran d’accueil 8086tiny

Pour sortir de l’émulation il suffit de taper après le A:\> quitemu

quitemu

Créer un Disque Dur

Pour mettre des programmes dans cet environnement d’émulation, c’est quand même mieux d’avoir sa propre place…

Nous allons donc créer une partition FAT…

Utilisation de la commande DD pour créer une partition de 256Mo ce qui devrait être bien suffisant par rapport à la taille des applications/logiciels de la fin des années 80

sudo dd if=/dev/zero of=./hd.img bs=1024K count=256

Nous pouvons de nouveau lancer l’émulateur

sudo ./runme

Création de la partition avec la commande a:\> FDISK

fdisk

Voici les réponses aux questions des différents écrans :

  • Dire NON to large disk support: N
  • Entrer 1 pour créer une DOS partition or logical drive
  • Entrer 1 pour créer une primary DOS partition
  • Dire Oui  use the maximum available size… and make active: Y
  • Escape
  • Escape
  • Escape
  • Et maintenant quittez l’émulateur (a:\>quitemu)
    et redémarrez le (sudo ./runme).

Il faut maintenant formater le disque C: en y ajoutant le système (c’est le /s)

format c: /s

A la question : Warning: all data… (YES,NO) => répondre YES
et donnez un nom à votre disque dur

On quitte l’émulateur pour monter le disque sous raspbian

quitemu

On vérifie l’existence du disque sous raspbian

fdisk -lu hd.img
Ecran partition DD 8086 tiny

Ecran partition DD 8086 tiny

Nous avons besoin de savoir taille des secteurs (ici 512) et le secteur de démarrage de la partition (ici 63).
Ensuite, nous pouvons utiliser la boucle de montage pour monter le disque et y accéder

sudo losetup /dev/loop0 hd.img -o $((63 * 512))
sudo file -s /dev/loop0
sudo mount /dev/loop0 /mnt

 

Et voilà votre disque dur est accessible depuis le système de fichiers de Raspbian

Après transfert des logiciels que vous voulez installer sur votre système DOS, il faut démonter le disque

sudo umount /mnt
sudo losetup -d /dev/loop0
sudo reboot

Dépôt 8086 Tiny

Il existe un dépôt 8086 Tiny. Pour l’installer il suffit donc de taper

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install 8086tiny

Mais je n’ai pas réussi à le faire fonctionner. Donc si vous avez la solutions, je suis preneur…

DOS RPI X86

Créer un émulateur DOS et rejouer avec vos vieux jeux

Pour les nostalgiques du DOS, voici RPI X86

Ici je vais vous présenter l’installation du DOS RPIX86 compatible avec votre carte Raspberry Pi


Installation de RPi X86

Remarque : l’inconvénient pour l’installation de RPi X86 est qu’elle ne peut être faite par SSH ou Telnet, il faut donc brancher votre RPi à un écran + clavier + souris.

RPI x86 est basé sur l’émulateur Nitendo DS x86

Tout d’abord, démarrez votre carte RPi avec à son bord Raspbian.

Voilà, ouvrez  LXterminal et commençons.

Création du répertoire qui va servir de base d’installation au DOS

mkdir dosrpix86
cd dosrpix86

Téléchargez la dernière version de DOS RPi X86

sudo wget http://rpix86.patrickaalto.com/rpix86.tar.gz

Puis, décompressez

sudo tar -xf rpix86.tar.gz

Exécuter RPi X86

./rpix86

Une nouvelle fenêtre s’ouvre.

A la question : Do you wish to let rpix86 download… yes/no ? => Répondre Y

A la fin du téléchargement une fenêtre DOS s’ouvre alors. 😉

Remarque :
Maintenant que l’installation est faite, DOS RPi X86 fonctionne avec  TightVNC.Une fois connecté avec TightVNC, tapez dans LXTerminal

sudo cd ~/dosrpix86
./rpix86

Une fenêtre DOS s’ouvre…

Mais franchement, en mode TightVNC c’est quasi illisble. De toute façon comme votre RPi est branché en direct sur un écran avec clavier et souris, autant rester comme cela..

Pour sortir de la fenêtre Dos et de nouveau avoir la main sur LXTERMINAL, tapez dans la fenêtre Dos

exit

 


Installation de jeux :

Vous pouvez aller sur la plateforme : dosgamearchive.com

Choisissez votre jeu, ici nous prendrons comme exemple Space Invaders Le jeu par excellence des bornes d’arcade
Sapce invaders space invaders

Pour installer le jeu, il faut cliquer sur l’archive ici elle se nomme cloneinv.zip (remarquez qu’il n’y a que 8 caractères, ce qui et le maximum de caractères sous DOS)

Dans la nouvelle page ne cliquez pas sur le lien START DOWNLOAD… mais copiez le lien en faisant un clic droit dessus. il faut installer le jeu depuis LXTERMINAL

Tout d’abord on créé le dossier /cloneinv, bien entendu on est déjà dans le répertoire /dosrpix86

mkdir cloneinv

suivi de

cd cloneinv

on peut enfin lancer le téléchargement de l’archive (collez le lien précédemment copié) suivi de l’extraction des fichiers avec Unzip

sudo wget http://images.dosgamesarchive.com/games/cloneinv.zip
sudo unzip cloneinv.zip

Ensuite on revient à la racine de DOSRPIX86

cd ..

Puis on lance à nouveau l’exécutable RPIX86 pour ouvrir une fenêtre DOS

./rpix86

Dans la fenêtre DOS maintenant, tapez

cd cloneinv

vous serez dans le réperoire C:\CLONEINV>
Tapez cloninv (sans le « e ») pour lancer le jeu
et choisissez les options CGA/EGA en slow speed, idem pour la souris slow speed sinon le jeu va trop vite et vous mourrez en moins de temps qu’il n’en faut pour le dire

cloninv

Bon jeu 🙂

Voilà, si vous voulez installer d’autres jeux, refaites cette procédure avec le jeu que vous voulez…

Ah au fait avec le son c’est quand même mieux. Non ? RPI X86 émule une sound blaster 2. Et pour avoir le son en sortie du port HDMI il faut taper dans LXTerminal quand vous lancer l’émulateur

./rpix86 -a0

 


BUG connu

Il peut y avoir un petit problème avec la souris et clavier
Au cas où, pour vous aider :

-kNUM where NUM is the keyboard event file number in /dev/input directory. If not given, rpix86 scans /dev/input/by-id for the correct event file.
-mNUM where NUM is the mouse event file number in /dev/input directory. If not given, rpix86 scans /dev/input/by-id for the correct event file.

exemple sur ma RPi

Ecran event file num

Ecran event file num

Pour lancer RPI X86, je fais donc

./rpix86 -k1 -m0

 


Aide RPI X86

Pour vous aider, vous pouvez visiter

  • La FAQ  (english) du RPI X86
  • Le Tutoriel « officiel » (english) d’installation
  • Notre ami Google 😉