xref: /freebsd/usr.sbin/sysconf/sysconf-loader.8 (revision b4a465e566a1850e232b454efe99e05c1ea93f67)
1*3fe5961aSDevin Teske.\" Copyright (c) 2013-2026 Devin Teske <dteske@FreeBSD.org>
2*3fe5961aSDevin Teske.\" Copyright (c) 2021-2026 Faraz Vahedi <kfv@FreeBSD.org>
3*3fe5961aSDevin Teske.\"
4*3fe5961aSDevin Teske.\" SPDX-License-Identifier: BSD-2-Clause
5*3fe5961aSDevin Teske.\"
6*3fe5961aSDevin Teske.Dd August 2, 2026
7*3fe5961aSDevin Teske.Dt SYSCONF-LOADER 8
8*3fe5961aSDevin Teske.Os
9*3fe5961aSDevin Teske.Sh NAME
10*3fe5961aSDevin Teske.Nm "sysconf loader"
11*3fe5961aSDevin Teske.Nd configure boot loader directives
12*3fe5961aSDevin Teske.Sh SYNOPSIS
13*3fe5961aSDevin Teske.Nm sysconf
14*3fe5961aSDevin Teske.Cm loader
15*3fe5961aSDevin Teske.Op Fl AcDeFinNqvVx
16*3fe5961aSDevin Teske.Op Fl j Ar jail | Fl R Ar dir
17*3fe5961aSDevin Teske.Op Fl f Ar file
18*3fe5961aSDevin Teske.Ar name Ns Op Ns Oo +|- Oc Ns = Ns Ar value
19*3fe5961aSDevin Teske.Ar ...
20*3fe5961aSDevin Teske.Nm sysconf
21*3fe5961aSDevin Teske.Cm loader
22*3fe5961aSDevin Teske.Op Fl ADeFnNqvV
23*3fe5961aSDevin Teske.Op Fl f Ar file
24*3fe5961aSDevin Teske.Fl a
25*3fe5961aSDevin Teske.Nm sysconf
26*3fe5961aSDevin Teske.Cm loader
27*3fe5961aSDevin Teske.Op Fl AaDinNq
28*3fe5961aSDevin Teske.Fl d
29*3fe5961aSDevin Teske.Op Ar name ...
30*3fe5961aSDevin Teske.Nm sysconf
31*3fe5961aSDevin Teske.Cm loader
32*3fe5961aSDevin Teske.Op Fl E
33*3fe5961aSDevin Teske.Fl l | L
34*3fe5961aSDevin Teske.Sh DESCRIPTION
35*3fe5961aSDevin TeskeThe
36*3fe5961aSDevin Teske.Cm loader
37*3fe5961aSDevin Tesketarget of
38*3fe5961aSDevin Teske.Xr sysconf 8
39*3fe5961aSDevin Teskereads and modifies
40*3fe5961aSDevin Teske.Xr loader.conf 5
41*3fe5961aSDevin Teskeconfiguration.
42*3fe5961aSDevin TeskeShared assignment syntax and options are documented in
43*3fe5961aSDevin Teske.Xr sysconf 8 ;
44*3fe5961aSDevin Teskemulti-file write policy in
45*3fe5961aSDevin Teske.Xr sysconf-targets 8 .
46*3fe5961aSDevin Teske.Pp
47*3fe5961aSDevin TeskeThe file list is not hardcoded:
48*3fe5961aSDevin Teskejust as the boot loader itself hardcodes only
49*3fe5961aSDevin Teske.Pa /boot/defaults/loader.conf ,
50*3fe5961aSDevin Teske.Nm sysconf
51*3fe5961aSDevin Teskenames that defaults file and the
52*3fe5961aSDevin Teske.Va loader_conf_files ,
53*3fe5961aSDevin Teske.Va loader_conf_dirs ,
54*3fe5961aSDevin Teskeand
55*3fe5961aSDevin Teske.Va local_loader_conf_files
56*3fe5961aSDevin Teskedirectives so that discovery matches the loader
57*3fe5961aSDevin Teske.Pq see Xr bsdconf_format 3 and Xr loader.conf 5 .
58*3fe5961aSDevin TeskeOn a stock system this resolves to
59*3fe5961aSDevin Teske.Pa /boot/device.hints ,
60*3fe5961aSDevin Teske.Pa /boot/loader.conf ,
61*3fe5961aSDevin Teske.Pa /boot/loader.conf.d/*.conf ,
62*3fe5961aSDevin Teskeand
63*3fe5961aSDevin Teske.Pa /boot/loader.conf.local ,
64*3fe5961aSDevin Teskein that order;
65*3fe5961aSDevin Teskewhen the defaults file is missing,
66*3fe5961aSDevin Teskethat stock list is assumed.
67*3fe5961aSDevin Teske.Pp
68*3fe5961aSDevin TeskeValues written for this target are always enclosed in quotes
69*3fe5961aSDevin Teske.Pq quoted or unquoted input is accepted
70*3fe5961aSDevin Teskewith no whitespace around the equals sign,
71*3fe5961aSDevin Teskeas demanded by the boot loader's reader.
72*3fe5961aSDevin Teske.Pp
73*3fe5961aSDevin TeskeThe defaults file
74*3fe5961aSDevin Teske.Pa /boot/defaults/loader.conf
75*3fe5961aSDevin Teske.Pq or Ev LOADER_DEFAULTS
76*3fe5961aSDevin Teskeadditionally supports
77*3fe5961aSDevin Teske.Fl d ,
78*3fe5961aSDevin Teske.Fl D ,
79*3fe5961aSDevin Teskeand
80*3fe5961aSDevin Teske.Fl A
81*3fe5961aSDevin Teske.Pq see Xr sysconf-targets 8 .
82*3fe5961aSDevin TeskeSpace-separated list directives such as
83*3fe5961aSDevin Teske.Va kernels
84*3fe5961aSDevin Teskeuse
85*3fe5961aSDevin Teske.Ar name Ns += Ns Ar word
86*3fe5961aSDevin Teskeand
87*3fe5961aSDevin Teske.Ar name Ns -= Ns Ar word
88*3fe5961aSDevin Teskeas described in
89*3fe5961aSDevin Teske.Xr sysconf 8 .
90*3fe5961aSDevin Teske.Sh ENVIRONMENT
91*3fe5961aSDevin Teske.Bl -tag -width "LOADER_DEFAULTS"
92*3fe5961aSDevin Teske.It Ev LOADER_DEFAULTS
93*3fe5961aSDevin TeskeDefaults file consulted in place of
94*3fe5961aSDevin Teske.Pa /boot/defaults/loader.conf
95*3fe5961aSDevin Teskefor file-list discovery and for
96*3fe5961aSDevin Teske.Fl d ,
97*3fe5961aSDevin Teske.Fl D ,
98*3fe5961aSDevin Teskeand
99*3fe5961aSDevin Teske.Fl A
100*3fe5961aSDevin Teske.Po
101*3fe5961aSDevin Teskein the vein of
102*3fe5961aSDevin Teske.Ev RC_DEFAULTS
103*3fe5961aSDevin Teskein
104*3fe5961aSDevin Teske.Xr sysrc 8
105*3fe5961aSDevin Teske.Pc .
106*3fe5961aSDevin TeskeThe value is used verbatim
107*3fe5961aSDevin Teske.Pq not subject to Fl R .
108*3fe5961aSDevin Teske.El
109*3fe5961aSDevin Teske.Sh FILES
110*3fe5961aSDevin Teske.Bl -tag -width "/boot/defaults/loader.conf" -compact
111*3fe5961aSDevin Teske.It Pa /boot/defaults/loader.conf
112*3fe5961aSDevin TeskeDefaults and the authority on the file list.
113*3fe5961aSDevin Teske.It Pa /boot/device.hints
114*3fe5961aSDevin TeskeFirst in the stock
115*3fe5961aSDevin Teske.Va loader_conf_files
116*3fe5961aSDevin Teskelist.
117*3fe5961aSDevin Teske.It Pa /boot/loader.conf
118*3fe5961aSDevin TeskeStock write target.
119*3fe5961aSDevin Teske.It Pa /boot/loader.conf.d/
120*3fe5961aSDevin TeskeDrop-in directory.
121*3fe5961aSDevin Teske.It Pa /boot/loader.conf.local
122*3fe5961aSDevin TeskeSite-local overrides,
123*3fe5961aSDevin Teskesourced last.
124*3fe5961aSDevin Teske.El
125*3fe5961aSDevin Teske.Sh EXAMPLES
126*3fe5961aSDevin Teske.Dl sysconf loader zfs_load
127*3fe5961aSDevin Teske.Dl sysconf loader zfs_load=\(dqYES\(dq
128*3fe5961aSDevin Teske.Dl sysconf loader -l
129*3fe5961aSDevin Teske.Dl sysconf loader -d verbose_loading
130*3fe5961aSDevin Teske.Dl sysconf loader -Ad
131*3fe5961aSDevin Teske.Dl sysconf loader -D verbose_loading
132*3fe5961aSDevin Teske.Dl sysconf loader -aD
133*3fe5961aSDevin Teske.Dl sysconf loader -A
134*3fe5961aSDevin Teske.Dl sysconf loader kernels+=kernel_test
135*3fe5961aSDevin Teske.Dl sysconf loader kernels-=kernel_test
136*3fe5961aSDevin Teske.Dl sysconf -a loader
137*3fe5961aSDevin Teske.Dl sysconf loader -f /tmp/loader.conf.new zfs_load=\(dqYES\(dq
138*3fe5961aSDevin Teske.Sh SEE ALSO
139*3fe5961aSDevin Teske.Xr bsdconf_format 3 ,
140*3fe5961aSDevin Teske.Xr loader.conf 5 ,
141*3fe5961aSDevin Teske.Xr sysconf 8 ,
142*3fe5961aSDevin Teske.Xr sysconf-targets 8
143*3fe5961aSDevin Teske.Sh HISTORY
144*3fe5961aSDevin TeskeThe
145*3fe5961aSDevin Teske.Nm sysconf
146*3fe5961aSDevin Teskeutility first appeared in
147*3fe5961aSDevin Teske.Fx 16.0 .
148*3fe5961aSDevin Teske.Sh AUTHORS
149*3fe5961aSDevin Teske.An Devin Teske Aq Mt dteske@FreeBSD.org
150*3fe5961aSDevin Teske.An Faraz Vahedi Aq Mt kfv@FreeBSD.org
151