NetBSD/share/man/man8/man8.arm26/boot26.8

178 lines
5.0 KiB
Groff

.\" $NetBSD: boot26.8,v 1.2 2001/08/04 14:31:10 bjh21 Exp $
.\"
.\" Copyright (c) 2000, 2001 Ben Harris
.\" All rights reserved.
.\"
.\" 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. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 August 4, 2001
.Dt boot26 8 arm26
.Os
.Sh NAME
.Nm boot26
.Nd Bootloader for
.Nx Ns /arm26
.Sh SYNOPSIS
.Nm *boot26
.Op Fl acdqsv
.Op Ar file
.Sh DESCRIPTION
.Nm
is a program that runs under
.Tn RISC OS
and launches the
.Nx Ns /arm26
kernel. It needs to be installed in a RISC OS
filesystem and given file type FFA (Module). The kernel it is to load
also needs to be stored in a
.Tn RISC OS
filesystem.
.Pp
It takes the following options, which set flags in the
.Va boothowto
variable in the booted kernel:
.Bl -tag -width Fl
.It Fl a
.Pq Dv RB_ASKNAME
Cause the kernel to prompt the user for the name of the device containing the
root filesystem. This also causes
.Nm
to prompt for the name of the kernel to be loaded.
.It Fl s
.Pq Dv RB_SINGLE
Cause the kernel to ask
.Nm init
to boot into single-user mode.
.It Fl d
.Pq Dv RB_KDB
Cause the kernel to enter the kernel debugger as soon as possible.
.It Fl c
.Pq Dv RB_USERCONF
Enter the in-kernel device configuration manager before attaching any
devices.
.It Fl q
.Pq Dv RB_QUIET
Cause the kernel to emit fewer messages than normal while starting up.
.It Fl v
.Pq Dv RB_VERBOSE
Cause the kernel to emit more messages than normal while starting up.
.El
.Pp
.Nm
attempts to load the kernel from the RISC OS file specified as
.Ar file ,
or from
.Pa netbsd
if
.Ar file
is not specified. The file must be an ELF image, and may have been compressed
using
.Xr gzip 1 .
.Ss Use as a module
.Nm
is implemented as a RISC OS relocatable module. It can be loaded into memory
by running
.Ql *RMLoad boot26 .
After this,
.Nx
can be booted by running
.Ql *boot26
as usual, but the command will be handled by the module.
.Pp
It should also be possible to arrange for
.Nm
to be loaded from ROM (e.g. from the ROM on an expansion card), in which case
.Nx
could be made to boot automatically by making
.Nm
the configured language using
.Ql *Configure Language .
.Ss Screen display
.\" From <URL:http://mail-index.netbsd.org/port-arm26/2000/05/02/0001.html>
When it starts up,
.Nm
displays the current memory map.
Each character in the map represents one page of (physical) RAM. The
ticks along the top are to stop you getting lost. The characters in the
map indicate what the memory's being used for (actually where it's
logically mapped):
.Pp
.Bd -literal -offset indent
0 -> zero-page
+ -> boot26 workspace
* -> Free space (boot26 wants to put the kernel here)
d -> RAM disc
s -> System sprite area
m -> RMA
h -> System heap/stack
f -> Font cache
S -> Screen memory
.Ed
.Pp
On a machine with 32k pages (which is all
.Nx Ns /arm26
supports), the left
half of the first line is potential screen memory, and hence not used by
.Nm "" .
The next page is usually zero page under RISC OS, and is used for
zero page under
.Nx
as well. The next is usually the system heap under RISC OS,
and is used for process 0's kernel stack under
.Nx .
The next is used for the message buffer under
.Nx .
Pages from there on are used to load
the kernel, and must be free if
.Nm
is to do so successfully. Future
bootloaders should load the kernel into whatever pages are free, then kick
out RISC OS and shuffle them into the right shape. This is left as an
exercise for the enthusiatic reader.
.Sh FILES
.Bl -tag -width Pa
.It Pa /usr/mdec/boot26,ffa
The location of
.Nm
in the
.Nx
filesystem.
.Sh SEE ALSO
.Xr gzip 1 ,
.Xr reboot 2 ,
.Xr ddb 4 ,
.Xr userconf 4 ,
.Xr init 8
.Sh HISTORY
.Nm
was introduced in
.Nx 1.6
as a replacement for the original
.Nx Ns /arm26
bootloader, which was written in BBC BASIC.
.Sh BUGS
.Nm
cannot load kernels from a
.Nx
filesystem.