User Guide

6
6
Sample
Payloads
Sample Payloads
The payload is an EFI object file which combines an EFI bootable Operating System (a
minimal kernel and a file system) and a boot loader. The Intel Rapid Boot Toolkit includes
two example payloads: a generic example payload; and a launcher payload. Familiarity with
Linux is recommended in order to understand the example payload flow.
The example payloads are included to serve as a starting point for toolkit users. New users
should start by flashing the Intel Rapid Boot BIOS and the generic payload. This should be
followed by re-creating the generic payload (using instructions below) to get a better
understanding of the payload creation process. Sources are provided for the bzImage
(.config) and initrd for both the payloads.
Once the user is familiar with the payload creation and installation process, the user can
begin making payloads that solve their business needs.
Note: By design, Rapid Boot BIOS does not support SMBIOS tables. In Linux Kernel versions
2.6.17 and above, this will trigger an ACPI blacklist panic while booting through kexec. An
acpi=force kernel parameter will force the kernel to ignore this and continue booting (with
ACPI subsystem initialized).
Generic Payload
Generic Payload is an example payload packaged along with the toolkit. It has support for
the Intel Gigabit 1000 network controller with support for integrated EFI boot, ACPI 2.0,
NFS, SATA, Proc/Sys filesystem, EXT3 and Kexec. The initrd includes a ssh server (Drop
Bear), busy box shell, kboot, proc file system, dhcp client, chroot and other commands
(see full list below).
The .config used for building the generic example kernel is present in the src directory of
generic payload. The kboot patches are also present in the same directory.
At the end of the boot process, the generic payload picks up its IP and the NFS server
address from the dhcp server (a sample dhcp configuration is documented in the appendix)
on the NIC1 port. The NFS location, /nfs/, is mounted. The payload then searches for a
/payload/<IP> directory. If found and an executable payload.sh is present inside this
directory, it is executed. Otherwise payload searches for an executable payload.sh script
within the main payload directory. If found this script is executed.
If the payload is not able to find the script, then it boots to a kboot prompt. Applications
must be executed from the shell prompt (and not from the kboot prompt).
Commands supported by Generic Payload
The commands supported are listed below.
ash
bunzip2
busybox
bzcat
cat
chroot
cp
date
dd
df
du
echo
Ref# D96629-001 Intel
®
Rapid Boot Toolkit User Guide 17