Subject: Re: BSD needs BIOS?
To: Grant Stockly <gussie@stockly.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-i386
Date: 08/04/1999 11:52:13
On Tue, Aug 03, 1999 at 02:44:47PM -0800, Grant Stockly wrote:
> 
> What do you mean?  If I were to make a file system image to load into RAM
> from ROM (like the install disk) then it woudldn't need disk info, or would
> it?
> 
> Doesn't NetBSD use the info it gets when it scans the IDE busses?

Here's how things work (I think :):
-  the boot loader computes a checksum of the first sector(s) of each disk 
   the bios knows about. It passes this to the kernel, along with the
   bios # of the boot disk.
- when looking for the boot device (once all disks have been probed, just
  before starting init) the kernel computes the checksum of the first sector(s)
  of each disk it knows. This way it can map back its disks (wd0, wd1, sd0 ...)
  back to the bios disks # (what is conventionally called C:, D:, E:, F:).

It needs to do this mapping back in order to find the boot device, because
all what the boot loader can tell it is that he booted from X: (where
X can be any of C,D,E,F).
On my system at home, depending on bios config C: will be wd0 or sd0.

Now, if you boot a kernel with en emmbeded ramdisk you don't need this:
just put:
options         MEMORY_DISK_HOOKS       
options         MEMORY_DISK_IS_ROOT     # force root on memory disk 
in your kernel config file, as well as:
pseudo-device   md    1

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--