Het systeem op kantoor heeft een 1GB IDE disk. Het BIOS kan alleen de eerste
504 MB van de IDE disk zien. (Waar MB 2**10 bytes betekent, niet 10**6 bytes.)
Ik heb MS-DOS op een 350 MB partitie /dev/hda1
en mijn Linux root op
een 120 MB partitie /dev/hda2
.
MS-DOS kon zichzelf niet goed installeren toen de disk nieuw was. Novell DOS 7 had hetzelfde probleem. Gelukkig was "Options by IBM" vergeten om de "OnTrack" diskette in de doos van de disk te doen. De disk had vergezeld moeten zijn van een produkt genaamd "OnTrack Disk Manager." Als je enkel MSDOS hebt, moet je het denk ik gebruiken.
Ik maakte dus een partitie tabel met Linux' fdisk. MSDOS-6.2 weigerde zich te
installeren in /dev/hda1
. Het zei iets als ``deze uitgave van MS-DOS is
voor nieuwe installaties. Je computer heeft al MS-DOS dus je hebt een upgrade
uitgave van je verkoper nodig.'' In feite was de disk gloednieuw.
Wat een zootje! Ik draaide Linux' fdisk opnieuw en verwijderde partitie 1 van de tabel. Dit stelde MS-DOS 6.2 tevreden die doorging met het zelf aanmaken van exact dezelfde partitie 1 die ik zojuist zelf verwijderd had. MS-DOS 6.2 schreef zijn Master Boot Record op de disk, maar kon niet opstarten.
Gelukkig had ik een Slackware kernel op een floppy (aangemaakt door het
Slackware installatie programma "setup"), dus ik startte Linux op en schreef
Lilo over MS-DOS' defecte MBR. Dit werkt. Hier is het /etc/lilo.conf
bestand dat ik gebruikte:
boot = /dev/hda map = /lilo-map delay = 100 ramdisk = 0 # Schakelt ramdisk uit in Slackware kernel timeout = 100 prompt disk = /dev/hda # BIOS ziet slechts eerste 500 MB. bios = 0x80 # specificeert de eerste IDE disk. sectors = 63 # haal de cijfers uit de documentatie van je disk. 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
Nadat ik deze systemen had geinstalleerd, verifieerde ik dat de partitie de zImage, boot.b, map, chain.b bevatte en begreep ik dat de bestanden gebruik kunnen maken van een MSDOS bestandssysteem zolang ze maar niet "gestackerd" of "gedoublespaced" zijn.
Ik heb ook geleerd dat "OnTrack" een partitie tabel zou hebben geschreven die begon met een tiental bytes verderop op de drive, in plaats van aan het begin en het is mogelijk om de Linux driver zo om te schrijven dat het dit probleem ook omzeilt. Maar installeren zou onmogelijk geweest zijn met de voorgecompileerde Slackware kernel. Uiteindelijk zond IBM me een "OnTrack" diskette. Ik belde OnTrack's technische ondersteuning. Ze vertelden me dat Linux onbruikbaar is omdat Linux het BIOS niet gebruikt. Ik heb de diskette weggegeven.