gummiboot Simple UEFI Boot Manager

gummiboot is a simple UEFI boot manager which executes configured EFI images. The default entry is selected by a configured pattern (glob) or an on-screen menu.

gummiboot operates on the EFI System Partition (ESP) only. Configuration file fragments, kernels, initrds, other EFI images need to reside on the ESP. Linux kernels need to be built with CONFIG_EFI_STUB to be able to be directly executed as an EFI image.

Pressing the Space key (or most other keys actually work too) during bootup will show an on-screen menu with all configured loader entries to select from. Pressing Enter on the selected entry loads and starts the EFI image.

If no timeout is configured, which is the default setting, and no key pressed during bootup, the default entry is executed right away.

All configuration files are expected to be 7-bit ASCII or valid UTF8. The loader configuration file understands the following keywords:

Config

default

pattern to select the default entry in the list of entries

timeout

timeout in seconds for how long to show the menu

splash

BMP image file to show during bootup

background

background color in #RRGGBB notation (only applied with splash)

The entry configuration files understand the following keywords:

Entry

title

text to show in the menu

version

version string to append to the title when the title is not unique

machine-id

machine identifier to append to the title when the title is not unique

efi

executable EFI image

options

options to pass to the EFI image / kernel command line

linux

linux kernel image (gummiboot still requires the kernel to have an EFI stub)

select the default entry to boot (stored in a non-volatile EFI variable)

t/T

adjust the timeout (stored in a non-volatile EFI variable)

e

edit the option line (kernel command line) for this bootup to pass to the EFI image

Q

quit

v

show the gummiboot and UEFI version

P

print the current configuration to the console

h

show key mapping

Hotkeys to select a specific entry in the menu, or when pressed during bootup to boot the entry right-away:

Keys

l

Linux

w

Windows

a

OS X

s

EFI Shell

1-9

number of entry

Some EFI variables control the loader or exported the loaders state to the started operating system. The vendor UUID 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f and the variable names are supposed to be shared across all loaders implementations which follow this scheme of configuration:

EFI Variables

LoaderEntryDefault

entry identifier to select as default at bootup

non-volatile

LoaderConfigTimeout

timeout in seconds to show the menu

non-volatile

LoaderEntryOneShot

entry identifier to select at the next and only the next bootup

non-volatile

LoaderDeviceIdentifier

list of identifiers of the volume the loader was started from

volatile

LoaderDevicePartUUID

partition GPT UUID of the ESP gummiboot was executed from

volatile

LoaderEntryOptions-$machine-id

kernel command line options for a specific machine

non-volatile

LoaderEntryOptionsOneShot-$machine-id

kernel command line options for a specific machine, for the next bootup