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