Inhalt

5. BIOS erkennt Root-Partition nicht

Ich habe zwei IDE- und eine SCSI-Platte. Dabei wird die SCSI-Platte nicht vom BIOS erkannt. Der Linux-Lader (LILO) benutzt BIOS-Aufrufe und kann deshalb nur Platten erkennen, die auch das BIOS erkennt. Das dumme AMI BIOS bootet leider nur von »A:« oder »C:«. Mein Root-Dateisystem ist aber auf einer Partition des SCSI-Laufwerks.

Die Lösung ist, den Kernel, die Map-Datei, und den Chain-Loader in eine Linux-Partition auf der ersten IDE-Platte zu installieren. Es sei darauf hingewiesen, daß es nicht notwendig ist, den Kernel auf der Root-Partition zu haben.

Die zweite Partition meiner ersten IDE-Platte (/dev/hda2, die Linux-Partition zum Booten) ist unter /u2 gemountet. Hier kommt die /etc/lilo.conf, welche ich dafür benutze:

#  Installiere LILO in den »Master Boot Record«
#  auf der erste IDE-Platte
boot = /dev/hda

#  /sbin/lilo (der Installierer) kopiert LILOs Boot Record
#  vom folgenden File in den MBR
install = /u2/etc/lilo/boot.b

# Ich schrieb mir ein ausführliches Boot-Menü. LILO findet es unter
message = /u2/etc/lilo/message

# Der Installierer generiert das folgende File, welches dem
# Boot-Lader sagt wo die Blöcke des Kernels sind.
map = /u2/etc/lilo/map
compact
prompt

#  Warte 10 Sekunden, boote dann den 1.2.1 Kernel als Standard
timeout = 100

#  Der Kernel wird dort installiert wo ihn das BIOS sehen kann, durch:
#      cp -p /usr/src/linux/arch/i386/boot/zImage /u2/z1.2.1
image = /u2/z1.2.1
        label = 1.2.1

#  LILO sagt dem Kernel, dass die erste SCSI-Partition als Root
#  gemountet werden soll. Das BIOS braucht diese Partition nicht
#  zu erkennen.
        root = /dev/sda1

#  Diese Partition wird geprüft und nochmal gemountet durch /etc/rc.d/rc.S
        read-only

#  Ich behalte einen alten Slackware Kernel für den Fall, daß ich einen
#  Kernel generierte habe, welcher nicht funktioniert. (Ich brauchte ihn
#  tatsächlich schon einmal)
image = /u2/z1.0.9
        label = 1.0.9
        root = /dev/sda1
        read-only

#  Meine DR-DOS 6 Partition
other = /dev/hda1
        loader=/u2/etc/lilo/chain.b
        label = dos
        alias = m


Inhalt