]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/defaults/loader.conf.5
loader: implement framebuffer console
[FreeBSD/FreeBSD.git] / stand / defaults / 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$
26 .Dd December 31, 2020
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
37 it you can specify the kernel to be booted, parameters to be passed to
38 it, and additional modules to be loaded; and generally set all variables
39 described in
40 .Xr loader 8 .
41 .Sh SYNTAX
42 Though
43 .Nm Ns 's
44 format was defined explicitly to resemble
45 .Xr rc.conf 5 ,
46 and can be sourced by
47 .Xr sh 1 ,
48 some settings are treated in a special fashion.
49 Also, the
50 behavior of some settings is defined by the setting's suffix;
51 the prefix identifies which module the setting controls.
52 .Pp
53 The general parsing rules are:
54 .Bl -bullet
55 .It
56 Spaces and empty lines are ignored.
57 .It
58 A # sign will mark the remainder of the line as a comment.
59 .It
60 Only one setting can be present on each line.
61 .El
62 .Pp
63 All settings have the following format:
64 .Pp
65 .Dl variable="value"
66 .Pp
67 Unless it belongs to one of the classes of settings that receive special
68 treatment, a setting will set the value of a
69 .Xr loader 8
70 environment variable.
71 The settings that receive special
72 treatment are listed below.
73 Settings beginning with
74 .Qq *
75 below define the modules to be loaded and
76 may have any prefix; the prefix identifies a module.
77 All such settings sharing a common
78 prefix refer to the same module.
79 .Bl -tag -width Ar
80 .It Ar exec
81 Immediately executes a
82 .Xr loader 8
83 command.
84 This type of setting cannot be processed by programs other
85 than
86 .Xr loader 8 ,
87 so its use should be avoided.
88 Multiple instances of it will be processed
89 independently.
90 .It Ar loader_conf_dirs
91 Space separated list of directories to process for configuration files.
92 The lua-based loader will process files with a
93 .Dq .conf
94 suffix that are placed in these directories.
95 .It Ar loader_conf_files
96 Defines additional configuration files to be processed right after the
97 present file.
98 .Ar loader_conf_files
99 should be treated as write-only.
100 One cannot depend on any value remaining in the loader environment or carried
101 over into the kernel environment.
102 .It Ar kernel
103 Name of the kernel to be loaded.
104 If no kernel name is set, no additional
105 modules will be loaded.
106 The name must be a subdirectory of
107 .Pa /boot
108 that contains a kernel.
109 .It Ar kernel_options
110 Flags to be passed to the kernel.
111 .It Ar vfs.root.mountfrom
112 Specify the root partition to mount.
113 For example:
114 .Pp
115 .Dl vfs.root.mountfrom="ufs:/dev/da0s1a"
116 .Pp
117 .Xr loader 8
118 automatically calculates the value of this tunable from
119 .Pa /etc/fstab
120 from the partition the kernel was loaded from.
121 The calculated value might be calculated incorrectly when
122 .Pa /etc/fstab
123 is not available during
124 .Xr loader 8
125 startup (as during diskless booting from NFS), or if a different
126 device is desired by the user.
127 The preferred value can be set in
128 .Pa /loader.conf .
129 .Pp
130 The value can also be overridden from the
131 .Xr loader 8
132 command line.
133 This is useful for system recovery when
134 .Pa /etc/fstab
135 is damaged, lost, or read from the wrong partition.
136 .It Ar password
137 Protect boot menu with a password without interrupting
138 .Ic autoboot
139 process.
140 The password should be in clear text format.
141 If a password is set, boot menu will not appear until any key is pressed during
142 countdown period specified by
143 .Va autoboot_delay
144 variable or
145 .Ic autoboot
146 process fails.
147 In both cases user should provide specified password to be able to access boot
148 menu.
149 .It Ar bootlock_password
150 Provides a password to be required by check-password before execution is
151 allowed to continue.
152 The password should be in clear text format.
153 If a password is set, the user must provide specified password to boot.
154 .It Ar verbose_loading
155 If set to
156 .Dq YES ,
157 module names will be displayed as they are loaded.
158 .It Ar module_blacklist
159 Blacklist of modules.
160 Modules specified in the blacklist may not be loaded automatically with a
161 .Ar *_load
162 directive, but they may be loaded directly at the
163 .Xr loader 8
164 prompt.
165 Blacklisted modules may still be loaded indirectly as dependencies of other
166 modules.
167 .It Ar *_load
168 If set to
169 .Dq YES ,
170 that module will be loaded.
171 If no name is defined (see below), the
172 module's name is taken to be the same as the prefix.
173 .It Ar *_name
174 Defines the name of the module.
175 .It Ar *_type
176 Defines the module's type.
177 If none is given, it defaults to a kld module.
178 .It Ar *_flags
179 Flags and parameters to be passed to the module.
180 .It Ar *_before
181 Commands to be executed before the module is loaded.
182 Use of this setting
183 should be avoided.
184 .It Ar *_after
185 Commands to be executed after the module is loaded.
186 Use of this setting
187 should be avoided.
188 .It Ar *_error
189 Commands to be executed if the loading of a module fails.
190 Except for the
191 special value
192 .Dq abort ,
193 which aborts the bootstrap process, use of this setting should be avoided.
194 .El
195 .Pp
196 .Em WARNING:
197 developers should never use these suffixes for any kernel environment
198 variables (tunables) or conflicts will result.
199 .Sh DEFAULT SETTINGS
200 Most of
201 .Nm Ns 's
202 default settings can be ignored.
203 The few of them which are important
204 or useful are:
205 .Bl -tag -width bootfile -offset indent
206 .It Va bitmap_load
207 .Pq Dq NO
208 If set to
209 .Dq YES ,
210 a bitmap will be loaded to be displayed on screen while booting.
211 .It Va bitmap_name
212 .Pq Dq Pa /boot/splash.bmp
213 Name of the bitmap to be loaded.
214 Any other name can be used.
215 .It Va comconsole_speed
216 .Dq ( 9600
217 or the value of the
218 .Va BOOT_COMCONSOLE_SPEED
219 variable when
220 .Xr loader 8
221 was compiled).
222 Sets the speed of the serial console.
223 If the previous boot loader stage specified that a serial console
224 is in use then the default speed is determined from the current
225 serial port speed setting.
226 .It Va console
227 .Pq Dq vidconsole
228 .Dq comconsole
229 selects serial console,
230 .Dq vidconsole
231 selects the video console,
232 .Dq nullconsole
233 selects a mute console
234 (useful for systems with neither a video console nor a serial port), and
235 .Dq spinconsole
236 selects the video console which prevents any input and hides all output
237 replacing it with
238 .Dq spinning
239 character (useful for embedded products and such).
240 .It Va efi_max_resolution
241 .It Va vbe_max_resolution
242 Specify the maximum desired resolution for the EFI or VESA BIOS Extension (VBE)
243 framebuffer console.
244 The following values are accepted:
245 .Bl -column "WidthxHeight"
246 .It Sy Value Ta Sy Resolution
247 .It 480p Ta 640x480
248 .It 720p Ta 1280x720
249 .It 1080p Ta 1920x1080
250 .It 2160p Ta 3840x2160
251 .It 4k Ta 3840x2160
252 .It 5k Ta 5120x2880
253 .It Va Width Ns x Ns Va Height Ta Va Width Ns x Ns Va Height
254 .El
255 .It Va kernel
256 .Pq Dq kernel
257 .It Va kernels
258 .Pq Dq kernel kernel.old
259 Space or comma separated list of kernels to present in the boot menu.
260 .It Va loader_conf_files
261 .Pq Dq Pa /boot/loader.conf /boot/loader.conf.local
262 .It Va loader_conf_dirs
263 .Pq Dq Pa /boot/loader.conf.d
264 .It Va splash_bmp_load
265 .Pq Dq NO
266 If set to
267 .Dq YES ,
268 will load the splash screen module, making it possible to display a bmp image
269 on the screen while booting.
270 .It Va splash_pcx_load
271 .Pq Dq NO
272 If set to
273 .Dq YES ,
274 will load the splash screen module, making it possible to display a pcx image
275 on the screen while booting.
276 .It Va vesa_load
277 .Pq Dq NO
278 If set to
279 .Dq YES ,
280 the vesa module will be loaded, enabling bitmaps above VGA resolution to
281 be displayed.
282 .It Va beastie_disable
283 If set to
284 .Dq YES ,
285 the beastie boot menu will be skipped.
286 .It Va loader_logo Pq Dq Li orbbw
287 Selects a desired logo in the beastie boot menu.
288 Possible values are:
289 .Dq Li orbbw ,
290 .Dq Li orb ,
291 .Dq Li fbsdbw ,
292 .Dq Li beastiebw ,
293 .Dq Li beastie ,
294 and
295 .Dq Li none .
296 .It Va loader_color
297 If set to
298 .Dq NO ,
299 the beastie boot menu will be displayed without ANSI coloring.
300 .It Va entropy_cache_load
301 .Pq Dq YES
302 If set to
303 .Dq NO ,
304 the very early
305 boot-time entropy file
306 will not be loaded.
307 See the entropy entries in
308 .Xr rc.conf 5 .
309 .It Va entropy_cache_name
310 .Pq Dq /boot/entropy
311 The name of the very early
312 boot-time entropy cache file.
313 .It Va cpu_microcode_load
314 .Pq Dq NO
315 If set to
316 .Dq YES ,
317 the microcode update file specified by
318 .Va cpu_microcode_name
319 will be loaded and applied very early during boot.
320 This provides functionality similar to
321 .Xr cpucontrol 8
322 but ensures that CPU features enabled by microcode updates can be
323 used by the kernel.
324 The update will be re-applied automatically when resuming from an
325 ACPI sleep state.
326 If the update file contains updates for multiple processor models,
327 the kernel will search for and extract a matching update.
328 Currently this setting is supported only on Intel
329 .Dv i386
330 and
331 .Dv amd64
332 processors.
333 It has no effect on other processor types.
334 .It Va cpu_microcode_name
335 A path to a microcode update file.
336 .El
337 .Sh OTHER SETTINGS
338 Other settings that may be used in
339 .Nm
340 that have no default value:
341 .Bl -tag -width bootfile -offset indent
342 .It Va fdt_overlays
343 Specifies a comma-delimited list of FDT overlays to apply.
344 .Pa /boot/dtb/overlays
345 is created by default for overlays to be placed in.
346 .It Va kernels_autodetect
347 If set to
348 .Dq YES ,
349 attempt to auto-detect kernels installed in
350 .Pa /boot .
351 This is an option specific to the Lua-based loader.
352 It is not available in the default Forth-based loader.
353 .El
354 .Sh FILES
355 .Bl -tag -width /boot/defaults/loader.conf -compact
356 .It Pa /boot/defaults/loader.conf
357 default settings -- do not change this file.
358 .It Pa /boot/loader.conf
359 user defined settings.
360 .It Pa /boot/loader.conf.local
361 machine-specific settings for sites with a common loader.conf.
362 .El
363 .Sh SEE ALSO
364 .Xr rc.conf 5 ,
365 .Xr boot 8 ,
366 .Xr cpucontrol 8 ,
367 .Xr loader 8 ,
368 .Xr loader.4th 8
369 .Sh HISTORY
370 The file
371 .Nm
372 first appeared in
373 .Fx 3.2 .
374 .Sh AUTHORS
375 This manual page was written by
376 .An Daniel C. Sobral Aq dcs@FreeBSD.org .
377 .Sh BUGS
378 The
379 .Xr loader 8
380 stops reading
381 .Nm
382 when it encounters a syntax error, so any options which are vital for
383 booting a particular system (i.e.\&
384 .Dq Va hw.ata.ata_dma Ns "=0" )
385 should precede any experimental additions to
386 .Nm .