NetBSD/sys/arch/sun3/stand
jdolecek 77c0fe57cf convert to use version template and newvers_stand.sh script for generating
bootblock revision strings, use bootbock_name[] (i.e. "NetBSD/sun3")
	in initial bootblock messages instead of just "NetBSD"

while here, do sligh Makefile cleanup to share more code between them and also
	to make buildable on NetBSD 1.4.1 (my test compile system)
get rid of the XX define hack for netboot & ufsboot, build xxboot.c as
	part of libsa - previos main() was renamed to xxboot_main(), main()
	is now in respective conf.c files and calls xxboot_main() with
	appropriate name of boot block type

XXX I had no chance to actually test the resulting bootblocks, but the
changes were fairly streightforward and should no influence functionality of
boot code
2000-07-16 21:56:12 +00:00
..
bootxx convert to use version template and newvers_stand.sh script for generating 2000-07-16 21:56:12 +00:00
installboot convert to use version template and newvers_stand.sh script for generating 2000-07-16 21:56:12 +00:00
libsa convert to use version template and newvers_stand.sh script for generating 2000-07-16 21:56:12 +00:00
netboot convert to use version template and newvers_stand.sh script for generating 2000-07-16 21:56:12 +00:00
tapeboot convert to use version template and newvers_stand.sh script for generating 2000-07-16 21:56:12 +00:00
ufsboot convert to use version template and newvers_stand.sh script for generating 2000-07-16 21:56:12 +00:00
Makefile Add tapeboot, make ${SA_PROG}.bin padded to a block boundary. 1995-10-13 21:44:08 +00:00
Makefile.inc convert to use version template and newvers_stand.sh script for generating 2000-07-16 21:56:12 +00:00
README just cleanup 1995-11-17 23:23:44 +00:00

README

/*	$NetBSD: README,v 1.3 1995/11/17 23:23:45 gwr Exp $ */

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:

netboot works.

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...