com.apple.Boot.plist(5) | File Formats Manual | com.apple.Boot.plist(5) |
com.apple.Boot.plist
—
Configuration plist for OS X booter
The OS X booter ( boot.efi on EFI-based Macintosh systems) is responsible for loading the initial parts of the operating system into memory and executing them. Its default behavior is to start up OS X in graphical mode. However, certain behavior can be configured using the com.apple.Boot.plist file, as well as NVRAM variables, EFI boot options, and keyboard "snag keys".
The com.apple.Boot.plist is a standard
plist(5) format Core Foundation property list stored in
XML format. Keys are generally strings like Kernel
Flags,
with either string or integer values. The following key-values
are currently supported:
Kernel Flags
Kernel Cache
Root UUID
diskutil info,
or a GPT partition
UUID. The default is generated programmatically based on which filesystem
the booter itself was loaded from.Since the com.apple.Boot.plist file exists on the root filesystem, it is tied to that OS volume, and is no longer honored if Startup Disk or bless(8) is used to change the boot preference to another volume.
The Kernel Flags
options can also be
specified via --optionto bless(8),
which encodes the string in the EFI boot options along with the OS boot
volume preference. The space-separated strings are merged with kernel flags
specified in the com.apple.Boot.plist and NVRAM.
At boot time, the booter checks to see if certain keys are being pressed, and alters behavior accordingly. This is in addition to similar functionality that the firmware itself may implement before starting the booter. Since pressing keys requires physical interaction, they take precendence over preferences set through other means, including the com.apple.Boot.plist file and NVRAM. The following key combinations are currently supported:
Shift
Kernel Flags,
and causes most caches to be ignored
by the booter.Command-S
Kernel Flags,
and causes the system to boot to
an interactive shell with no system services started.Command-V
Kernel Flags,
and causes the system to boot to
verbose text logging before starting the graphical user interface.Command-R
The OS X booter can also be controlled by NVRAM variables, which
are analogous to environment variables. NVRAM variables are key-value pairs.
The "boot-args" NVRAM variable can be used to provide additional
arguments to the kernel, and will be merged with Kernel
Flags
in the com.apple.Boot.plist file and
EFI boot options set with bless(8).
Since NVRAM variables are system-wide, they are consulted regardless of what OS volume is set as the boot preference. NVRAM variables are persistent even when the boot preference is changed by Startup Disk or bless(8).
December 14, 2015 | Darwin |