1997-05-26 07:44:42 +04:00
|
|
|
/* $NetBSD: README,v 1.3 1997/05/26 03:44:42 jeremy Exp $ */
|
1997-03-13 19:27:27 +03:00
|
|
|
|
|
|
|
The sun bootblocks are split into two parts: a small 1st-level program that
|
|
|
|
gets written right after the superblock in a partition (and is hence limited
|
|
|
|
in size to SBSIZE - DEV_BSIZE bytes), and a 2nd-level program that resides
|
|
|
|
in the filesystem proper.
|
|
|
|
|
|
|
|
The 1st-level program is loaded into memory by the PROM. It loads the second
|
|
|
|
stage program from a set of filesystem block numbers that are hard-coded
|
|
|
|
into it by the `installboot' program. The prototype code for the 1st-level
|
|
|
|
bootblocks are in `bootxx'.
|
|
|
|
|
|
|
|
The 2nd-level program (`ufsboot') is normally installed in the root FS
|
|
|
|
as `/ufsboot'. It uses the device drivers in the PROM and the stand-alone
|
|
|
|
filesystem code in `libsa.a' to locate and load the kernel.
|
|
|
|
|
|
|
|
Use the following command to install the 1st-level bootblocks in the
|
|
|
|
root filesystem (on `sd0a') using the file `/boot' as the second level
|
|
|
|
boot program:
|
|
|
|
|
|
|
|
mount /dev/sd0a /mnt
|
|
|
|
cd /usr/mdec
|
|
|
|
cp -p ufsboot /mnt/ufsboot
|
|
|
|
sync ; sleep 1 ; sync
|
|
|
|
./installboot -v /mnt/ufsboot bootxx /dev/rsd0a
|
|
|
|
|
|
|
|
The above only works with securelevel <= 0 (see init.8 manual).
|
|
|
|
|
|
|
|
Status:
|
|
|
|
|
1997-03-15 06:41:01 +03:00
|
|
|
netboot works. (3/13/1997)
|
|
|
|
ufsboot works. (3/13/1997)
|
1997-05-26 07:44:42 +04:00
|
|
|
tapeboot works. (5/23/1997)
|
1997-03-13 19:27:27 +03:00
|
|
|
|
|
|
|
bootxx, installboot are tested and working. It would be nice if
|
|
|
|
installboot would find the inumber for the 2nd stage boot program
|
|
|
|
without having the filesystem mounted so this command can work
|
|
|
|
with securelevel==1 (the default). Doing this requies adding
|
|
|
|
code to read and do a directory lookup in the root...
|
|
|
|
|