/* $NetBSD: README,v 1.2 2021/08/17 22:00:31 andvar 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 requires adding code to read and do a directory lookup in the root...