Subject: Re: Booting: a bit off topic
To: Dave Guynn <dguynn@geocities.com>
From: Perry E. Metzger <perry@piermont.com>
List: port-i386
Date: 07/13/1998 16:37:50
Dave Guynn writes:
> Let me clarify. The process of the MBR bootstrapping the netbsd system and
> the kernel.

As I already stated, the MBR is not a piece of code and bootstraps nothing.

The boot blocks on the NetBSD partition are written mostly in C (with
a bit of assembler) and are located in /usr/src/sys/arch/i386/stand/
The boot loader uses BIOS calls to do most of its i/o, but these are
hidden by libsa.
Roughly, the first stage boot loader has the location of the second
stage loader on disk hard coded in. The second stage loader has actual 
code to read an FFS in it, and loads a given file (usually
/netbsd). Control is then passed to the start label in the netbsd
executable, which is (roughly) a normal a.out file.

Perry