Avviso: 1 GB è "grosso"? Forse una volta...
Il sistema che ho in ufficio ha un disco IDE da 1 GB. Il BIOS può accedere
solo ai primi 504 MB del disco (con MB intendo 2**10 byte, non
10**6 byte), perciò ho installato il sistema MS-DOS in una partizione da 350 MB su
/dev/hda1
e la root di Linux in una partizione da 120MB su /dev/hda2
.
Hauke Laging (hauke@laging.de) e Bob Hall (bhall@hallfire.org) hanno notato un piccolo errore, suggerendomi che un MB è formato da 2**20 byte, non 2**10 byte. Grazie per la correzione. Inoltre, Hauke vorrebbe saperne di più su quelli che chiama "codici a caratteri all'avvio di LILO, quando LILO si interrompe con scritte come LI, LI-, LIL- o simili". Sarebbe gradito un contributo relativo a questo problema o un valido collegamento sul web a riguardo.
Eccolo qua (il contributo è di Zohar Stolar, zohar@numericable.fr):
B. codici di errore all'avvio di LILO
http://www.tldp.org/HOWTO/Bootdisk-HOWTO/a1483.html
Grazie per il collegamento.
MS-DOS non è stato in grado di installarsi correttamente quando il disco era nuovo. La versione 7 del DOS Novell aveva lo stesso problema. Fortunatamente il servizio "opzioni di IBM" aveva dimenticato di mettere il dischetto "OnTrack" nella scatola del disco, che sarebbe dovuto arrivare con un prodotto chiamato "OnTrack Disk Manager". Chi ha installato solo MS-DOS immagino lo debba usare.
A questo punto è stata creata una tabella delle partizioni con il programma fdisk di Linux.
MS-DOS 6.2 si è rifiutato di installarsi su /dev/hda1
dicendo qualcosa come
``questa versione di MS-DOS è per nuove installazioni. Il vostro computer ha già MS-DOS
installato, quindi vi serve un rilascio di aggiornamento.''
In effetti, il disco era nuovo di zecca.
Quindi è stato usato nuovamente il programma fdisk di Linux per cancellare la partizione 1 dalla tabella. Questo ha accontentato MS-DOS 6.2, che ha creato esattamente la stessa partizione 1 appena rimossa per installarsi. MS-DOS 6.2 ha scritto il suo Master Boot Record sul disco, ma non è riuscito ad avviarsi.
Fortunatamente avevo un kernel Slackware su un floppy (creato dal
programma di installazione della Slackware "setup"), per cui ho potuto avviare
Linux e installare Lilo sull'MRB difettoso del DOS. Così ha funzionato.
Ecco il file /etc/lilo.conf
usato:
boot = /dev/hda map = /lilo-map delay = 100 ramdisk = 0 # Disattiva il ramdisk del kernel Slackware timeout = 100 prompt disk = /dev/hda # Il BIOS vede solo i primi 500 MB. bios = 0x80 # Specifica il primo disco IDE. sectors = 63 # Si può ottenere questo numero leggendo la documentazione del proprio disco. 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
Dopo l'installazione di questi sistemi si potrà verificare che la partizione
contenente i file zImage, boot.b, map, chain.b e message è in grado di usare
un file system MSDOS, purché questo non sia compresso con stacker o
doublespace. In questo caso avrei potuto creare una partizione DOS di 500 MB su
/dev/hda1
.
Ho anche imparato che "OnTrack" avrebbe scritto una tabella delle partizioni partendo da alcune dozzine di byte all'interno del disco invece che all'inizio, e quindi sarebbe stato possibile modificare il driver IDE di Linux per risolvere questo problema. L'installazione però sarebbe stata impossibile con il kernel Slackware precompilato. Alla fine, IMB mi ha mandato il dischetto "onTrack". Ho chiamato il loro supporto tecnico che mi ha detto che Linux non funziona perché non usa il BIOS: ho regalato il loro dischetto.