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