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 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
/boot/config parameters for the boot block (optional)
/boot/gptzfsboot boot code binary
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
loader(7), installboot(8), zpool(8)
illumos July 17, 2019 illumos
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