Boot Abstraction Layer

The Boot Abstraction Layer (BAL) passes control to the Kernel Loader (KL), with a partially generated Boot Information Directory (BID). The BAL is responsible to generate the following components of the BID:

  • Gandalf's version.
  • Architecture details.
  • Memory map.
  • Boot device identifier, and:
    • Network details, for network boot.
    • Partition and FS details for a disk boot.
  • Output information:
    • Serial output.
    • Video output.
      • EDID table.
      • Should accommodate data conveyed by generic VBE tables, without as such including them specifically. The KL adds the information about the specific video mode.
  • Location of firmware defined, or pre-defined tables, including:
    • ACPI tables.
    • MPS tables (x86-only).
    • SMBIOS tables (x86-only).
    • Device tree.
    • EFI Runtime Services.
  • Boot services. (KL)
    • File I/O.
    • Console I/O.
    • Video API.
  • Checksum.