.\" $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 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.