GPTZFSBOOT(7) | Standards, Environments, and Macros | GPTZFSBOOT(7) |
gptzfsboot
— disk
bootcode for BIOS-based computers
gptzfsboot
is used on BIOS-based computers
to boot from a filesystem on disk device. Depending on disk partitioning and
boot file system, the gptzfsboot
is installed in a
zfs pool boot area
or boot
partition of a disk with
installboot(8).
The GPT standard allows a variable number of partitions, but
gptzfsboot
only boots from tables with 128
partitions or less.
gptzfsboot
tries to find all ZFS pools
that are composed of BIOS-visible hard disks or partitions on them.
gptzfsboot
looks for ZFS device labels on all
visible disks and in discovered supported partitions for all supported
partition scheme types. Disks are probed in BIOS defined order. After a disk
is probed and gptzfsboot
determines that the whole
disk is not a ZFS pool member, the individual partitions are probed in their
partition table order. Currently GPT and MBR partition schemes are
supported.
The default boot partition is recorded into
gptzfsboot
binary by
installboot(8) and the default
boot file system is determined at run time.
gptzfsboot
does support booting from the
ZFS
, UFS
and
PCFS
file systems.
The filesystem specified by the bootfs
property of the ZFS pool is used as a default boot filesystem. If the
bootfs
property is not set, then the root filesystem
of the pool is used as the default.
loader(7) is loaded from the boot
filesystem. If /boot/config is present in the boot
filesystem, boot options are read from it.
The ZFS GUIDs of the boot pool and boot file system are made available to loader(7).
Normally gptzfsboot
will boot in fully
automatic mode. However, it is possible to interrupt the automatic boot
process and interact with gptzfsboot
through a
prompt.
The filesystem specification and the path to loader(7) is specified as
[zfs:pool/filesystem:][/path/to/loader]
Both the filesystem and the path can be specified. If only a path is specified, then the default filesystem is used. If only a pool and filesystem are specified, then /boot/loader is used as a path.
Additionally, the gptzfsboot
does support
two commands to get information about the system.
?directoryname
can be used to list the content of
named directory and status
command can be used to
query information about discovered devices. The output format for ZFS pools
is similar to that of zpool status
(see
zpool(8)).
The configured or automatically determined ZFS boot filesystem is
stored in the loader(7)
loaddev
variable, and also set as the initial value
of the currdev
variable.
The following options are supported by
gptzfsboot
and
loader(7):
-D
gptzfsboot
and
loader(7).-P
-S
speed-h
-q
gptzfsboot
console quiet.-t
The following options will be passed to the kernel:
gptzfsboot
is installed in combination
with a “protective MBR” (see
installboot(8)). To install
gptzfsboot
on the c0t0d0s0
drive:
installboot /boot/pmbr /boot/gptzfsboot /dev/rdsk/c0t0d0s0
July 17, 2019 | OmniOS |