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