Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Boot Manager
Version 1.10 12/01/02 3-3
If the boot image is not loaded via LoadImage() the boot manager is required to check for a
default application to boot. Searching for a default application to boot happens on both removable
and fixed media types. This search occurs when the device path of the boot image listed in any boot
option points directly to a SIMPLE_FILE_SYSTEM device and does not specify the exact file to
load. The file discovery method is explained in Boot Option Variables Default Behavior starting
on page 2-7 of this chapter. The default media boot case of a protocol other than
SIMPLE_FILE_SYSTEM is handled by the LOAD_FILE_PROTOCOL
for the target device path
and does not need to be handled by the boot manager.
The boot manager must also support booting from a short-form device path that starts with the first
element being a hard drive media device path (see Table 8-24, Hard Drive Media Device Path in
Chapter 8). The boot manager must use the GUID or signature and partition number in the hard
drive device path to match it to a device in the system. If the drive supports the GPT partitioning
scheme the GUID in the hard drive media device path is compared with the
UniquePartitionGuid field of the GUID Partition Entry (see Table 11-2 in Chapter 11). If
the drive supports the PC-AT MBR scheme the signature in the hard drive media device path is
compared with the UniqueMBRSignature in the Legacy Master Boot Record (see Table 11-5 in
Chapter 11). If a signature match is made, then the partition number must also be matched. The
hard drive device path can be appended to the matching hardware device path and normal boot
behavior can then be used. If more than one device matches the hard drive device path, the boot
manager will pick one arbitrarily. Thus the operating system must ensure the uniqueness of the
signatures on hard drives to guarantee deterministic boot behavior.
Each load option variable contains an EFI_LOAD_OPTION descriptor that is a byte packed buffer
of variable length fields. Since some of the fields are variable length, an EFI_LOAD_OPTION
cannot be described as a standard C data structure. Instead, the fields are listed below in the order
that they appear in an EFI_LOAD_OPTION descriptor:
Descriptor
UINT32 Attributes;
UINT16 FilePathListLength;
CHAR16 Description[];
EFI_DEVICE_PATH FilePathList[];
UINT8 OptionalData[];
Parameters
Attributes The attributes for this load option entry. All unused bits must be
zero and are reserved by the EFI specification for future growth.
See Related Definitions.
FilePathListLength Length in bytes of the FilePathList. OptionalData
starts at offset sizeof(UINT32) + sizeof(UINT16) +
StrSize(Description) + FilePathListLength of
the EFI_LOAD_OPTION descriptor.
Description The user readable description for the load option. This field ends
with a Null Unicode character.