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