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.\" 27.Dd November 13, 2013 28.Dt LOADER.4TH 8 29.Os 30.Sh NAME 31.Nm loader.4th 32.Nd loader.conf processing tools 33.Sh DESCRIPTION 34The file that goes by the name of 35.Nm 36is a set of commands designed to manipulate 37.Xr loader.conf 5 38files. 39The default 40.Pa /boot/loader.rc 41includes 42.Nm 43and uses one of its commands to automatically read and process 44the standard 45.Xr loader.conf 5 46files. 47Other commands exists to help the user specify alternate 48configurations. 49.Pp 50The commands of 51.Nm 52by themselves are not enough for most uses. 53Please refer to the 54examples below for the most common situations, and to 55.Xr loader 8 56for additional commands. 57.Pp 58Before using any of the commands provided in 59.Nm , 60it must be included 61through the command: 62.Pp 63.Dl include loader.4th 64.Pp 65This line is present in the default 66.Pa /boot/loader.rc 67file, so it is not needed (and should not be re-issued) in a normal setup. 68.Pp 69The commands provided by it are: 70.Bl -tag -width disable-module_module -compact -offset indent 71.It Ic boot 72.It Ic boot Ar kernelname Op Cm ... 73.It Ic boot Ar directory Op Cm ... 74.It Ic boot Fl flag Cm ... 75Boot as specified by the 76.Xr loader.conf 5 77files read. 78.Pp 79Depending on the arguments passed, it can override boot flags and 80either the kernel name or the search path for kernel and modules. 81.Pp 82.It Ic boot-conf 83.It Ic boot-conf Ar kernelname Op Cm ... 84.It Ic boot-conf Ar directory Op Cm ... 85.It Ic boot-conf Fl flag Cm ... 86Works like 87.Ic boot 88described above, but instead of booting immediately, uses 89.Ic autoboot , 90so it can be stopped. 91.Pp 92.It Ic start 93Reads 94.Pa /boot/defaults/loader.conf , 95all other 96.Xr loader.conf 5 97files specified in it, then loads the desired kernel and modules 98.Pq if not already loaded . 99After which you can use the 100.Ic boot 101or 102.Ic autoboot 103commmands or simply exit (provided 104.Va autoboot_delay 105is not set to NO) to boot the system. 106.Ic start 107is the command used in the default 108.Pa /boot/loader.rc 109file 110.Pq see Xr loader 8 . 111.Pp 112.It Ic initialize 113Initialize the support library so commands can be used without executing 114.Ic start 115first. 116Like 117.Ic start , 118it reads 119.Pa /boot/defaults/loader.conf 120and all other 121.Xr loader.conf 5 122files specified in it 123.Pq but does not load kernel or modules . 124Returns a flag on the stack to indicate 125if any configuration files were successfully loaded. 126.Pp 127.It Ic read-conf Ar filename 128Reads and processes a 129.Xr loader.conf 5 130file. 131Does not proceed to boot. 132.Pp 133.It Ic enable-module Ar module 134Enables the loading of 135.Ar module . 136.Pp 137.It Ic disable-module Ar module 138Disables the loading of 139.Ar module . 140.Pp 141.It Ic toggle-module Ar module 142Toggles the loading of 143.Ar module 144on and off. 145.Pp 146.It Ic show-module Ar module 147Shows the information gathered in the 148.Xr loader.conf 5 149files about the module 150.Ar module . 151.Pp 152.It Ic retry 153Used inside 154.Xr loader.conf 5 155files to specify the action after a module loading fails. 156.Pp 157.It Ic ignore 158Used inside 159.Xr loader.conf 5 160files to specify the action after a module loading fails. 161.It Ic try-include Ar file Op Ar 162Process script files if they exist. 163Each file, in turn, is completely read into memory, 164and then each of its lines is passed to the command line interpreter. 165If any error is returned by the interpreter, the try-include 166command aborts immediately, without reading any other files, and 167silently returns without error. 168.El 169.Sh FILES 170.Bl -tag -width /boot/loader.4th -compact 171.It Pa /boot/loader 172The 173.Xr loader 8 . 174.It Pa /boot/loader.4th 175.Nm 176itself. 177.It Pa /boot/loader.rc 178.Xr loader 8 179bootstrapping script. 180.It Pa /boot/defaults/loader.conf 181File loaded by the 182.Ic start 183command. 184.El 185.Sh EXAMPLES 186Standard 187.Pa /boot/loader.rc : 188.Pp 189.Bd -literal -offset indent -compact 190include /boot/loader.4th 191start 192.Ed 193.Pp 194Load a different kernel with the standard configuration: 195.Pp 196.Bd -literal -offset indent -compact 197set kernel="kernel.old" 198unload 199boot-conf 200.Ed 201.Pp 202Read an additional configuration file and then proceed to boot: 203.Pp 204.Bd -literal -offset indent -compact 205unload 206read-conf /boot/special.conf 207boot-conf 208.Ed 209.Pp 210Disable the loading of the splash screen module and bitmap and then 211proceed to boot: 212.Pp 213.Bd -literal -offset indent -compact 214unload 215disable-module splash_bmp 216disable-module bitmap 217boot-conf 218.Ed 219.Sh SEE ALSO 220.Xr loader.conf 5 , 221.Xr loader 8 222.Sh HISTORY 223The 224.Nm 225set of commands first appeared in 226.Fx 3.2 . 227.Sh AUTHORS 228The 229.Nm 230set of commands was written by 231.An Daniel C. Sobral Aq dcs@FreeBSD.org . 232.Sh BUGS 233A British espionage series. 234