sparc64 system bootstrapping
When powered on, after a panic, or if the system is rebooted via reboot(8) or shutdown(8), the PROM will proceed to its initialization, and will boot an operating system if autoboot is enabled.
Boot process description
The sparc64 boot process is split into two parts: a small first-stage bootblock that is written into the superblock area of a partition (and hence is limited in size to SBSIZE - DEV_BSIZE bytes), and a second-stage boot program that resides in the filesystem proper. The first-stage bootblock is loaded into memory by the PROM. After it receives control, it loads the second-stage boot program ofwboot from the filesystem. The second-stage boot program uses the device driver interface to the PROM and the stand-alone filesystem code in libsa.a to locate and load the kernel. The first-stage bootblock and second-stage boot program can be found in /usr/mdec/bootblk and /usr/mdec/ofwboot respectively. The second-stage boot program commonly resides in the root directory as /ofwboot.
System boot blocks are installed using installboot(8), which prepares an FFS filesystem partition for boot-strapping from the PROM.
The boot program attempts to load the kernel from the selected boot device, which must currently be an SCSI (sd) or IDE (wd) disk drive, or a CD-ROM (cd), or an SCSI tape drive (st).
The UltraSPARC Open Firmware will normally look for a bootloader on the device specified by the boot-device variable. The OpenBSD bootloader will then look for a kernel named bsd by default, unless the boot-file variable is set, or a different filename has been specified in the boot command. To reset this variable to its default, empty, value, type the following:
To boot from a softraid(4) volume by default, boot-device must be set to a disk device hosting a chunk of the softraid volume:
setenv boot-device disk0
and boot-file must contain the (sr) device name of the softraid volume and optionally a partition letter and/or kernel:
setenv boot-file sr0a:/bsd
Autoboot is enabled by setting the auto-boot? variable to “true”, and is the factory default.
Boot process options
The following options are recognized:
- Prompt for the root filesystem and swap devices after the devices have been configured.
- Enter the “User Kernel Configuration” mode upon startup (see boot_config(8)).
- Enter the debugger, ddb(4), as soon as the kernel console has been initialized.
- Boot the system single-user. The system will be booted multi-user unless this option is specified.
Accessing the PROM during runtime
sysctl(8) variable ddb.console is enabled, at
any time you can break back to the ROM by pressing the ‘L1’
(also known as the “stop key”) and ‘a’ keys at
the same time (if the console is a serial port the same is achieved by
sending a “break”), and entering
prom at the prompt. If you do this accidentally you can continue
whatever was in progress by typing
go at the PROM
prompt, and then
cont to return to the system.
- default system kernel
- standalone installation kernel, suitable for disaster recovery
- primary bootstrap for “ffs” file system
- secondary bootstrap (usually also installed as /ofwboot)
- network bootstrap
- floppy disk bootstrap
ddb(4), softraid(4), boot_config(8), halt(8), init(8), installboot(8), reboot(8), savecore(8), shutdown(8)