4 Board Specific Configuration Scripts

Board specific configuration scripts, called kernel scripts or simply kscripts, are used to enable the user to select what services to include, and how to connect those services to devices. The scripts contain a sequence of operations to perform while starting the firmware. An operation is specified by a single operation command word and a set of arguments. All lines that start with a `#' are treated as comments. The following operations are available:

load MODULE
Load and start module specified by MODULE. The module can either be a driver or an application.
connect PATH
Connect device path specified by PATH to a (or several) suitable drivers picked by the firmware. The last component of the path will be recursively connected, meaning that any children that it may create will also be connected.
set VARIABLE PATH
Set variable VARIABLE to the handle specified by PATH. The following variables are available:
stdout
stderr
Sets handles for standard output and standard error output.
stdin
Set handle for standard input.

Below is a complete (bogus) example of a kscript that loads a set of modules, connects the PCI IDE controller, which will also connect any possible disks that it detects. After that it will set console handles to the first serial console on the PCI ISA bridge.

     # board kscript: bogus-example.kscript
     load cpuio-i386.efi
     load pci-rb+i386t1.efi
     load pci-bus.efi
     load pci-ide.efi
     load disk-io.efi
     load pci-isa.efi
     load ser-ns16550.efi
     # connect IDE controller
     connect /pciroot(0)/pci(1,1)
     # connect stdout and stderr
     set stdout /pciroot(0)/pci(0,1)/acpi(PNP0503,0)
     set stderr /pciroot(0)/pci(0,1)/acpi(PNP0503,0)
     # connect stdin
     set stdin /pciroot(0)/pci(0,1)/acpi(PNP0503,0)