141 lines
4.2 KiB
Groff
141 lines
4.2 KiB
Groff
.\" $NetBSD: BBBB.8,v 1.3 2000/11/25 23:55:34 bjh21 Exp $
|
|
.\"
|
|
.\" Copyright (c) 2000 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 November 21, 2000
|
|
.Dt BBBB 8 arm26
|
|
.Os
|
|
.Sh NAME
|
|
.Nm BBBB
|
|
.Nd Bootloader for
|
|
.Nx Ns /arm26
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl adsqv
|
|
.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 FFB (BASIC). 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 ented the kernel debugger as soon as possible.
|
|
.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.
|
|
.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
|
|
+ -> BBBB workspace
|
|
* -> Free space (BBBB 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 . The next is usually 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 SEE ALSO
|
|
.Xr reboot 2 ,
|
|
.Xr ddb 4 ,
|
|
.Xr init 8
|
|
.Sh HISTORY
|
|
.Nm
|
|
is as old as
|
|
.Nx Ns /arm26 ,
|
|
which isn't very old. Its name is a contraction of
|
|
.Dq Ben's BASIC BSD Bootloader .
|
|
.Sh BUGS
|
|
.Nm
|
|
cannot load kernels from a
|
|
.Nx
|
|
filesystem, nor can it load compressed kernels.
|