BOOT1.EFI(8)

NAME
boot1.efi - UEFI chain loader

DESCRIPTION
boot1.efi has been deprecated and will be removed from a future release. loader.efi(8) handles all its former use cases with more flexibility.

On UEFI systems, boot1.efi loads /boot/loader.efi from the default root file system and transfers execution there. Some systems may need to use gptboot.efi(8) when loader.efi(8) cannot be used directly on the ESP (EFI System Partition).

  Initialization
Before looking for the boot device, boot1.efi does the following initialization

•   Sets up the console using the default UEFI console routines.

•   Discovers all possible block devices on the system.

•   Initializes all file system modules to read files from those devices

  Boot Device Selection
boot1.efi uses the following sequence to determine the root file system for booting:

•   If ZFS is configured, boot1.efi will search the for zpools that are bootable, preferring the zpool on the boot device over the others.

•   If UFS is configured, boot1.efi will search all UFS partitions for a bootable partition. It will prefer the lowest numbered bootable partition on the boot device over all other choices. It will fall back to partitions on other devices if none are found.

A partition is considered bootable if it can load /boot/loader.efi from it. Command line arguments to the next boot stage are read from the first existing file of /boot.config or /boot/config in that order.

  Caveats

•   The order in which file systems are tried is undefined.

•   No encryption support is available.

•   There's no way to interrupt the boot process to select booting from some other location.

•   When configuring a serial console for FreeBSD, but not for UEFI, no output will show up on the serial console from boot1.efi.

•   There's no support for marking partitions as the preferred one. See gptboot.efi(8).

•   There's no support for boot-once functionality. See gptboot.efi(8).