hppa64 system bootstrapping
When powered on, after a panic, or if the system is rebooted via reboot(8) or shutdown(8), the hppa firmware (“PDC”) will proceed to its initialization, and will boot an operating system if autoboot is enabled.
Boot process description
System boot blocks are provided as a “LIF” (Logical Interchange Format) archive, either on a disk, tape or CD-ROM device, or via the network, using the bootp protocol. A small mkboot(8) utility is provided for combining primary boot and a number of images (OS kernels or standalone binaries) into one “LIF” volume suitable for booting.
If autoboot is enabled, the PDC will attempt to boot from the specified “boot path” value. If no “boot path” has been specified, the PDC will then scan for bootable devices and boot from the first found, after a few seconds allowing the user to interrupt the boot process. If autoboot is disabled, the PDC will enter interactive mode, after an optional device scan. In all cases, it is possible to enter interactive mode by holding the escape key during the selftests, or when prompted to do so to abort the current operation, unless the PDC has been configured in “secure mode”.
“ISL” stands for “Initial System Loader” and is the boot(8) program in OpenBSD. On all versions of the PDC the “boot” command (see below) will be followed by the question: “Interact with IPL (Y, N, or Cancel)?>” where a positive answer will invoke an interactive prompt in the boot(8) program later and negative will thus suppress it. A cancellation will abort the boot process.
With the default behaviour being a non-interactive boot process.
There is only one interactive mode, with a BOOT_ADMIN> prompt, which provides both boot settings and commands. The complete list of commands depends on the machine and PDC version. The following list only mentions commands impacting the boot process.
- Displays or changes the autoboot setting. If
auto bootis set to “on”, the PDC will always attempt to boot. The booted device chosen will depend on the
- Displays or changes the device scan setting. If
auto searchis set to “on”, the PDC will attempt to boot the first bootable device found in this order:
- Boot device path setting.
- SCSI devices connected to the built-in SCSI controller, the highest ID numbers being preferred.
- Network bootp server (see also dhcpd(8)).
- Other SCSI devices connected to secondary controllers, the highest ID numbers being preferred.
auto searchis set to “off” and the primary boot path points to a bootable device, no device scan will occur.
Note that setting
auto searchto “on” will force autoboot, regardless of the
- Boots off the specified device. The “primary” and
“alternate” path settings may be booted with
- Displays or changes the boot and console devices. The boot device is
defined as the “primary” path, and another setting may be
stored as the “alternate” path for rescue purposes. For
example, to define the primary boot path to the SCSI disk with ID 5
connected to the built-in controller, one would enter
When invoked without parameters,
pathwill list the various path settings.
Boot process options
The OpenBSD hppa boot loader program is extensively described in a separate document, boot(8).
Abnormal system termination
If the system crashes, it will enter the kernel debugger, ddb(4), if it is configured in the kernel. If the crash occurred during initialization and the debugger is not present or is exited, the kernel will halt the system. If the crash occurred during normal operation and the debugger is not present or is exited, the system will attempt a dump to the configured dump device (which will be automatically recovered with savecore(8) during the next multi-user boot cycle), and after the dump is complete (successful or not) the kernel will attempt a reboot.
- default system kernel
- standalone installation kernel, suitable for disaster recovery
- network bootstrap and kernel combined image
- primary bootstrap for “cd9660” file system
- primary bootstrap for “ffs” file system
- system bootstrap (usually also installed as /boot)
ddb(4), boot(8), dhcpd(8), halt(8), init(8), reboot(8), savecore(8), shutdown(8)