xref: /netbsd-src/share/man/man5/boot.cfg.5 (revision 181254a7b1bdde6873432bffef2d2decc4b5c22f)
1.\"	$NetBSD: boot.cfg.5,v 1.28 2017/07/03 21:30:59 wiz Exp $
2.\"
3.\" Copyright (c) 2007 Stephen Borrill
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. The name of the author may not be used to endorse or promote products
15.\"    derived from this software without specific prior written permission
16.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25.\" INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27.\"
28.Dd April 25, 2014
29.Dt BOOT.CFG 5
30.Os
31.Sh NAME
32.Nm boot.cfg
33.Nd configuration file for /boot
34.Sh DESCRIPTION
35The file
36.Pa /boot.cfg
37is used to alter the behaviour of the standard boot loader described in
38.Xr boot 8 .
39Configuration changes include setting the timeout, choosing a console device,
40altering the banner text and displaying a menu allowing boot commands to be
41easily chosen.
42If a
43.Nm
44file is not present, the system will boot as normal.
45.Ss FILE FORMAT
46The format of the file is a series of lines containing keyword/value pairs
47separated by an equals sign
48.Pq Sq = .
49There should be no whitespace surrounding the equals sign.
50Lines beginning with a hash
51.Pq Sq #
52are comments and will be ignored.
53.Pp
54Some keywords can be present multiple times in the file to define additional
55items.
56Such keywords are noted below.
57.Bl -tag -width timeout
58.It Sy banner
59(may be present multiple times)
60The text from banner lines is displayed instead of the standard welcome text
61by the boot loader.
62Up to 10 lines can be defined.
63No special character sequences are recognised, so to specify a blank line, a
64banner line with no value should be given.
65.It Sy clear
66If nonzero, clear the screen before printing the banner.
67If zero, do not clear the screen (the default).
68.It Sy consdev
69Changes the console device to that specified in the value.
70Valid values are any of those that could be specified at the normal boot
71prompt with the consdev command.
72.It Sy default
73Used to specify the default menu item  which will be chosen in the case of
74Return being pressed or the timeout timer reaching zero.
75The value is the number of the menu item as displayed.
76As described above, the menu items are counted from 1 in the order listed in
77.Nm .
78If not specified, the default value will be option 1, i.e. the first item.
79.It Sy format
80Changes how the menu options are displayed.
81Should be set to one of
82.Sq a
83for automatic,
84.Sq l
85for letters and
86.Sq n
87for numbers.
88If set to automatic (the default), menu options will be displayed numerically
89unless there are more than 9 options and the timeout is greater than zero.
90If there are more than 9 options with a timeout greater than zero and
91the format is set to number, only the first 9 options will be available.
92.It Sy load
93Used to load kernel modules, which will be passed on to the kernel for
94initialization during early boot.
95The argument is either the complete path and file name of the module to be
96loaded, or a symbolic module name.
97When the argument is not an absolute path, the boot loader will first
98attempt to load
99.Pa /stand/<machine>/<kernel_version>/modules/<name>/<name>.kmod .
100If that file does not exist, it will then attempt to load
101.Pa /<name> .
102May be used as many times as needed.
103.It Sy menu
104(may be present multiple times)
105Used to define a menu item to be displayed to the end-user at boot time
106which allows a series of boot commands to be run without further typing.
107The value consists of the required menu text, followed by a colon
108.Pq Sq \&:
109and then the desired command(s).
110Multiple commands can be specified separated by a semi-colon.
111If the specified menu text is empty
112(the colon appears immediately after the equals sign),
113then the displayed menu text is the same as the command.
114For example:
115.Bd -literal
116menu=Boot normally:boot
117menu=Boot single-user:boot -s
118menu=Boot with module foo:load /foo.kmod;boot
119menu=Boot with serial console:consdev com0;boot
120menu=:boot hd1a:netbsd -as
121.Ed
122.Pp
123Each menu item will be prefixed by an ascending number when displayed,
124i.e. the order in the
125.Nm
126file is important.
127.Pp
128Each command is executed just as though the user had typed it in
129and so can be any valid command that would be accepted at the
130normal boot prompt.
131In addition,
132.Dq Ic prompt
133can be used to drop to the normal boot prompt.
134.It Sy rndseed
135Takes the path to a random-seed file as written by the
136.Fl S
137flag to
138.Xr rndctl 8
139as an argument.
140This file is used to seed the kernel entropy pool
141.Xr rnd 9
142very early in kernel startup, so that high quality randomness is
143available to all kernel modules.
144This argument should be supplied
145before any
146.Dq Ic load
147commands that may load executable modules.
148.It Sy timeout
149If the value is greater than zero, this specifies the time in seconds
150that the boot loader will wait for the end-user to choose a menu item.
151During the countdown period, they may press Return to choose the default
152option or press a number key corresponding to a menu option.
153If any other key is pressed, the countdown will stop and the user will be
154prompted to choose a menu option with no further time limit.
155If the timeout value is set to zero, the default option will be booted
156immediately.
157If the timeout value is negative or is not a number, there will be no
158time limit for the user to choose an option.
159.It Sy userconf
160Passes a
161.Xr userconf 4
162command to the kernel at boot time.
163.El
164.Sh EXAMPLES
165Here is an example
166.Nm
167file:
168.Bd -literal -offset indent
169banner=Welcome to NetBSD
170banner==================
171banner=
172banner=Please choose an option from the following menu:
173menu=Boot normally:boot
174menu=Boot single-user:boot -s
175menu=Boot from second disk:boot hd1a:
176menu=Boot with module foo:load /foo.kmod;boot
177menu=Boot with modules foo and bar:load /foo.kmod;load /bar.kmod;boot
178menu=Boot Xen with 256MB for dom0:load /netbsd-XEN3_DOM0 console=pc;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M
179menu=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
180menu=Boot Xen with dom0 in single-user mode:load /netbsd-XEN3_DOM0 -s;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M
181menu=Go to command line (advanced users only):prompt
182clear=1
183timeout=-1
184default=1
185userconf=disable ehci*
186# Always load ramdisk module
187load=/miniroot.kmod
188.Ed
189.Pp
190N.B. Xen counts serial ports from com1 upwards, but
191.Nx
192counts from com0, so the appropriate device name must be used.
193Please see the Xen with serial console example above.
194.Pp
195This will clear the screen and display:
196.Bd -literal -offset indent
197Welcome to NetBSD
198=================
199
200Please choose an option from the following menu:
201
202      1. Boot normally
203      2. Boot single-user
204      3. Boot from second disk
205      4. Boot with module foo
206      5. Boot with modules foo and bar
207      6. Boot Xen with 256 MB for dom0
208      7. Boot Xen with 256 MB for dom0 (serial)
209      8. Boot Xen with dom0 in single-user mode
210      9. Go to command line (advanced users only)
211
212Option [1]:
213.Ed
214.Pp
215It will then wait for the user to type 1, 2, 3, 4, 5, 6, 7, 8 or 9 followed by
216Return.
217Pressing Return by itself will run option 1.
218There will be no timeout.
219.Sh SEE ALSO
220.Xr boot 8 ,
221.Xr boothowto 9
222.Sh HISTORY
223The
224.Nm
225file appeared in
226.Nx 5.0 .
227.Sh AUTHORS
228The
229.Nm
230extensions to
231.Xr boot 8
232were written by
233.An Stephen Borrill
234.Aq sborrill@NetBSD.org .
235.Sh BUGS
236Support for
237.Nm
238is currently for
239.Nx Ns /i386
240and
241.Nx Ns /amd64
242only.
243It is hoped that its use will be extended to other appropriate ports that
244use the
245.Xr boot 8
246interface.
247