xref: /titanic_51/usr/src/man/man5/zfsloader.5 (revision ba11c5b535a8958668f939901bdcacb3ee8b7570)
1.\" Copyright (c) 2014 Andriy Gapon <avg@FreeBSD.org>
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.Dd Apr 20, 2017
26.Dt ZFSLOADER 5
27.Os
28.Sh NAME
29.Nm zfsloader
30.Nd kernel bootstrapping final stage
31.Sh DESCRIPTION
32.Nm
33is an extended variant of
34.Xr loader 5
35with added support for booting from ZFS.
36This document describes only differences from
37.Xr loader 5 .
38.Ss ZFS Features
39.Nm
40supports the following format for specifying ZFS filesystems which
41can be used wherever
42.Xr loader 5
43refers to a device specification:
44.Pp
45.Ar zfs:pool/filesystem:
46.Pp
47where
48.Pa pool/filesystem
49is a ZFS filesystem name as described in
50.Xr zfs 1M .
51.Pp
52If the variable
53.Va fstype
54is not set, but
55.Va currdev
56refers to a ZFS filesystem, then
57.Nm
58will instruct kernel to use that filesystem as the root filesystem.
59.Ss ZFS Command Extensions
60.Bl -tag -width Ds -compact
61.It Ic lsdev Op Fl v
62Lists ZFS pools in addition to disks and partitions.
63Adding
64.Fl v
65shows more ZFS pool details in a format that resembles
66.Nm zpool Cm status
67output.
68.Pp
69.It Ic lszfs Ar filesystem
70A ZFS extended command that can be used to explore the ZFS filesystem
71hierarchy in a pool.
72Lists the immediate children of the
73.Ar filesystem .
74The filesystem hierarchy is rooted at a filesystem with the same name
75as the pool.
76.El
77.Sh FILES
78.Bl -tag -width /boot/zfsloader -compact
79.It Pa /boot/zfsloader
80.Nm
81itself.
82.El
83.Sh EXAMPLES
84Set the default device used for loading a kernel from a ZFS filesystem:
85.Bd -literal -offset indent
86set currdev=zfs:rpool/ROOT/knowngood:
87.Ed
88.Sh SEE ALSO
89.Xr zfs 1M ,
90.Xr zpool 1M ,
91.Xr gptzfsboot 5 ,
92.Xr loader 5
93.Sh NOTES
94Although setting the
95.Va currdev
96as shown in the example above is supported, it is advisable to use loader
97beadm command or boot environment menu instead. The reason is, the beadm
98or menu selection will also instruct loader to clean up the currently set
99configuration and load configuration from the new boot environment.
100