xref: /freebsd/bin/kenv/kenv.1 (revision 6be3386466ab79a84b48429ae66244f21526d3df)
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