xref: /freebsd/sbin/zfsbootcfg/zfsbootcfg.8 (revision 30c90f019fae2636046f3789dab92794a138d19a)
1.\" Copyright (c) 2016 Andriy Gapon
2.\" All rights reserved.
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 AUTHOR 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 AUTHOR 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 12, 2016
28.Dt ZFSBOOTCFG 8
29.Os
30.Sh NAME
31.Nm zfsbootcfg
32.Nd "specify zfsboot options for the next boot"
33.Sh SYNOPSIS
34.Nm
35.Ao Ar options Ac
36.Sh DESCRIPTION
37.Nm
38is used to set
39.Xr boot.config 5 Ns -style
40options to be used by
41.Xr zfsboot 8
42or
43.Xr gptzfsboot 8
44the next time the machine is booted.
45Once
46.Xr zfsboot 8
47or
48.Xr gptzfsboot 8
49reads the information, it is deleted.
50If booting fails, the machine automatically reverts to the previous
51boot configuration.
52The information is stored in a special reserved area of a ZFS pool.
53.Xr zfsboot 8
54or
55.Xr gptzfsboot 8
56read the boot option information from the first disk found in the first
57ZFS pool found.
58.Sh ENVIRONMENT
59.Bl -tag -width vfs.zfs.boot.primary_pool -compact
60.It Ev vfs.zfs.boot.primary_pool
61The
62.Xr kenv 1
63variable that identifies a pool for which the options are written.
64.It Ev vfs.zfs.boot.primary_vdev
65The
66.Xr kenv 1
67variable that identifies a disk within the pool where the options
68are written.
69.El
70.Sh EXAMPLES
71Try to boot to a new
72.Em boot environment
73without changing the
74.Cm bootfs
75property of a pool:
76.Pp
77.Dl "zfsbootcfg ""zfs:tank/ROOT/newbe:""
78.Pp
79To clear the boot options:
80.Pp
81.Dl "zfsbootcfg """"
82.Sh SEE ALSO
83.Xr boot.config 5 ,
84.Xr gptzfsboot 8 ,
85.Xr zfsboot 8
86.Sh HISTORY
87.Nm
88appeared in
89.Fx 12.0 .
90.Sh AUTHORS
91This manual page was written by
92.An Andriy Gapon Aq Mt avg@FreeBSD.org .
93.Sh CAVEATS
94At the moment,
95.Nm
96uses the
97.Ev vfs.zfs.boot.primary_pool
98and
99.Ev vfs.zfs.boot.primary_vdev
100.Xr kenv 1
101variables to determine a ZFS pool and a disk in it where the options
102are to be stored.
103The variables are set by the ZFS boot chain, so there is an assumption
104that the same boot disk is going to be used for the next reboot.
105There is no
106.Nm
107option to specify a different pool or a different disk.
108.Pp
109.Nm
110should be extended to install new
111.Xr zfsboot 8
112blocks in a ZFS pool.
113