Boot steps on NetBSD/vax

Anders Magnusson <[email protected]>
Newsgroups gmane.os.netbsd.ports.vax
Message-ID <[email protected]>
Hi all,

here is a small description of how the booting sequence of a NetBSD 
kernel (on vax) looks like.
(I think I remember it correctly, correct me if something is wrong :-) )

Abbreviations:
VMB - The VMS boot loader.  May be a program (VMB.EXE) or located in ROM.
RPB - Restart Parameter Block.  Created by VMB and have information 
about memory size, devices, ...
FE - Front End processor.

There are different ways depending on which vax we are talking about 
(since they work very differently), but common of them is that there is 
a small program called "boot" that loads the kernel from somewhere.

There are also boot blocks (first 8k of the root disk).  They may or may 
not be used.
They contain ufs routines to read the disk and search for "boot" and 
load it.

A vax with FE (like 780, 8800, ...):
- If netbooting:  The FE has the boot program on its own storage (RL01, 
...), loads it "raw" into memory at a given address, starts it and hands 
over the console to the vax CPU.  RPB is created by "boot".
- If booting from disk or tape:  VMB loads the boot blocks into memory 
and starts them.  RPB is created by VMB.

A vax without FE and without VMB (like 750):
- A small ROM routine loads the boot blocks from either TU58 or the root 
disk, which then loads "boot".
In boot there is also a routine to patch microcode before loading 
kernel.  RPB is created by boot.

MicroVAX (and other small VAXen) with VMB in ROM:
- From disk: The boot blocks are loaded into memory, which then loads 
"boot". RPB is created by VMB.
- From network:  The boot program is loaded (via MOP) and then loads the 
kernel (in some way).

Note that NetBSD uses the RPB to get information about the machine. 
Also, the boot programs may use pointers to device drivers in ROM kept 
in the RPB for loading boot or the kernel.

-- Ragge
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.