GPTZFSBOOT(7) Standards, Environments, and Macros GPTZFSBOOT(7)
NAME
gptzfsboot - disk bootcode for BIOS-based computers
DESCRIPTION
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).
IMPLEMENTATION NOTES
The GPT standard allows a variable number of partitions, but
gptzfsboot only boots from tables with 128 partitions or less.
BOOTING
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).
USAGE
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.
OPTIONS
The following options are supported by
gptzfsboot and
loader(7):
-D Dual console. Use both text and serial console with
gptzfsboot and
loader(7).
-P Probe for keyboard. If there is no keyboard, switch on the
dual console and serial console.
-Sspeed Set serial port speed.
-h Set serial console.
-q Keep the
gptzfsboot console quiet.
-t Keep the VGA text mode for
loader(7).
The following options will be passed to the kernel:
-s Single user
-v Verbose boot
FILES
/boot/config parameters for the boot block (optional)
/boot/gptzfsboot boot code binary
EXAMPLES
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
SEE ALSO
loader(7),
installboot(8),
zpool(8)illumos July 17, 2019 illumos