grub boot problem with md
Kuba Ober
kuba at mareimbrium.org
Mon Oct 29 12:45:47 CDT 2007
On Saturday 27 October 2007, Ben Scott wrote:
> On 10/27/07, Greg Vickers <daehenoc at optusnet.com.au> wrote:
> > Thanks for the tip - so grub may see the disk that is plugged into the
> > sata1 port (i.e. the second HDD) slightly differently as when that disk
> > is presented by the kernel.
>
> Exactly. When self-hosted, GRUB runs in real mode, and is entirely
> dependent on the BIOS. The kernel, on the other hand, almost
> completely ignores the BIOS, and uses its own methods and code for
> everything. Those normally match what the BIOS thinks is going on,
> but occasionally they disagree.
Not occasionally: they just can't agree in general. Linux kernel has no way of
knowing how each controller BIOS is coded, and what it will do as far as
drive assignment is concerned. It may not know in which order the controller
BIOSs are enumerated by the motherboard BIOS either (if there's a standard
here I don't know).
Every vendor does as he/she pleases. Normally you only want the boot
controller to install its BIOS (to speed up reboots), which means that you
will have whatever disks the motherboard BIOS recognizes as the first ones
(hd0, hd1, ...), followed by whichever disks the boot controller recognizes
(say if boot controller is a PERC). In my experience, PERCs map BIOS devices
in the same sequence as linux devices (according to virtual disk numers). If
there're no hard drives recognized by motherboard BIOS, then, for example,
PERC's first virtual drive will be (hd0) in grub (BIOS device 0x80).
On an ATA-free system with just the PERC's BIOS enabled, your first virtual
disk is (hd0), and so on. Which is (luckily) the case with all of my PE
systems, which only have disks on the PERC. I have (sometimes several) SCSI
cards in those, talking to extra drives, and on all of those their BIOSs are
disabled. Now by disabled I mean that they end up not adding any devices to
the BIOS device list. Linux kernel driver takes care of the card
initialization afterwards just fine.
Cheers, Kuba
More information about the Linux-PowerEdge
mailing list