178 lines
5.0 KiB
Groff
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.
|