loader.conf
—
system bootstrap configuration information
The file loader.conf
contains descriptive
information on bootstrapping the system. Through it you can specify the
kernel to be booted, parameters to be passed to it, and additional modules
to be loaded; and generally set all variables described in
loader(7).
Loader implements set of builtin commands and functions and script
interpreter as standalone binary program. When starting, the loader will
read the file /boot/loader.rc as initialization and
startup script, to include other support files and to read the
configuration, describing current boot environment. All loader scripts and
configuration files are located in the /boot
directory tree.
The file /boot/loader.rc must contain the
following two lines for loader.conf
to be
automatically processed:
include
/boot/forth/loader.4th
start
The default /boot/loader.rc is provided by
the operating system and may be replaced on operating system update. The
local updates are advised to be added into the
/boot/loader.rc.local
The configuration variables are read from the following files:
- /boot/solaris/bootenv.rc
- Managed by the eeprom(8)
command.
- /boot/defaults/loader.conf
- Loader defaults provided by the operating system.
- /boot/loader.conf
- System specific loader configuration. May be provided by the operating
system.
- /boot/loader.conf.local
- User editable loader configuration.
- /boot/conf.d/*
- User editable loader configuration snippets. The files are processed in
lexicographical order. The configuration snippets mechanism is not
available in case of TFTP boot as TFTP does not provide the directory
list.
- /boot/transient.conf
- Configuration file for transient boot. This file is created by the
reboot(8) command and is
automatically removed when system is reaching the multi-user run
level.
The configuration is processed in the order listed above.
The general parsing rules are:
- Spaces and empty lines are ignored.
- A # sign will mark the remainder of the line as a comment.
- Only one setting can be present on each line.
All settings have the following format:
variable="value"
Unless it belongs to one of the classes of settings that receive
special treatment, a setting will set the value of a
loader(7) environment variable. The
settings that receive special treatment are listed below. Settings beginning
with "*" below define the modules to be loaded and may have any
prefix; the prefix identifies a module. All such settings sharing a common
prefix refer to the same module.
- exec
- Immediately executes a loader(7)
command. This type of setting cannot be processed by programs other than
loader(7), so its use should be
avoided. Multiple instances of it will be processed independently.
- loader_conf_files
- Defines additional configuration files to be processed right after the
present file.
- kernel
- Name of the kernel to be loaded. If no kernel name is set, no additional
modules will be loaded.
- boot-args
- Flags to be passed to the kernel.
- password
- Protect boot menu with a password without interrupting
autoboot
process. The password should be in clear
text format. If a password is set, boot menu will not appear until any key
is pressed during countdown period specified by
autoboot_delay variable or
autoboot
process fails. In both cases user should
provide specified password to be able to access boot menu.
- bootlock_password
- Provides a password to be required by check-password before execution is
allowed to continue. The password should be in clear text format. If a
password is set, the user must provide specified password to boot.
- verbose_loading
- If set to “YES”, module names will be displayed as they are
loaded.
- *_load
- If set to “YES”, that module will be loaded. If no name is
defined (see below), the module's name is taken to be the same as the
prefix.
- *_name
- Defines the name of the module.
- *_type
- Defines the module's type. If none is given, it defaults to a kld
module.
- *_flags
- Flags and parameters to be passed to the module.
- *_before
- Commands to be executed before the module is loaded. Use of this setting
should be avoided.
- *_after
- Commands to be executed after the module is loaded. Use of this setting
should be avoided.
- *_error
- Commands to be executed if the loading of a module fails. Except for the
special value “abort”, which aborts the bootstrap process,
use of this setting should be avoided.
Most of loader.conf
's default settings can
be ignored. The few of them which are important or useful are:
- console
- (“text”) “ttya” - “ttyd” selects
serial console, “text” selects the video console,
“nullconsole” selects a mute console (useful for systems
with neither a video console nor a serial port), and
“spinconsole” selects the video console which prevents any
input and hides all output replacing it with “spinning”
character (useful for embedded products and such).
- kernel
- (“i86pc/kernel/${ISADIR}”) /platform
sub-directory containing kernel
- loader_conf_files
- (“/boot/loader.conf
/boot/loader.conf.local”)
- beastie_disable
- If set to “YES”, the beastie boot menu will be skipped. The
beastie boot menu is always skipped if running non-x86 hardware.
- loader_logo
(“
illumos
”)
- Selects a desired logo in the beastie boot menu. Possible values depend on
distribution; “
none
” will disable
the logo.
- loader_color
- If set to “NO”, the beastie boot menu will be displayed
without ANSI coloring.
The loader(7) stops reading
loader.conf
when it encounters a syntax error, so
any options which are vital for booting a particular system should precede
any experimental additions to loader.conf
.