Archive pour la catégorie ‘Ubuntu / Linux’

Linux reconcilie DOS, Win98 et XP sur un même disque

Samedi 6 juin 2009

Depuis un petit moment, j’accumule sur les brocs quelques vieux jeux PC qui m’ont quand même bien amusés il y a quelques années. Contrairement au jeu console ancienne, c’est pas évident de retrouver une configuration de PC adapté à 20 évolutions de la machine. C’est pourquoi je me suis lancé dans la configuration d’un vieux PIII 950 Mhz avec 512 Mo de ram et deux HDD de 80Go, carte son ISA Gravis PnP & SB16 MCD, carte graphique ATI Fury Rage Pro 128,  une 3DFX voodoo2 pour les jeux utilisant Glide.

Bon clairement, les 160 Go de disques durs, ce n’est pas que pour les jeux DOS hein :) et puis le XP là dessus, c’est pour quoi faire ? hé bin peut-être une ébauche de borne Mame  qui sait !

Début difficile

J’ai bien envie de lâcher quelques grossièreté direct tellement j’en ai bavé à faire cohabiter ce beau monde. Il faut dire que Microsoft s’est plié en quatre pour nous pondre des installateur de merde (oups ça m’a échappé).  Si l’on en juge par la procédure du support MS, il est tout à fait possible d’arriver au résultat que j’attends. En bref, on installe le DOS puis Windows 98 et enfin windows XP et le tour est joué. Dans les faits, c’est une autre paire de manche …

Ma méthode

Après quelques installations répétées des divers OS   (mon CD de Windows 98 SE écrase mon installation DOS systématiquement quand j’exécute le fichier install.exe ou bien  il refuse tout simplement de s’installer si le PC  boote sur le CD au démarrage de la machine en invoquant que mon disque dur contient déjà un OS ), je décide d’installer les OS séparément en effectuant une image de la partition en fin d’installation.

Pour rappel, le DOS 6.2 et Windows 98 ont besoin d’une partition primaire bootable. Un disque peut contenir jusqu’à 4 partitions primaires mais une seule peut-être bootable. Autre remarque, le DOS 6.2 s’installe sur une partition formatée en FAT16 (donc limité à 2Go en taille). Windows 98 support la FAT16 et la FAT32 avec une taille de partition max de 32Go. Enfin Windows XP supporte une installation en FAT32 et en NTFS.

Une fois terminé, j’ai donc 3 images de partitions correspondantes à ces fameux OS. Pour pouvoir faire cohabiter tous ce beau monde, il nous faut un bootloader. C’est là qu’intervient notre linux.

Grub, le bootloader de la mort qui tue

Comme je suis attaché à la distribution linux Ubuntu, je décide de partir sur l’installation de la 8.1 qui est une version stable et compatible avec mon PIII. Un petit coup de fdisk depuis le LiveCD d’Intrepid. Je génère mes partitions comme suit :

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda1            6639        9704    24627645   17  Hidden HPFS/NTFS
/dev/sda2   *           1         258     2072353+   6  FAT16
/dev/sda3             259        1822    12562830    5  Extended
/dev/sda4            1823        6638    38684520   1c  Hidden W95 FAT32 (LBA)
/dev/sda5             259         519     2096451    6  FAT16
/dev/sda6             520         780     2096451    6  FAT16
/dev/sda7             781        1041     2096451    6  FAT16
/dev/sda8            1042        1742     5630751   83  Linux
/dev/sda9            1743        1822      642568+  82  Linux swap / Solaris

J’en profite pour installer Ubuntu sur une partition logique de 5Go. Je déclare chaque système d’exploitation dans le fichier /boot/grub/menu.lst (fichier de configuration de Grub) :

title        Microsoft Windows XP Professionnel
hide            (hd0,1)    # cache MSDOS622
hide            (hd0,3)    # cache WIN98SE
unhide          (hd0,0)    # rend visible WINXP
unhide          (hd1,0)    # rend mon second disque visible
unhide          (hd1,1)    # idem
unhide          (hd1,2)    # idem
rootnoverify    (hd0,0)
savedefault
chainloader    +1
makeactive                 # la partition devient bootable
title        Windows 95/98/Me
hide            (hd0,1)    # cache MSDOS622
unhide          (hd0,3)    # WIN98SE
hide            (hd0,0)    # cache WINXP
hide            (hd1,0)    # et le second disque
hide            (hd1,1)    #
hide            (hd1,2)    #
rootnoverify    (hd0,3)
savedefault
chainloader    +1
makeactive

title           MSDOS 6_22
unhide          (hd0,1)    # MSDOS622
hide            (hd0,3)    # WIN98SE
hide            (hd0,0)    # WINXP
hide            (hd1,0)
hide            (hd1,1)
hide            (hd1,2)
rootnoverify    (hd0,1)
savedefault
chainloader     +1
makeactive

Enfin, je restaure sur chaque partition primaire l’image ghost de chacun des OS. Un petit reboot est le tour est joué !

Et maintenant, à moi la joie de la configuration de mon config.sys et autoexec.bat :)

AlCHIP8 : mon premier émulateur en version béta

Samedi 16 mai 2009

Après avoir fait quelques articles récents sur ce petit projet, je vous propose de le tester vous même. Dans l’immédiat, il est opérationnel malgré quelques bugs qui n’ont pas encore étaient corrigés.  Le code devrait être relativement portable grâce aux outils Autoconf.  L’installation de la librairie Gtk+2 dev est nécessaire.

Voir le screencast de l’émulateur en fonctionnement

Télécharger les sources : alchip8-0.1

Graver une image cue/bin sous linux

Lundi 15 septembre 2008

Il est assez rare que je soit amené à graver des images non iso. Dans ce cas précis, j’ai eu besoin de graver une image bootable de BeOs Dev 2.2 qui intègre 2 sessions (la première contient la partie bootable du CD et la seconde l’image de BeOS). Avec Brasero sous Ubuntu, cela doit être possible mais malheureusement, j’ai le droit à l’erreur suivante :

Une erreur est survenue durant la gravure:
le fichier cue (mon_image.cue) ne semble pas valide.

Un peu faché, mais après une petite recherche sur le net, j’ai trouvé le moyen de graver ce format directement avec cdrdao comme suit :

sudo cdrdao write --device /dev/cdrw  mon_image.cue

Quelle méprise was « créer une image BFS sous Ubuntu »

Dimanche 14 septembre 2008

En premier, il est faut installer le paquet util-linux qui contient le nécesaire pour gérer les filesystems tiers commme BFS.

sudo apt-get util-linux

Ensuite, on créer par exemple un fichier de 100 Mo comme ceci :

dd if=/dev/zero of=BFS.img bs=1024 count=102400

Avant d’utiliser la commage mkfs.bfs livré avec le paquet util-linux, il faut monter cette image en loopback via  /dev/loop0 par exemple. On commence par libérer cette ressource.

sudo losetup -d /dev/loop0

Création en local du répertoire de montage:

mkdir mnt
sudo losetup /dev/loop0 BFS.img
sudo mkfs.bfs /dev/loop0 2028
sudo mount -t bfs BFS.img mnt

et voilà un beau filesystem tout frai pour faire quelques tests.

Ps: Malheureusement, je pensais arriver à générer une image compatible  BeOS mais il n’en est rien. Le format BFS (Boot File System) géré par linux est en fait un système de fichiers utilisé par Unixware de SCO. Celui-ci n’a rien avoir avec le format BFS natif de BeOS plus communement appellé BeFS sous linux pour éviter la confusion. A ce propos, il n’existe aujourd’hui qu’un driver en lecture seule pour  le système de fichiers BEFS sous linux … Dommage !

Comix, l’outil ultime pour la lecture des magazines scannées sous linux

Dimanche 25 mai 2008

J’ai découvert très récemment l’existence de Comix, un visualiseur de bandes dessinées. Il est pratique, intuitif et propose une multitude de petits trucs qui rendent la vie plus simple. Alors que je téléchargeais quelques vieux STmags dans l’espoir de me remémorer quelques informations techniques oubliées, je m’apprêtais à dézipper mon magazine dans un répertoire. Hop, clique droit sur mon archive et ô miracle, mon menu contextuel me propose d’ouvrir avec Comix ce que je m’empresse de faire. Je n’ai pas encore fait le tour de toutes les options mais je l’ai déjà adopté pour mon PC linux.

Voilà un bien bel outil qui fera également le bonheur de mon fils lors de la lecture d’un vieux comics avant son couché.