.\" $NetBSD: boot26.8,v 1.7.8.1 2019/09/02 16:39:23 martin 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 September 4, 2009 .Dt BOOT26 8 acorn26 .Os .Sh NAME .Nm boot26 .Nd Bootloader for .Nx Ns /acorn26 .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 /acorn26 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 (see .Xr boothowto 9 ) : .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 AB_QUIET Cause the kernel to emit fewer messages than normal while starting up. .It Fl v .Pq Dv AB_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 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 /acorn26 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 enthusiastic reader. .Sh FILES .Bl -tag -width Pa .It Pa /usr/mdec/boot26,ffa The location of .Nm in the .Nx filesystem. .El .Sh SEE ALSO .Xr gzip 1 , .Xr reboot 2 , .Xr ddb 4 , .Xr userconf 4 , .Xr init 8 , .Xr boothowto 9 .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.