i386 removal, part 21/x: Remove obsolete i386 specific USERCONFIG bits.
[dragonfly.git] / share / man / man5 / loader.conf.5
1 .\" Copyright (c) 1999 Daniel C. Sobral
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD: src/sys/boot/forth/loader.conf.5,v 1.18 2002/08/27 01:02:56 trhodes Exp $
26 .Dd March 28, 2015
27 .Dt LOADER.CONF 5
28 .Os
29 .Sh NAME
30 .Nm loader.conf
31 .Nd system bootstrap configuration information
32 .Sh DESCRIPTION
33 The file
34 .Nm
35 contains descriptive information on bootstrapping the system.
36 Through it you can specify the kernel to be booted,
37 parameters to be passed to it,
38 and additional kernel modules to be loaded;
39 and generally set all variables described in
40 .Xr loader 8 .
41 .Pp
42 A file
43 .Pa dloader.rc
44 must contain the following lines for
45 .Nm
46 to be automatically processed:
47 .Pp
48 .Dl include defaults/loader.conf
49 .Dl optinclude loader.conf
50 .Dl optinclude loader.conf.local
51 .Pp
52 If no
53 .Pa /boot/dloader.rc
54 exists at installworld time, one with the above lines will be installed.
55 .Sh SYNTAX
56 Though
57 .Nm Ns 's
58 format was defined explicitly to resemble
59 .Xr rc.conf 5 ,
60 and can be sourced by
61 .Xr sh 1 ,
62 some settings are treated in a special fashion.
63 Also, the behavior of some settings is defined by the setting's suffix;
64 the prefix identifies which module the setting controls.
65 .Pp
66 The general parsing rules are:
67 .Bl -bullet
68 .It
69 Spaces and empty lines are ignored.
70 .It
71 A
72 .Ql #
73 sign will mark the remainder of the line as a comment.
74 .It
75 Only one setting can be present on each line.
76 .El
77 .Pp
78 All settings have the following format:
79 .Pp
80 .Dl variable="value"
81 .Pp
82 This assigns value to a local variable.
83 If variable is in a list of known kernel environment variables or
84 is a kernel tunable,
85 it is also assigned to the kernel environment variable of the given name.
86 .Pp
87 The settings that receive special treatment are listed below.
88 Settings beginning with
89 .Aq Ar module
90 below define the kernel modules to be loaded.
91 All such settings sharing a common
92 prefix refer to the same module.
93 .Bl -tag -width indent
94 .It Ar kernel
95 Name of the kernel to be loaded.
96 If no kernel name is set, no additional
97 modules will be loaded.
98 .It Ar kernel_options
99 Flags to be passed to the kernel (see
100 .Xr boot 8 ) .
101 .It Ar verbose_loading
102 If set to
103 .Dq YES ,
104 module names will be displayed as they are loaded.
105 .It Ao Ar module Ac Ns Ar _load
106 If set to
107 .Dq YES ,
108 that kernel module will be loaded.
109 If no
110 .Ao Ar module Ac Ns Ar _name
111 is defined (see below), the
112 module's name is taken to be
113 .Aq Ar module .
114 .It Ao Ar module Ac Ns Ar _name
115 Defines the name of the module.
116 .It Ao Ar module Ac Ns Ar _type
117 Defines the module's type.
118 If none is given, it defaults to a
119 .Xr kld 4
120 module.
121 .It Ao Ar module Ac Ns Ar _flags
122 Flags and parameters to be passed to the module.
123 .It Ao Ar module Ac Ns Ar _before
124 Commands to be executed before the module is loaded.
125 Use of this setting
126 should be avoided.
127 .It Ao Ar module Ac Ns Ar _after
128 Commands to be executed after the module is loaded.
129 Use of this setting
130 should be avoided.
131 .It Ao Ar module Ac Ns Ar _error
132 Commands to be executed if the loading of a module fails.
133 Except for the
134 special value
135 .Dq abort ,
136 which aborts the bootstrap process, use of this setting should be avoided.
137 .El
138 .Sh DEFAULT SETTINGS
139 See
140 .Pa /boot/defaults/loader.conf
141 for
142 .Nm Ns 's
143 default settings.
144 The few of them which are important
145 or useful are:
146 .Bl -tag -width indent
147 .It Va bitmap_load
148 .Pq Dq NO
149 If set to
150 .Dq YES ,
151 a bitmap will be loaded to be displayed on screen while booting.
152 .It Va bitmap_name
153 .Pq Dq splash.bmp
154 Name of the bitmap to be loaded.
155 Any other name can be used.
156 .It Va boot_verbose
157 .Pq Dq NO
158 Set to
159 .Dq YES
160 to enable verbose booting.
161 .It Va console
162 .Pq Dq vidconsole
163 .Dq comconsole
164 selects serial console,
165 .Dq vidconsole
166 selects the video console, and
167 .Dq nullconsole
168 selects a mute console
169 (useful for systems with neither a video console nor a serial port).
170 .Pp
171 When using a comconsole the kernel defaults to allowing a console on sio0.
172 To change this to sio1 you must specify
173 .Va sio0.flags=0
174 and
175 .Va sio1.flags=0x10
176 in addition to setting the console to the comconsole.
177 You can also set the baud rate with (for example)
178 .Va sio1.baud=115200
179 or simply inherit the baud set in the boot code.
180 Normally these must be set if you want to use a stock kernel in a
181 IPMI environment.
182 When setting the serial console you must specify the serial port
183 with (for example)
184 .Va sio1.port=0x3e8 .
185 Typically sio0 is on 0x3f8 and sio1 is on 0x2f8, but IPMI consoles
186 on sio1 are often on 0x3e8 (instead of sio2), which can be confusing.
187 Be sure to specify the correct port
188 if you want early kernel boot messages to work.
189 If you do not specify the port the console will still operate on
190 the serial port but only after the kernel has started init.
191 .Pp
192 Some IPMI environments do not enable sio1 during the BIOS boot,
193 which can cause the loader to get confused and not pass RB_SERIAL
194 to the kernel.
195 Setting console=comconsole in this situation also does not work because
196 then the loader is inacessible.  Instead, set the sioX fields as shown
197 above and also add
198 .Va set boot_serial="YES"
199 to cause the kernel to use the serial port without also forcing the
200 boot loader to use the serial port.
201 .Pp
202 The boot1/boot2 code uses BIOS calls to read and write the screen but also
203 mirrors output to and monitors COM1 @ 9600.
204 In an IPMI environment you do not usually have to adjust the boot code
205 at all, instead using the IPMI feature to redirect the video output.
206 In non-IPMI setups if you want the boot code to be available on
207 COM2 at 57600 baud instead of COM1, for example, you must set the variables
208 .Va BOOT_COMCONSOLE_PORT=0x2f8
209 and
210 .Va BOOT_COMCONSOLE_SPEED=57600
211 in
212 .Pa /etc/make.conf
213 and recompile and install the boot code at
214 .Pa /usr/src/sys/boot ,
215 then install the bootcode to the partition via
216 .Xr disklabel 8 .
217 .Pp
218 Note that in comconsole mode the kernel will pick up the baud rate
219 from the boot loader, so no kernel recompile is needed.
220 .It Va kernel
221 .Pq Dq kernel .
222 .It Va loader_plain
223 .Pq Dq NO
224 Unlike in the past, the loader defaults to displaying Fred, the official
225 .Dx
226 mascot, in color when the boot menu appears, unless
227 .Pa console
228 is set to
229 .Dq comconsole
230 in
231 .Pa loader.conf
232 or in the environment. If set to
233 .Dq YES ,
234 Fred will always be displayed in monochrome.
235 .It Va fred_is_red
236 .Pq Dq NO
237 Under color mode, Fred is depicted as a blue dragonfly with cyan wings
238 by default.  If set to
239 .Dq YES ,
240 Fred will be shown as a red dragonfly with red wings instead.
241 .It Va fred_disable
242 .Pq Dq NO
243 Fred is displayed with the menu by default.  If set to
244 .Dq YES ,
245 Fred will not be shown.  The area will simply be blank.
246 .It Va fred_on_left
247 .Pq Dq NO
248 If set to
249 .Dq YES ,
250 Fred will be displayed on the left side of the menu rather than the right side.
251 .It Va fred_separated
252 .Pq Dq NO
253 If set to
254 .Dq YES ,
255 a line will be drawn between Fred and the menu block.
256 .It Va splash_bmp_load
257 .Pq Dq NO
258 If set to
259 .Dq YES ,
260 will load the splash screen module, making it possible to display a bmp image
261 on the screen while booting.
262 .It Va splash_pcx_load
263 .Pq Dq NO
264 If set to
265 .Dq YES ,
266 will load the splash screen module, making it possible to display a pcx image
267 on the screen while booting.
268 .It Va vesa_load
269 .Pq Dq NO
270 If set to
271 .Dq YES ,
272 the vesa module will be loaded, enabling bitmaps above VGA resolution to
273 be displayed.
274 .El
275 .Sh IPMI
276 Generally speaking machines with IPMI capabilities are capable of
277 redirecting the BIOS POST to a fake serial port controlled by the BMC.
278 It is then possible to use
279 .Xr ipmitool 1
280 from
281 .Xr dports 7
282 to access the console.
283 .Dx
284 kernels adjust the video mode in a way that the BMC cannot usually
285 redirect, so your best bet is to set the boot loader AND the kernel up to
286 use a serial port via the
287 .Va console=comconsole
288 feature described above.
289 Often the IPMI controller, called the BMC, is not sitting on COM1 so
290 .Dx Ap s
291 default console parameters and baud rate will not work.
292 .Sh FILES
293 .Bl -tag -width ".Pa /boot/defaults/dloader.menu" -compact
294 .It Pa /boot/defaults/dloader.menu
295 default settings for menu setup -- do not change this file.
296 .It Pa /boot/defaults/loader.conf
297 default settings -- do not change this file.
298 .It Pa /boot/dloader.menu
299 defines the commands used by
300 .Nm loader
301 to setup menus.
302 .It Pa /boot/loader.conf
303 user defined settings.
304 .It Pa /boot/loader.conf.local
305 machine-specific settings for sites with a common loader.conf.
306 .It Pa /boot/dloader.rc
307 contains the instructions to automatically process.
308 .El
309 .Sh SEE ALSO
310 .Xr boot 8 ,
311 .Xr loader 8
312 .Sh HISTORY
313 The file
314 .Nm
315 first appeared in
316 .Fx 3.2 .
317 .Sh AUTHORS
318 This manual page was written by
319 .An Daniel C. Sobral Aq Mt dcs@FreeBSD.org .