dloader: Add a new option for color loader, "fred_is_blue"
[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 November 29, 2014
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 fred_disable
223 .Pq Dq NO
224 Shows a monochrome version of Fred, the official
225 .Dx
226 mascot, when the
227 boot menu appears.
228 To make his life a bit more colorful, consider setting
229 .Pa loader_color
230 to
231 .Dq YES .
232 .It Va fred_on_left
233 .Pq Dq NO
234 Shows Fred on the left side of the menu rather than the right side.
235 .It Va fred_separated
236 .Pq Dq NO
237 Draws a line between Fred and the menu block.
238 .It Va loader_color
239 .Pq Dq NO
240 If set to
241 .Dq YES ,
242 you'll meet Fred, the official
243 .Dx
244 mascot, in technicolor when the
245 boot menu appears (remember to set
246 .Pa fred_disable
247 to
248 .Dq NO
249 for this to work.)
250 .It Va fred_is blue
251 .Pq Dq NO
252 When a color loader is requested, Fred is depicted as a red dragonfly
253 with red wings.  This setting causes Fred to be shown as a blue dragonfly.
254 .It Va splash_bmp_load
255 .Pq Dq NO
256 If set to
257 .Dq YES ,
258 will load the splash screen module, making it possible to display a bmp image
259 on the screen while booting.
260 .It Va splash_pcx_load
261 .Pq Dq NO
262 If set to
263 .Dq YES ,
264 will load the splash screen module, making it possible to display a pcx image
265 on the screen while booting.
266 .It Va userconfig_script_load
267 .Pq Dq NO
268 If set to
269 .Dq YES ,
270 will load the userconfig data.
271 .It Va vesa_load
272 .Pq Dq NO
273 If set to
274 .Dq YES ,
275 the vesa module will be loaded, enabling bitmaps above VGA resolution to
276 be displayed.
277 .El
278 .Sh IPMI
279 Generally speaking machines with IPMI capabilities are capable of
280 redirecting the BIOS POST to a fake serial port controlled by the BMC.
281 It is then possible to use
282 .Xr ipmitool 1
283 from
284 .Xr dports 7
285 to access the console.
286 .Dx
287 kernels adjust the video mode in a way that the BMC cannot usually
288 redirect, so your best bet is to set the boot loader AND the kernel up to
289 use a serial port via the
290 .Va console=comconsole
291 feature described above.
292 Often the IPMI controller, called the BMC, is not sitting on COM1 so
293 .Dx Ap s
294 default console parameters and baud rate will not work.
295 .Sh FILES
296 .Bl -tag -width ".Pa /boot/defaults/dloader.menu" -compact
297 .It Pa /boot/defaults/dloader.menu
298 default settings for menu setup -- do not change this file.
299 .It Pa /boot/defaults/loader.conf
300 default settings -- do not change this file.
301 .It Pa /boot/dloader.menu
302 defines the commands used by
303 .Nm loader
304 to setup menus.
305 .It Pa /boot/loader.conf
306 user defined settings.
307 .It Pa /boot/loader.conf.local
308 machine-specific settings for sites with a common loader.conf.
309 .It Pa /boot/dloader.rc
310 contains the instructions to automatically process.
311 .El
312 .Sh SEE ALSO
313 .Xr boot 8 ,
314 .Xr loader 8
315 .Sh HISTORY
316 The file
317 .Nm
318 first appeared in
319 .Fx 3.2 .
320 .Sh AUTHORS
321 This manual page was written by
322 .An Daniel C. Sobral Aq Mt dcs@FreeBSD.org .