Intel® Rapid Boot Toolkit User Guide For Intel® Server Boards S3000AH, S3000PT, S5000AL and S5000SL April 11, 2007 Reference Number: D96629-001
Legal Statements INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS FOR THE PURPOSE OF SUPPORTING INTEL DEVELOPED SERVER BOARDS AND SYSTEMS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT.
Contents Legal Statements...............................................................................ii Revision History ................................................................................ii Contents ...........................................................................................iii 1 Introduction ................................................................................1 Overview...............................................................................................
RMM Update Automation ..........................................................................25 ® Intel System Configuration Utility (SysCfg) ........................................................25 SMI Driver .............................................................................................26 pyFlash ..........................................................................................................26 Power Console .....................................................................
1 Introduction Overview The Intel® Rapid Boot Toolkit (Release 1) is a collection of tools for the administrators and programmers supporting High Performance Computing (HPC) clusters of Intel® server boards. With this toolkit, you can boot the HPC nodes using the Intel® Rapid Boot BIOS, and then launch a flash-based payload that supports your HPC provisioning needs.
About the Tools Intel Rapid Boot Toolkit uses open source tools like kboot, eLilo and GNU EFI tool chain. Original sources and the required patches are provided. The patches are provided under the GPL License. Intel Rapid Boot Toolkit provides capabilities for creating payloads, adding the payload to the BIOS flash area, and passing control of the system to the payload early in the system boot process.
2 Toolkit Installation The Intel Rapid Boot Toolkit Release bundle is a tar.bz2 file. An abridged version of the extracted directory structure is shown below. |-- BIOS | |-- DP | | | |-- README | `-- UP | `-- DP_FB_R0004.Cap `-- UP_FB_R0006.Cap |-- LICENSE |-- README |-- VERSION |-- documentation | |-- Intel-OFU-User-Guide.pdf | |-- Intel-Rapid-Boot-Toolkit-User-Guide.pdf | |-- Intel-SysCfg-User-Guide.
| | | | | |-- patches `-- utils | | | |-- kboot-10 | | | `-- linux-2.6.18 | | | | | `-- src `-- linux-2.6.18.smi-kernel.patch | | | |-- launcher-payload `-- kboot-10-orig.tar.gz | | |-- README | | |-- bin | | | |-- DP_Payload.Cap | | | `-- UP_Payload.Cap | | `-- src | | |-- elilo-3.6-patches-launcher.tar.gz | | |-- kboot-10-launcher-kernel-config | | `-- kboot-10-patches-launcher.tar.gz | `-- patches | `-- linux-2.6.18.efi-kernel-memmap.
| | | |-- patches `-- lib | | |-- elilo-3.6 | | | |-- README-elilo-3.6-patches | | | |-- elilo-3.6-Make.defaults.patch | | | |-- elilo-3.6-embeddedtiano.patch | | | |-- elilo-3.6-fixes.patch | | | |-- elilo-3.6-format.patch | | | |-- elilo-3.6-inselinux | | | |-- elilo-3.6-mkelinux | | | `-- elilo-3.6-patches.lst | |-- payload | | | |-- src `-- cmdline | | |-- elilo-3.6-orig.tar.gz | | `-- gnu-efi-3.0c-orig.tar.
6 Intel® Rapid Boot Toolkit User Guide Ref# D96629-001
3 Using the Toolkit Creating a BIOS Flash Payload The installation procedure for a Linux* based payload targeted for embedding in flash is outlined below: Note Please ensure that the BIOS update operation is not interrupted. If interrupted, the system might go into an unusable state. 1. Download the Intel Rapid Boot Toolkit Release 1 bundle. 2. Identify the EFI-bootable Operating System to be used as the payload base, then prepare a minimal kernel and file system.
BIOS system recovery for DP systems The dual-processor based platforms have a 4 MB flash part that includes a Primary and Secondary flash bank. During the BIOS update process, if the BIOS gets corrupted, the system will automatically switch from the Primary flash area to the secondary area during the next boot. No other recovery action is needed. If the payload does not boot or is corrupted, change the recovery jumper and boot from the other bank. Now you can update with a new payload.
Intel® Rapid Boot BIOS 4 The Intel Rapid Boot BIOS significantly reduces the system boot time by removing features which do not add value in the HPC environment. System BIOS Versions The System BIOS comes in two variants: the production BIOS and the Intel Rapid Boot BIOS. The production BIOS is the standard Intel System BIOS that ships with the server board. The Intel Rapid Boot BIOS, as discussed already, is available in this toolkit.
• Memory Initialization o The Intel 5000 sequence MCH supports fully-buffered DIMM (FBDIMM) technology. The integrated Memory Controller Hub on the Intel 5000 sequence MCH divides the FBDIMMs on the board into two autonomous sets called branches. Each branch has two channels. In dual-channel mode, FBDIMMs on adjacent channels work in lock-step to provide the same cache line data, and a combined ECC. In the single-channel mode, only Slot 0, Channel 0 is active.
unavailable and BIOS is unable to boot the payload. • PCI o BIOS assigns PCI bus numbers in a depth-first hierarchy, in accordance with the PCI Local Bus Specification, Revision 2.2. The bus number is incremented when BIOS locates a bridge device that is not part of the chipset. Scanning continues on the secondary side of the bridge until all subordinate buses are assigned numbers. PCI bus number assignments may vary from boot to boot with varying presence of PCI devices with PCI-PCI bridges.
• Front Panel o o • In DP systems, the platform supports a power button, a reset button, and an NMI button on the control panel. • The BIOS supports the front control panel power button. Pressing the power button initiates a request that the BMC forwards to the ACPI power state machines in the chipset. It is monitored by the BMC and does not directly control power on the power supply. • Pressing the platform reset button initiates a request that is forwarded by the BMC to the chipset.
• Hyper-Threading Technology (HT Technology) o • • • • • Enhanced Intel SpeedStep® Technology o Enhanced Intel SpeedStep® Technology enables decreased average power consumption and decreased average heat production by dynamically adjusting processor voltage and core frequency. o The Intel Rapid Boot BIOS will not support Enhanced Intel SpeedStep® Technology. Intel Virtualization Technology (Intel VT) o The Intel Rapid Boot BIOS will not support Intel VT.
• • • Option ROMs o The Intel Rapid Boot BIOS will not execute Option ROMs. An important impact due to this will be the lack of Video support. o For devices like SCSI, NIC and RAID, the payload kernel (if support is added) will execute the option ROMs. SMBIOS Tables o The Intel Rapid Boot BIOS will not support SMBIOS Tables. o Newer Kernels may flag an ACPI blacklist error if SMBIOS Type 0 is not available. Give an “acpi=force” kernel boot parameter to override this check.
5 Payload Creation You can use the Payload Tool Chain to create capsule files from a bzImage and Initrd which can then be flashed using the pyFlash tool. During the payload creation process, eLilo is statically linked against the kernel and Initramfs or initrd (by generating header files from the binary images) to generate the eLinux.efi binary. From eLinux.efi, using the CIT tools, we get a capsule file. The Toolkit user must identify the kernel, build the kernel image, and generate an initrd.
16 Intel® Rapid Boot Toolkit User Guide Ref# D96629-001
6 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.
env loadkmap reboot test expr ls rm tftp false md5sum rmdir touch fdisk mkdir route true free mknod sh udhcpc gunzip more sha1sum umount halt mount sort uname head mv switch_root wc hwclock ping sync wget ifconfig pivot_root tail which ln poweroff tar zcat How To Build the Generic Payload Use the following procedure to build the Generic payload. Note Compilation will take approximately 15 minutes (varies with your system's configuration).
ii. Create an .ok file for each of these by touching it. For example: For binutils-2.16.1.tar.bz2, use the command, touch binutils-2.16.1.tar.bz2.ok 2. Empty the samples/payloads/kboot/patches/kboot-10/ directory if present. If not present, create it. 3. Copy the samples/payloads/generic-payload/src/kboot-10-patches-generic.tar.gz to the samples/payloads/kboot/patches/kboot-10/ directory. Change directory to samples/payloads/kboot/patches/kboot-10/ directory. Extract the kboot-10-patches-generic.tar.
The bzImage and initrd will be ready in the current folder. 6. Copy the bzImage and initrd to the tools/payload-tool-chain/payload folder. A sample cmdline file is already present in this directory. 7. Go to tools/payload-tool-chain directory and issue make. The capsule files (DP_Payload.Cap and UP_Payload.Cap) will be ready in the current folder. Launcher Payload Intel Rapid Boot BIOS will initialize the USB controller but will not do device detection.
Note Compilation will take approximately 15 minutes (varies with your system's configuration). Compilation will involve downloading of files from the internet. Approximately 100 MB disk space will be needed for the downloaded files and a further 500 MB will be needed during the Compilation process. 1. Copy the samples/payloads/launcher-payload/src/kboot-10-launcher-kernel-config as samples/payloads/kboot/kboot-10/config/kernel-config.
Kernel patches must be copied to samples/payloads/kboot/kboot-10/patches folder. The name of the patch must be in the form *kernel*.patch Two kernels patches are part of the toolkit. - The EFI Memory Map (published by the Rapid Boot BIOS) gets overwritten by the Linux kernel while uncompressing the initrd. There is a patch for this (against the 2.6.18 kernel) in the samples/payloads/patches folder. This patch must be applied for all payloads. Copy the patch to the samples/payloads/kboot/kboot-10/patches.
7 The Tools Intel® One Boot Flash Update The Intel® One Boot Flash Update (Intel® OFU) Utility updates the System BIOS, Baseboard Management Controller (BMC) firmware, Hot-swap Controller (HSC) firmware, Field Replaceable Unit firmware, and Sensor Data Record (SDR) firmware on the Intel server while the operating system is running. The utility is launched from a command prompt in the operating system.
CONFIGURATION "Sample flashupdt.cfg" PROBE BMC_TYPE FOUND “SOMEBMCFOUND” “NOBMCFOUND” IFSET “SOMEBMCFOUND” BMCNAME “BMC File Name” BIOSNAME “BIOS File Name” CFGNAME “MASTER.CFG” ELSE BIOSNAME “BIOS File Name” ENDIF Configuration File Automation The configuration file may include commands for user interaction, included are: • MENU • PROMPT • FRUFIELD These three commands are typically found in the master.cfg inside respective platform FRUSDR packages. The default master.
To automate this process, in our modified cfg file, we replace the above PROMPT command with a SET command indicating our choice. SET “CHASSN” Frufield Command The following example illustrates the FRUFIELD command: FRUFIELD "S#" "@STDIN:ASCII"// Enter Chassis Serial Number To automate this process, in our modified cfg file, we replace the above FRUFIELD command with the following one which tells Intel OFU to pick the answer from a FILE instead of STDIN, FRUFIELD "S#" "@FILE:ASCII:answers.
SMI Driver The SysCfg utility uses the System Management Interrupt (SMI) to communicate with BIOS in the Linux environment. For this, SysCfg uses an SMI driver whose sources are packaged along with the toolkit. The Generic payload has the SMI module already inserted. Users interested in using SysCfg in a different environment need to compile the driver and insert the driver. Kernel headers must already be installed. Kernel documentation should be consulted for understanding the gcc dependency.
Note You must wait for a minimum of 15 seconds before issuing consecutive power commands (on/off/reset/status). Table 2. power Syntax Command Line Description power -ip -user -password -operation on Out-of-band power on e.g. power –ip 10.224.210.15:16992 –user admin password intel123 –operation on power -ip -user -password -operation off Out-of-band power off e.g. power –ip 10.224.210.
Table 3. Priority Queue Schema Element Description ID Job ID Owner IP of the owner of the job. If this is set to 0.0.0.0, then it is an un-targeted job. Anyone can pick it up and execute it State Current state of the job.
8 Glossary Acronym or Term Definition BMC FRU SDR IPMI UP DP SMI HPC/HDC cluster Baseboard Management Controller Field Replaceable Unit Sensor Data Record Intelligent Platform Management Interface Uni Processor Dual Processor System Management Interrupt A collection of servers interconnected by a local high-speed network. A single server in the HPC/HDC cluster, which will execute compute jobs or provide other support services to the HPC/HDC cluster.
Acronym or Term Definition environment will generally run a purposed Operating System package, rather than a general purpose Operating System. Another definition might be “after BIOS, before operational mode”.
9 Tips and Tricks Quick Start Guide The recommended sequence for someone new to the toolkit is: 1. Read this User Guide. 2. Flash the Intel Rapid Boot BIOS and the Generic Payload Capsule. • Intel OFU can be used to flash the Intel Rapid Boot BIOS. Intel OFU is driven by a configuration file. A sample configuration file can be found in the Intel OFU section of this document. A single command BIOSNAME with the file name will suffice for a BIOS update operation.
32 Intel® Rapid Boot Toolkit User Guide Ref# D96629-001
A. Appendix Linux* Compilation The Linux kernel sources can be downloaded from http://kernel.org. The first step in the kernel compilation process is typically an edit of the default Makefile to change the EXTRAVERSION variable to a meaningful value. The kernel make process is controlled by the .config file. In a typical scenario, one would copy over an existing .config file, make the required changes and save back. While using the Intel Rapid Boot Toolkit, using a standard .
• Library routines – Various CRC routines are grouped in here. The next step in the kernel compilation process is a make clean followed by a make bzImage to generate the compressed kernel image. The mkinitrd utility can be used to create an initrd (initial ramdisk). Newer versions of the kernel have added support for Initramfs which is considered technically superior to initrd. Initramfs filesystem can be created using the mkinitramfs utility.
sync tells the NFS v2 server not to reply back until all the data is written (In V3, it replies back immediately with information on which data should be retained and which ones flushed out.) Any change to /etc/exports must be followed by an exportfs -ra which makes the nfs daemon re-read the file. DHCP Server Configuration for Generic Example Payload allow booting; allow bootp; option domain-name "domain.com"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; next-server 192.168.1.
Diagnostic LED Decoder Description G=Green, R=Red, A=Amber Checkpoint MSB LSB 0x23h OFF OFF A G 0x24h OFF G R OFF 0x25h OFF G R G 0x26h OFF G A OFF 0x27h OFF G A G 0x28h G OFF R OFF OFF R OFF R Detecting presence of memory Programming timing parameters in the memory controller Configuring memory parameters in the memory controller Optimizing memory controller settings Initializing memory, such as ECC init Testing memory PCI Bus 0x50h Enumerating PCI busses 0x51h O
Diagnostic LED Decoder Description G=Green, R=Red, A=Amber Checkpoint MSB LSB 0x98h A OFF OFF R Resetting the mouse 0x99h A OFF OFF A Detecting the mouse 0x9Ah A OFF G R Detecting the presence of mouse 0x9Bh A OFF G A Enabling the mouse Pre-EFI Initialization (PEI) Core 0xE0h R R R OFF Started dispatching early initialization modules (PEIM) 0xE2h R R A OFF Initial memory found, configured, and installed correctly 0xE1h R R R G Reserved for initialization module
Error Codes Meaning 8 SOAP MUSTUNDERSTAND 9 SOAP NAMESPACE 10 SOAP USER ERROR 11 SOAP FATAL ERROR 12 SOAP FAULT 13 SOAP NO METHOD 14 SOAP GET METHOD 15 SOAP EOM 16 SOAP NULL 17 SOAP DUPLICATE ID 18 SOAP MISSING ID 19 SOAP HREF 20 SOAP UDP ERROR 21 SOAP TCP ERROR 22 SOAP HTTP ERROR 23 SOAP SSL ERROR 24 SOAP ZLIB ERROR 25 SOAP DIME ERROR 26 SOAP DIME HREF 27 SOAP DIME MISMATCH 28 SOAP DIME END 29 SOAP MIME ERROR 30 SOAP MIME HREF 31 SOAP MIME END 32 SOAP VERS