251 lines
8.6 KiB
Groff
251 lines
8.6 KiB
Groff
|
.\" $NetBSD: boot.cfg.5,v 1.24 2011/11/28 09:38:45 wiz Exp $
|
||
|
.\"
|
||
|
.\" Copyright (c) 2007 Stephen Borrill
|
||
|
.\" 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 28, 2011
|
||
|
.Dt BOOT.CFG 5
|
||
|
.Os
|
||
|
.Sh NAME
|
||
|
.Nm boot.cfg
|
||
|
.Nd configuration file for /boot
|
||
|
.Sh DESCRIPTION
|
||
|
The file
|
||
|
.Pa /boot.cfg
|
||
|
is used to alter the behaviour of the standard boot loader described in
|
||
|
.Xr boot 8 .
|
||
|
Configuration changes include setting the timeout, choosing a console device,
|
||
|
altering the banner text and displaying a menu allowing boot commands to be
|
||
|
easily chosen.
|
||
|
If a
|
||
|
.Nm
|
||
|
file is not present, the system will boot as normal.
|
||
|
.Ss FILE FORMAT
|
||
|
The format of the file is a series of lines containing keyword/value pairs
|
||
|
separated by an equals sign
|
||
|
.Pq Sq = .
|
||
|
There should be no whitespace surrounding the equals sign.
|
||
|
Lines beginning with a hash
|
||
|
.Pq Sq #
|
||
|
are comments and will be ignored.
|
||
|
.Pp
|
||
|
Some keywords can be present multiple times in the file to define additional
|
||
|
items.
|
||
|
Such keywords are noted below.
|
||
|
.Pp
|
||
|
.Bl -tag -width timeout
|
||
|
.It Sy banner
|
||
|
(may be present multiple times)
|
||
|
The text from banner lines is displayed instead of the standard welcome text
|
||
|
by the boot loader.
|
||
|
Up to 10 lines can be defined.
|
||
|
No special character sequences are recognised, so to specify a blank line, a
|
||
|
banner line with no value should be given.
|
||
|
.It Sy clear
|
||
|
If nonzero, clear the screen before printing the banner.
|
||
|
If zero, do not clear the screen (the default).
|
||
|
.It Sy consdev
|
||
|
Changes the console device to that specified in the value.
|
||
|
Valid values are any of those that could be specified at the normal boot
|
||
|
prompt with the consdev command.
|
||
|
.It Sy default
|
||
|
Used to specify the default menu item which will be chosen in the case of
|
||
|
Return being pressed or the timeout timer reaching zero.
|
||
|
The value is the number of the menu item as displayed.
|
||
|
As described above, the menu items are counted from 1 in the order listed in
|
||
|
.Nm .
|
||
|
If not specified, the default value will be option 1, i.e. the first item.
|
||
|
.It Sy format
|
||
|
Changes how the menu options are displayed.
|
||
|
Should be set to one of
|
||
|
.Sq a
|
||
|
for automatic,
|
||
|
.Sq l
|
||
|
for letters and
|
||
|
.Sq n
|
||
|
for numbers.
|
||
|
If set to automatic (the default), menu options will be displayed numerically
|
||
|
unless there are more than 9 options and the timeout is greater than zero.
|
||
|
If there are more than 9 options with a timeout greater than zero and
|
||
|
the format is set to number, only the first 9 options will be available.
|
||
|
.It Sy load
|
||
|
Used to load kernel modules, which will be passed on to the kernel for
|
||
|
initialization during early boot.
|
||
|
The argument is either the complete path and file name of the module to be
|
||
|
loaded, or a symbolic module name.
|
||
|
When the argument is not an absolute path, the boot loader will first
|
||
|
attempt to load
|
||
|
.Pa /stand/\*[Lt]machine\*[Gt]/\*[Lt]kernel_version\*[Gt]/modules/\*[Lt]name\*[Gt]/\*[Lt]name\*[Gt].kmod .
|
||
|
If that file does not exist, it will then attempt to load
|
||
|
.Pa /\*[Lt]name\*[Gt] .
|
||
|
May be used as many times as needed.
|
||
|
.It Sy menu
|
||
|
(may be present multiple times)
|
||
|
Used to define a menu item to be displayed to the end-user at boot time
|
||
|
which allows a series of boot commands to be run without further typing.
|
||
|
The value consists of the required menu text, followed by a colon
|
||
|
.Pq Sq \&:
|
||
|
and then the desired command(s).
|
||
|
Multiple commands can be specified separated by a semi-colon.
|
||
|
If the specified menu text is empty
|
||
|
(the colon appears immediately after the equals sign),
|
||
|
then the displayed menu text is the same as the command.
|
||
|
For example:
|
||
|
.Bd -literal
|
||
|
menu=Boot normally:boot
|
||
|
menu=Boot single-user:boot -s
|
||
|
menu=Boot with module foo:load /foo.kmod;boot
|
||
|
menu=Boot with serial console:consdev com0;boot
|
||
|
menu=:boot hd1a:netbsd -as
|
||
|
.Ed
|
||
|
.Pp
|
||
|
Each menu item will be prefixed by an ascending number when displayed,
|
||
|
i.e. the order in the
|
||
|
.Nm
|
||
|
file is important.
|
||
|
.Pp
|
||
|
Each command is executed just as though the user had typed it in
|
||
|
and so can be any valid command that would be accepted at the
|
||
|
normal boot prompt.
|
||
|
In addition,
|
||
|
.Dq Ic edit
|
||
|
can be used to put the menu in editing mode, allowing the user to modify the
|
||
|
next selected option before executing it, and
|
||
|
.Dq Ic prompt
|
||
|
can be used to drop to the normal boot prompt.
|
||
|
.It Sy timeout
|
||
|
If the value is greater than zero, this specifies the time in seconds
|
||
|
that the boot loader will wait for the end-user to choose a menu item.
|
||
|
During the countdown period, they may press Return to choose the default
|
||
|
option or press a number key corresponding to a menu option.
|
||
|
If any other key is pressed, the countdown will stop and the user will be
|
||
|
prompted to choose a menu option with no further time limit.
|
||
|
If the timeout value is set to zero, the default option will be booted
|
||
|
immediately.
|
||
|
If the timeout value is negative or is not a number, there will be no
|
||
|
time limit for the user to choose an option.
|
||
|
.It Sy userconf
|
||
|
Passes a
|
||
|
.Xr userconf 4
|
||
|
command to the kernel at boot time .
|
||
|
.It Sy rndseed
|
||
|
Takes the path to a random-seed file as written by the
|
||
|
.Fl S
|
||
|
flag to
|
||
|
.Xr rndctl 8
|
||
|
as an argument.
|
||
|
This file is used to seed the kernel entropy pool
|
||
|
.Xr rnd 9
|
||
|
very early in kernel startup, so that high quality randomness is
|
||
|
available to all kernel modules.
|
||
|
This argument should be supplied
|
||
|
before any
|
||
|
.Dq Ic load
|
||
|
commands that may load executable modules.
|
||
|
.El
|
||
|
.Sh EXAMPLES
|
||
|
Here is an example
|
||
|
.Nm
|
||
|
file:
|
||
|
.Bd -literal -offset indent
|
||
|
banner=Welcome to NetBSD
|
||
|
banner==================
|
||
|
banner=
|
||
|
banner=Please choose an option from the following menu:
|
||
|
menu=Boot normally:boot
|
||
|
menu=Boot single-user:boot -s
|
||
|
menu=Boot from second disk:boot hd1a:
|
||
|
menu=Boot with module foo:load /foo.kmod;boot
|
||
|
menu=Boot with modules foo and bar:load /foo.kmod;load /bar.kmod;boot
|
||
|
menu=Boot Xen with 256MB for dom0:load /netbsd-XEN3_DOM0 console=pc;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M
|
||
|
menu=Boot Xen with 256MB for dom0 (serial):load /netbsd-XEN3_DOM0 console=com0;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M console=com1 com1=115200,8n1
|
||
|
menu=Boot Xen with dom0 in single-user mode:load /netbsd-XEN3_DOM0 -s;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M
|
||
|
menu=Go to command line (advanced users only):prompt
|
||
|
clear=1
|
||
|
timeout=-1
|
||
|
default=1
|
||
|
userconf disable ehci*
|
||
|
# Always load ramdisk module
|
||
|
load=/miniroot.kmod
|
||
|
.Ed
|
||
|
.Pp
|
||
|
N.B. Xen counts serial ports from com1 upwards, but
|
||
|
.Nx
|
||
|
counts from com0, so the appropriate device name must be used.
|
||
|
Please see the Xen with serial console example above.
|
||
|
.Pp
|
||
|
This will clear the screen and display:
|
||
|
.Bd -literal -offset indent
|
||
|
Welcome to NetBSD
|
||
|
=================
|
||
|
|
||
|
Please choose an option from the following menu:
|
||
|
|
||
|
1. Boot normally
|
||
|
2. Boot single-user
|
||
|
3. Boot from second disk
|
||
|
4. Boot with module foo
|
||
|
5. Boot with modules foo and bar
|
||
|
6. Boot Xen with 256 MB for dom0
|
||
|
7. Boot Xen with 256 MB for dom0 (serial)
|
||
|
8. Boot Xen with dom0 in single-user mode
|
||
|
9. Go to command line (advanced users only)
|
||
|
|
||
|
Option [1]:
|
||
|
.Ed
|
||
|
.Pp
|
||
|
It will then wait for the user to type 1, 2, 3, 4, 5, 6, 7, 8 or 9 followed by
|
||
|
Return.
|
||
|
Pressing Return by itself will run option 1.
|
||
|
There will be no timeout.
|
||
|
.Sh SEE ALSO
|
||
|
.Xr boot 8 ,
|
||
|
.Xr boothowto 9
|
||
|
.Sh HISTORY
|
||
|
The
|
||
|
.Nm
|
||
|
file appeared in
|
||
|
.Nx 5.0 .
|
||
|
.Sh AUTHORS
|
||
|
The
|
||
|
.Nm
|
||
|
extensions to
|
||
|
.Xr boot 8
|
||
|
were written by
|
||
|
.An Stephen Borrill
|
||
|
.Aq sborrill@NetBSD.org .
|
||
|
.Sh BUGS
|
||
|
Support for
|
||
|
.Nm
|
||
|
is currently for
|
||
|
.Nx Ns /i386
|
||
|
and
|
||
|
.Nx Ns /amd64
|
||
|
only.
|
||
|
It is hoped that its use will be extended to other appropriate ports that
|
||
|
use the
|
||
|
.Xr boot 8
|
||
|
interface.
|