1999-12-31 01:31:18 +03:00
|
|
|
.\" $NetBSD: installboot.8,v 1.7 1999/12/30 22:31:20 simonb Exp $
|
1998-12-11 15:18:46 +03:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
|
|
.\" by Paul Kranenburg.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
|
|
.\" must display the following acknowledgement:
|
|
|
|
.\" This product includes software developed by the NetBSD
|
|
|
|
.\" Foundation, Inc. and its contributors.
|
|
|
|
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
|
|
|
|
.\" contributors may be used to endorse or promote products derived
|
|
|
|
.\" from this software without specific prior written permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
|
|
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
|
|
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
|
|
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
.\" POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.Dd September 29, 1995
|
1999-12-31 01:31:18 +03:00
|
|
|
.Dt INSTALLBOOT 8 sparc
|
1998-12-11 15:18:46 +03:00
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm installboot
|
|
|
|
.Nd install a bootstrap on an FFS filesystem partition
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm installboot
|
1999-11-13 15:09:40 +03:00
|
|
|
.Op Fl nv
|
1998-12-11 15:18:46 +03:00
|
|
|
.Ar boot
|
|
|
|
.Ar bootxx
|
|
|
|
.Ar device
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
.Nm installboot
|
|
|
|
prepares a FFS filesystem partition for boot-strapping from the PROM.
|
|
|
|
The sparc bootblocks are split into two parts: a small first-stage program that
|
|
|
|
is written into the superblock area in a partition
|
|
|
|
.Po
|
|
|
|
and hence is limited in size to SBSIZE - DEV_BSIZE bytes
|
|
|
|
.Pc ,
|
|
|
|
and a second-stage program that resides in the filesystem proper.
|
1999-11-13 15:09:40 +03:00
|
|
|
.Pp
|
1998-12-11 15:18:46 +03:00
|
|
|
The first-stage program is loaded into memory by the PROM. After it receiving
|
|
|
|
control, it loads the second stage program from a set of filesystem block
|
|
|
|
numbers that have been hard-coded into it by the
|
|
|
|
.Nm installboot
|
1999-11-13 15:09:40 +03:00
|
|
|
program.
|
|
|
|
.Pp
|
|
|
|
The second-stage boot program uses the device driver interface to
|
1998-12-11 15:18:46 +03:00
|
|
|
the PROM and the stand-alone filesystem code in
|
|
|
|
.Dq libsa.a
|
|
|
|
to locate and load the kernel.
|
|
|
|
The second-stage boot program and the prototype code for the
|
|
|
|
first-stage bootprogram can be found in
|
|
|
|
.Pa /usr/mdec/boot
|
|
|
|
and
|
|
|
|
.Pa /usr/mdec/bootxx
|
|
|
|
respectively. The second-stage program commonly resides in the root directory
|
|
|
|
as
|
|
|
|
.Pa /boot .
|
|
|
|
The utility
|
|
|
|
.Pa /usr/mdec/binstall
|
|
|
|
can be used to properly copy the a second-stage bootprogram to its
|
1999-11-13 15:09:40 +03:00
|
|
|
destination.
|
1998-12-11 15:18:46 +03:00
|
|
|
.Pp
|
1999-11-13 15:09:40 +03:00
|
|
|
Note that not all PROM versions accept the same layout of the first-stage
|
|
|
|
boot program: Sun 4 systems with the
|
1998-12-11 15:18:46 +03:00
|
|
|
.Dq old monitor
|
1999-11-13 15:09:40 +03:00
|
|
|
interface require that executable instructions be present right at the
|
|
|
|
start of the program, while
|
|
|
|
.Tn Openboot
|
|
|
|
machines expect a
|
1998-12-11 15:18:46 +03:00
|
|
|
.Xr a.out 5
|
1999-11-13 15:09:40 +03:00
|
|
|
header on the front of the boot program.
|
|
|
|
.Nm
|
|
|
|
takes care of this by constructing an artificial a.out header which has
|
|
|
|
enough of the magic numbers in it to appease
|
|
|
|
.Tn Openboot
|
|
|
|
ROMs, while simultaneously consisting of instructions
|
|
|
|
.Po
|
|
|
|
in fact, just a branch past the rest of the header
|
|
|
|
.Pc
|
|
|
|
for Sun 4
|
|
|
|
.Dq old monitor
|
|
|
|
ROMs to execute.
|
|
|
|
.Pp
|
|
|
|
There are two options with these meaning:
|
|
|
|
.Bl -tag -width flag
|
1998-12-11 15:18:46 +03:00
|
|
|
.It Fl n
|
|
|
|
Do not actually write anything on the disk.
|
|
|
|
.It Fl v
|
1999-11-13 15:09:40 +03:00
|
|
|
Verbose mode: prints internal informational messages on standard output.
|
1998-12-11 15:18:46 +03:00
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
The arguments are:
|
|
|
|
.Bl -tag -width bootxx
|
|
|
|
.It Ar boot
|
|
|
|
the name of the second-stage boot program in the file system
|
|
|
|
where the first-stage boot program is to be installed.
|
|
|
|
.It Ar bootxx
|
|
|
|
the name of the prototype file for the first stage boot program.
|
|
|
|
.It Ar device
|
|
|
|
the name of the raw device in which the first-stage boot program
|
|
|
|
is to be installed. This should correspond to the block device
|
|
|
|
on which the file system containing
|
|
|
|
.Ar boot
|
|
|
|
is mounted.
|
|
|
|
.El
|
|
|
|
.Sh EXAMPLES
|
|
|
|
The following command will install the first-stage bootblocks in the
|
|
|
|
root filesystem
|
|
|
|
.Pq assumed to be mounted on Dq sd0a
|
|
|
|
using the file
|
|
|
|
.Pa /boot
|
|
|
|
as the second-level boot program:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
installboot /boot /usr/mdec/bootxx /dev/rsd0a
|
|
|
|
.Ed
|
|
|
|
.Sh BUGS
|
|
|
|
.Nm
|
|
|
|
requires simultaneous access to the mounted file system and
|
|
|
|
the raw device, but that is not allowed with the kernel
|
|
|
|
.Dv securelevel
|
|
|
|
variable set to a value greater than zero
|
|
|
|
.Pq the default ,
|
|
|
|
so
|
|
|
|
.Nm installboot
|
|
|
|
only works in single-user mode
|
|
|
|
.Pq or insecure mode - see Xr init 8 .
|
1999-04-06 08:54:19 +04:00
|
|
|
.Sh SEE ALSO
|
1998-12-11 15:18:46 +03:00
|
|
|
.Xr disklabel 8 ,
|
|
|
|
.Xr init 8
|
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
first appeared in
|
|
|
|
.Nx 1.1
|