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