Το σύστημα στο χώρο εργασίας μου έχει IDE δίσκο χωρητικότητας 1GB. Το BIOS μπορεί να 'δει' μόνο τα πρώτα 504 MB του IDE. (όπου MB σημαίνει 2**10 bytes, και όχι 10**6 bytes).
Έτσι έχω ένα MS-DOS partition των 350 MB /dev/hda1
και το Linux root μου σε ένα partition 120 MB /dev/hda2
.
Το MS-DOS δεν μπορούσε να εγκατασταθεί μόνο του σωστά όταν ο δίσκος ήταν καινούριος. Το Novell DOS 7 είχε το ίδιο πρόβλημα. Ευτυχώς για μένα, η IBM ξέχασε να βάλει την δισκέτα "OnTrack" στο κουτί μαζί με το δίσκο. Ο δίσκος υποτίθεται ότι θα ερχόταν μαζί με ένα προϊόν με την ονομασία "OnTrack Disk Manager." Αν έχετε μόνο MSDOS, μάλλον θα πρέπει να το χρησιμοποιήσετε.
Γι' αυτό το λόγο έφτιαξα ένα partition table με το fdisk του Linux.
Το MSDOS-6.2 αρνιόταν να εγκατασταθεί μόνο του στο /dev/hda1
.
Έλεγε κάτι σαν ``αυτή η έκδοση του MS-DOS είναι για νέες εγκαταστάσεις.
Ο υπολογιστής σας έχει ήδη το MS-DOS για Αυτό χρειάζεται να προμηθευτείτε μια πιο ανανεωμένη έκδοση από τον προμηθευτή σας.''
Στην πραγματικότητα, ο δίσκος ήταν ολοκαίνουργος.
Τι βλακεία! Έτσι έτρεξα το fdisk του Linux και διέγραψα το partition 1 από το table. Αυτό ικανοποίησε το MS-DOS 6.2 το οποίο προχώρησε για να δημιουργήσει ένα ολόιδιο partition 1 σαν Αυτό που είχα μόλις διαγράψει και το οποίο το είχε εγκαταστήσει το ίδιο. Το MS-DOS 6.2 έγραψε το δικό του Master Boot Record στο δίσκο, παρόλαυτά δεν μπορούσε να ξεκινήσει.
Ευτυχώς είχα ένα πυρήνα Slackware σε μια δισκέτα (δημιουργημένο από το πρόγραμμα εγκατάστασης του Slackware "setup") και έτσι ξεκίνησα το Linux και έγραψα το LILO πάνω από το κατεστραμμένο MBR του MS-DOS. Δούλεψε. Αυτό είναι το αρχείο /etc/lilo.conf
που χρησιμοποίησα:
boot = /dev/hda map = /lilo-map delay = 100 ramdisk = 0 # Turns off ramdisk in Slackware kernel timeout = 100 prompt disk = /dev/hda # BIOS only sees first 500 MB. bios = 0x80 # specifies the first IDE. sectors = 63 # get the numbers from your drive's docs. 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
Αφότου εγκατέστησα αυτά τα συστήματα, επαλήθευσα ότι το partition που περιέχει
τα zImage, boot.b, map, chain.b και αρχεία μηνυμάτων μπορεί να χρησιμοποιήσει ένα
σύστημα αρχείων msdos, με την προϋπόθεση ότι δεν έχει συμπιεστεί ο δίσκος με κάποιο
πρόγραμμα "stacker" ή "doublespace". Έτσι θα μπορούσα να έχω το DOS partition στο
/dev/hda1
με 500 MB.
Επίσης, έμαθα ότι το "OnTrack" θα μπορούσε να είχε γράψει ένα partition table που να αρχίζει μετά από μερικές δεκάδες bytes από την αρχή του δίσκου, αντί για την αρχή του, και πως είναι δυνατόν να "πειράξεις" τον οδηγό του Linux για IDE ώστε να ξεπεράσει αυτό το πρόβλημα. Αλλά η εγκατάσταση θα ήταν αδύνατη χωρίς τον προμεταγλωττισμένο πυρήνα Slackware. Τελικά, η IBM μου έστειλε μια δισκέτα "OnTrack". Κάλεσα την τεχνική υποστήριξη της OnTrack. Μου είπαν πως το Linux χάλασε γιατί δεν χρησιμοποιεί το BIOS. Τελικά πέταξα την δισκέτα τους!