1.\"- 2.\" Copyright (c) 2000 Peter Wemm <peter@FreeBSD.org> 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 AUTHORS 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 AUTHORS 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 October 5, 2020 28.Dt KENV 1 29.Os 30.Sh NAME 31.Nm kenv 32.Nd dump or modify the kernel environment 33.Sh SYNOPSIS 34.Nm 35.Op Fl hNq 36.Nm 37.Op Fl qv 38.Ar variable Ns Op = Ns Ar value 39.Nm 40.Op Fl q 41.Fl u 42.Ar variable 43.Sh DESCRIPTION 44The 45.Nm 46utility will dump the kernel environment if 47invoked without arguments. 48If the 49.Fl h 50option is specified, it will limit the report to kernel probe hints. 51If an optional 52.Ar variable 53name is specified, 54.Nm 55will only report that value. 56If the 57.Fl N 58option is specified, 59.Nm 60will only display variable names and not their values. 61If the 62.Fl u 63option is specified, 64.Nm 65will delete the given environment variable. 66If the environment variable is followed by an optional 67.Ar value , 68.Nm 69will set the environment variable to this value. 70.Pp 71If the 72.Fl q 73option is set, warnings normally printed as a result of being unable to 74perform the requested operation will be suppressed. 75.Pp 76If the 77.Fl v 78option is set, the variable name will be printed out for the 79environment variable in addition to the value when 80.Nm 81is executed with a variable name. 82.Pp 83Variables can be added to the kernel environment using the 84.Pa /boot/loader.conf 85file, or also statically compiled into the kernel using the statement 86.Pp 87.Dl Ic env Ar filename 88.Pp 89in the kernel config file. 90The file can contain lines of the form 91.Pp 92.Dl name = "value" # this is a comment 93.Pp 94where whitespace around 95.Sq name 96and 97.Sq = , 98and everything after a 99.Sq # 100character, are ignored. 101Almost any printable character except 102.Sq = 103is acceptable as part of a name. 104Quotes are optional and necessary only if the value contains whitespace. 105.Sh EXAMPLES 106Show kernel probe hints variable names and filter for the uart 107device 108.Bd -literal -offset indent 109$ kenv -h -N | grep uart 110hint.uart.0.at 111hint.uart.0.flags 112hint.uart.0.irq 113hint.uart.0.port 114hint.uart.1.at 115hint.uart.1.irq 116hint.uart.1.port 117.Ed 118.Pp 119Show the value of a specific variable: 120.Bd -literal -offset indent 121$ kenv hint.uart.1.at 122isa 123.Ed 124.Pp 125Same as above but adding the name of the variable in the report: 126.Bd -literal -offset indent 127$ kenv -v hint.uart.1.at 128hint.uart.1.at="isa" 129.Ed 130.Pp 131Try to delete a variable and suppress warnings if any: 132.Bd -literal -offset indent 133$ kenv -q -u hint.uart.1.at 134.Ed 135.Pp 136Set the value of the 137.Ev verbose_loading 138variable 139.Bd -literal -offset indent 140$ kenv verbose_loading="YES" 141verbose_loading="YES" 142.Ed 143.Sh SEE ALSO 144.Xr kenv 2 , 145.Xr config 5 , 146.Xr loader.conf 5 , 147.Xr loader 8 148.Sh HISTORY 149The 150.Nm 151utility appeared in 152.Fx 4.1.1 . 153