1 .\" $NetBSD: boot.cfg.5,v 1.17 2009/09/13 18:39:20 jmcneill Exp $
3 .\" Copyright (c) 2007 Stephen Borrill
4 .\" All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
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
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.
28 .Dd September 13, 2009
33 .Nd configuration file for /boot
37 is used to alter the behaviour of the standard boot loader described in
39 Configuration changes include setting the timeout, choosing a console device,
40 altering the banner text and displaying a menu allowing boot commands to be
44 file is not present, the system will boot as normal.
46 The format of the file is a series of lines containing keyword/value pairs
47 separated by an equals sign
49 There should be no whitespace surrounding the equals sign.
50 Lines beginning with a hash
52 are comments and will be ignored.
54 Some keywords can be present multiple times in the file to define additional
56 Such keywords are noted below.
58 .Bl -tag -width timeout
60 (may be present multiple times)
61 The text from banner lines is displayed instead of the standard welcome text
63 Up to 10 lines can be defined.
64 No special character sequences are recognised, so to specify a blank line, a
65 banner line with no value should be given.
67 If nonzero, clear the screen before printing the banner.
68 If zero, do not clear the screen (the default).
70 Changes the console device to that specified in the value.
71 Valid values are any of those that could be specified at the normal boot
72 prompt with the consdev command.
74 Used to specify the default menu item which will be chosen in the case of
75 Return being pressed or the timeout timer reaching zero.
76 The value is the number of the menu item as displayed.
77 As described above, the menu items are counted from 1 in the order listed in
79 If not specified, the default value will be option 1, i.e. the first item.
81 Changes how the menu options are displayed.
82 Should be set to one of
89 If set to automatic (the default), menu options will be displayed numerically
90 unless there are more than 9 options and the timeout is greater than zero.
91 If there are more than 9 options with a timeout greater than zero and
92 the format is set to number, only the first 9 options will be available.
94 Used to load kernel modules, which will be passed on to the kernel for
95 initialization during early boot.
96 The argument is either the complete path and file name of the module to be
97 loaded, or a symbolic module name.
98 When the argument is not an absolute path, the boot loader will first
100 .Pa /stand/\*[Lt]machine\*[Gt]/\*[Lt]kernel_version\*[Gt]/modules/\*[Lt]name\*[Gt]/\*[Lt]name\*[Gt].kmod .
101 If that file does not exist, it will then attempt to load
102 .Pa /\*[Lt]name\*[Gt] .
103 May be used as many times as needed.
105 (may be present multiple times)
106 Used to define a menu item to be displayed to the end-user at boot time
107 which allows a series of boot commands to be run without further typing.
108 The value consists of the required menu text, followed by a colon
110 and then the desired command(s).
111 Multiple commands can be specified separated by a semi-colon.
112 If the specified menu text is empty
113 (the colon appears immediately after the equals sign),
114 then the displayed menu text is the same as the command.
117 menu=Boot normally:boot
118 menu=Boot single-user:boot -s
119 menu=Boot with module foo:load /foo.kmod;boot
120 menu=Boot with serial console:consdev com0;boot
121 menu=:boot hd1a:netbsd -as
124 Each menu item will be prefixed by an ascending number when displayed,
125 i.e. the order in the
129 Each command is executed just as though the user had typed it in
130 and so can be any valid command that would be accepted at the
134 can be used to drop to the normal boot prompt.
136 If the value is greater than zero, this specifies the time in seconds
137 that the boot loader will wait for the end-user to choose a menu item.
138 During the countdown period, they may press Return to choose the default
139 option or press a number key corresponding to a menu option.
140 If any other key is pressed, the countdown will stop and the user will be
141 prompted to choose a menu option with no further time limit.
142 If the timeout value is set to zero, the default option will be booted
144 If the timeout value is negative or is not a number, there will be no
145 time limit for the user to choose an option.
151 .Bd -literal -offset indent
152 banner=Welcome to NetBSD
153 banner==================
155 banner=Please choose an option from the following menu:
156 menu=Boot normally:boot
157 menu=Boot single-user:boot -s
158 menu=Boot from second disk:boot hd1a:
159 menu=Boot with module foo:load /foo.kmod;boot
160 menu=Boot with modules foo and bar:load /foo.kmod;load /bar.kmod;boot
161 menu=Boot Xen with 256MB for dom0:load /netbsd-XEN3_DOM0 console=pc;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M
162 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
163 menu=Boot Xen with dom0 in single-user mode:load /netbsd-XEN3_DOM0 -s;multiboot /usr/pkg/xen3-kernel/xen.gz dom0_mem=256M
164 menu=Go to command line (advanced users only):prompt
168 # Always load ramdisk module
172 N.B. Xen counts serial ports from com1 upwards, but
174 counts from com0, so the appropriate device name must be used.
175 Please see the Xen with serial console example above.
177 This will clear the screen and display:
178 .Bd -literal -offset indent
182 Please choose an option from the following menu:
186 3. Boot from second disk
187 4. Boot with module foo
188 5. Boot with modules foo and bar
189 6. Boot Xen with 256 MB for dom0
190 7. Boot Xen with 256 MB for dom0 (serial)
191 8. Boot Xen with dom0 in single-user mode
192 9. Go to command line (advanced users only)
197 It will then wait for the user to type 1, 2, 3, 4, 5, 6, 7, 8 or 9 followed by
199 Pressing Return by itself will run option 1.
200 There will be no timeout.
215 .Aq sborrill@NetBSD.org .
224 It is hoped that its use will be extended to other appropriate ports that