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