bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BIOS device numbering (was -> Re: ATA66 does not boot. )


From: erich
Subject: BIOS device numbering (was -> Re: ATA66 does not boot. )
Date: Thu, 31 May 2001 10:21:11 -0700

Gregory Gee <address@hidden> wrote:

...
> > I have one of these, and your problem is that, with no other
> > drives installed (or even with drives installed on an ABit BP6
> > with the BIOS order set to "EXT" before "C", and "EXT" set to
> > "UDMA66"), you need to set the disk part of your "root" device
> > statement in your GRUB menu file to:
> > 
> >    hd0
> > 
>   Actually, I still have C before EXT.  If I plug a drive into
> the primary ATA33 cable, this would appear in Linux as hda with
> the ATA66 drive as hde.  What do these map to in grub?

GRUB uses the BIOS disk numbering, the same as LILO.  The BIOS numbering
is unfortunately whatever the implementor decided they wanted, but the
one constant is that it starts at 0x80 and counts up with no gaps in the
numbering.

The BIOS numbering on the ABit BP6 for the situation you describe will
be to count the drives on the primary, the secondary ATA33 interfaces before
the ATA66.  That's why I set it to "EXT" before "C", which guaranteed that
the AYA66 was always counted first, since it was my root drive, and I want
to boot off of that.


> > You were assuming that BIOS device numbers follow the Linux
> > device naming scheme, and that is not the case.  The BIOS
> > numbers them starting from the first one in boot order.
> > 
> So your saying that hd0, hd1, ... has nothing to do with where in the IDE
> chain you are.  If I have drives on hda and hde, they will
> be numbers hd0 and hd1 instead of hd0 and hd4?  
> 
>   Is there a grub command line utility to scan for available drives and
> list what the hdX they are on?

There is no standard way to tell what this sequence will be, unfortunately
(again, LILO suffers from the same problem).  There are some heuristics
for common configurations, and the LILO and GRUB installers try these in
general.

Once you install it on a hard disk, then you may want to use the option of
relative device naming, if it's still supported:  "root=(,0)".  This,
when booted up on a particular drive, keeps the BIOS device number from
the boot sequence but sets the partition on that drive.  Then, as long
as some bootloader tries to boot that disk, it should go fine from there.


--
    Erich Stefan Boleyn     <address@hidden>     http://www.uruk.org/
"Reality is truly stranger than fiction; Probably why fiction is so popular"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]