Boot Information Directory

Gandalf organizes all data during boot in an amalgam of tables, known as the Boot Information Directory (BID). The table is partially generated in the Boot Abstraction Layer (BAL), which passes it to the Kernel Loader (KL). The KL removes all the KL-specific tables (marked by "KL" in the following list), and adds any other necessary tables to the BID, passing it to the Bootable Application.

This table, in its final form, should contain:

  • 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 VBE tables, without as such including them specifically.
  • 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.