Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Boot steps on NetBSD/vax
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
Home |
Main Index |
Thread Index |
Old Index