A mon travail, ma machine à un disque IDE de 1 Go. Le BIOS ne peut en voir que les premiers 504 Mo (où Mo signifie 2^10 octets, pas 10^6 octets). Donc, J'ai MS-DOS sur une partition de 350 Mo /dev/hda1
et ma partition root Linux sur une partition de 120 Mo /dev/hda2
.
MS-DOS était incapable de s'installer correctement quand le disque était tout neuf. Novell DOS 7 pareil. Le disque était supposé arriver avec un disque appelé "OnTrack Disk Manager". Malheureusement pour moi, suite à un oubli de la part d'IBM je n'avais pas la disquette avec "OnTrack" avec le disque. Si vous n'avez que MS-DOS, je vous souhaite d'en disposer.
Donc, j'ai bâti une table de partition avec le fdisk de Linux. MS-DOS-6.2 a refusé de s'installer dans /dev/hda1, prétextant quelque chose du genre :
"Cette version de MS-DOS est dédiée aux nouvelles installations. MS-DOS est déjà installé sur votre ordinateur (ce qui était faux : disque neuf) donc, vous avez besoin d'obtenir une version de mise à jour chez votre vendeur."
Quel ignare ! Donc, je relance le fdisk Linux et détruis la première partition de la table. Cela convient à MS-DOS 6.2 qui peut alors créer la même partition que celle que je viens de détruire et s'installer. MS-DOS 6.2 écrit alors dans le secteur de lancement du disque, mais impossible de démarrer.
Par chance, j'avais un noyau de la Slackware sur disquette (réalisé par le programme setup
d'installation), et j'ai donc lancé Linux puis écrasé le secteur de démarrage par celui de Lilo... et tout marche !
Voici le fichier /etc/lilo.conf
utilisé :
boot = /dev/hda
map = /lilo-map
delay = 100
ramdisk = 0 # Ne crée pas le disque virtuel du noyau Slackware
timeout = 100
prompt
disk = /dev/hda # le BIOS ne voit que les 500 premiers Mo.
bios = 0x80 # indique le premier IDE.
sectors = 63 # prendre ces chiffres dans la documentation du disque
heads = 16
cylinders = 2100
image = /vmlinuz
append = "hd=2100,16,63"
root = /dev/hda2
label = linux
read-only
vga = extended
other = /dev/hda1
label = msdos
table = /dev/hda
loader = /boot/chain.b
Après avoir installé ces systèmes, j'ai vérifié que les partitions contenant les fichiers zImage, boot.b, map, chain.b, et messages peuvent utiliser le système de fichiers MS-DOS, tant que ni Stacker, ni Doublespace ne sont installés. Donc, j'aurais pu faire une partition DOS sur /dev/hda1 de 500 Mo.
J'ai également appris que OnTrack aurait écrit une table de partitions commençant à quelques douzaines d'octets sur le disque au lieu de l'écrire au début. Il est possible de modifier le gestionnaire de périphérique IDE de Linux pour contourner ce problème. Mais l'installation aurait été impossible avec le noyau précompilé de la Slackware. En fin de compte, IBM m'a envoyé une disquette OnTrack. J'ai alors téléphoné au support technique de OnTrack. Ils m'ont dit que Linux était boggé car il n'utilisait pas le BIOS. J'ai renvoyé la disquette.