Itanium-based
System Hardware
The Itanium-based system's bootstrap process
involves the execution of four software
components:
+ CMOS
+ option ROM
+ EFI
+ Boot Manager
+ hpux.efi
After the processor is reset, firmware
initializes and tests processors and platform.
During initialization, the firmware lets a user interrupt and configure
CMOS and option ROMs. It then transfers
control to EFI, the Extensible Firmware
Interface. EFI, in turn, initializes EFI boot and runtime services and
launches the Boot Manager. The Boot
Manager, which allows loading of EFI application or drivers from EFI defined file system,
loads and transfers control to hpux.efi, the HP-UX-specific bootstrap
loader. hpux.efi then loads the HP-UX
kernel object file from the HP-UX file system to memory and transfers control
to the loaded kernel image.
The Series
700 and 800 bootstrap process involves the execution of
three
software components:
+ pdc
+ isl
+ hpux.
After the processor is RESET, pdc,
the processor-dependent code (firmware),
performs a self-test and initializes the processor. It then loads and transfers control to isl, the
operating-systemindependent initial system loader. isl, in turn, loads and transfers control to the hpux utility, the
HP-UX-specific bootstrap loader. hpux
then downloads the HP-UX kernel object file from an HP-UX file system and transfers control to the loaded
kernel image.
Common for both
1. The HPUX/HPUX.EFI program (also known as the secondary
loader ) figures out what HP-UX kernel to load, and what arguments to pass to
it (like init state).
2. The secondary loader relocates itself to the end of
the initial memory module, loadsthe kernel at the beginning and starts running
it. The kernel needs to fit into that area!
3. Kernel initialization (real mode):
initialize all of the memory, read /stand/ioconfig and
/stand/rootconf files using the hpux loader’s system calls, initialize all
modules (1st level I/O configuration), allocate equivalently-mapped data
structures, PDIR and hash table, optimize assembly, craft process 0, go
virtual.
4. Kernel initialization (virtual mode):
start the clock, start up the other processors, finish
the I/O configuration (2nd level),initialize subsystems, intialize
LVM/swap/dump, mount root file system read-only,fork() off system daemons.
5. fork() off /sbin/pre_init_rc and mount root file
system read-write afterwards.
6. Start /etc/init process which, depending on the passed
init state, starts working trough /etc/inittab or launches a shell in the case
of a Single User or LVM Maintenance boot.
7. login console