Re: Problem with disk order at boot time

Guest section DW (dwguest@win.tue.nl)
Mon, 1 Mar 1999 21:20:53 +0100 (MET)


From: "Dan A. Dickey" <ddickey@wamnet.com>

...

Ok, so linux boots - it just so happens to detect the zip drive
first, and assigns it to be sda. The megaraid is then detected, and
gets sdb and sdc (two logical drives on the megaraid). Now, when
I run lilo - it has the zip as drive zero, and the two raid drives as
one & two.

Ok, so back to reboot time again.
The bios detects the megaraid first, assigning drive 0 to the first
logical on the raid and drive 1 to the second logical drive on the raid.
Then it detects the adaptec/zip and gives it drive 2.

You can put lines "bios = 0x80" etc in /etc/lilo.conf,
telling which bios number a given disk will have at boot time.
See the lilo docs.

(The bios disk order is essentially random, and there is no way
for the kernel to find out which bios disk corresponds to which
Linux disk.
Consequently, setup.S and the IDE driver are buggy when they ask
the bios for data on hd0 and hd1 (0x80 and 0x81) and subsequently
assume that this was for hda and hdb.
Probably we should eventually eliminate all reliance of the kernel
on BIOS disk data. Last month I wrote a kernel patch (for 2.2.1) and
a C program getbiosdiskdata.c such that the kernel patch does the
data collecting at boot time, and getbiosdiskdata.c tries to make
a correspondence between BIOS disks and Linux disks, something
needed by LILO and fdisk. Everybody with a spare half hour, please
try out ftp://ftp.cwi.nl/pub/aeb/getbios/* and report the result.
If all goes well it will be something like

hda: 0x84
hdb: 0x85
hdc:not in BIOS
sda: 0x80
sdb: 0x81
sdc: 0x82
sdd: 0x83

but I need much more data about the various BIOSes.
In particular, I have not yet seen any machines that actually
support Phoenix extensions.)

Andries - aeb@cwi.nl

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/