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