MirOS Manual: boot_sparc(8)

BOOT_SPARC(8)            BSD System Manager's Manual             BOOT_SPARC(8)

NAME

     boot_sparc - sparc system bootstrapping procedures

DESCRIPTION

System starts

     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

     System boot blocks are installed near the start of the boot disk using
     the procedure described in installboot(8). The boot program attempts to
     load the kernel from the selected boot device, which must currently be an
     "sd", "xd" or "xy" disk, or an SCSI CD-ROM ("cd") or tape drive ("st").

     The SPARC boot ROM comes in two flavours: an "old-style" ROM is used in
     sun4 machines, while a "new-style" ROM can be found on sun4c and sun4m
     models. The "new-style" SPARC boot ROM is a full-featured Forth system
     with emacs key bindings. It can be put in "old-style" user-interface com-
     patibility mode (in which case it shows a simple ">" prompt), but this is
     essentially useless. However, by default the ROM runs in old-mode; to
     enter new-mode type "n". The ROM then shows a Forth-style "ok" prompt. It
     is recommended to have the ROM always start in its native "new-style"
     mode. Utter the following incantation in new-mode to force the ROM to al-
     ways start in new-mode:

     ok setenv sunmon-compat? false

Old-style PROM operation

     By default, the old ROM will poll for boot devices, unless the eeprom
     settings are set to specify a particular boot device. The OpenBSD
     bootloader will then look for a kernel named bsd by default, unless a
     different filename has been specified in the boot command.

     Refer to the "PROM User's Manual" for more information.

OpenBoot PROM version 1 operation

     Older OpenBOOT PROM, as well as hybrid (dual-mode) versions operating in
     compatibility mode (with the variable version2? set to false) will look
     for a bootloader and kernel filename as specified by the boot-from vari-
     able. To change the default so that OpenBSD will be loaded, type the fol-
     lowing:

     ok setenv boot-from sd(0,0,0)bsd

     Replace "sd(0,0,0)" with the appropriate boot device if necessary.

     Autoboot is enabled by setting the auto-boot? variable to "true", and is
     the factory default.

OpenBoot PROM version 2 operation

     Version 2 OpenBOOT PROM will look for a bootloader on the device speci-
     fied 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:

     ok set-default boot-file

     Autoboot is enabled by setting the auto-boot? variable to "true", and is
     the factory default.

Boot process options

     The following options are recognized:
           -a    Prompt for the root filesystem and swap devices after the
                 devices have been configured.
           -c    Enter the "User Kernel Configuration" mode upon startup (see
                 boot_config(8)).
           -d    Enter the debugger , ddb(4), as soon as the kernel console
                 has been initialized.
           -s    Boot the system single-user. The system will be booted
                 multi-user unless this option is specified.

Using these options

     Proper use of these options seems to be something along these lines:

     ok boot disk /bsd -a
     Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0
     File and args: /bsd -a
     >> MirBSD BOOT 2.2
     device[/iommu@f,.../sd@3,0:a]: just press Enter
     boot: /bsd
     Booting /bsd @ 0x4000

     Apparently, you merely need to acknowledge the boot device, while you
     have to re-enter the kernel name without the boot flags (here -a).

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 config-
     ured 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.

Accessing the PROM during runtime

     If the 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 machine prom at the
     prompt. If you do this accidentally you can continue whatever was in pro-
     gress by typing go on an OpenBOOT PROM, or c on an old-style PROM to re-
     turn to ddb, and then cont to return to the system.

FILES

     /bsd              default system kernel
     /bsd.rd           standalone installation kernel, suitable for disaster
                       recovery
     /usr/mdec/bootxx  primary bootstrap for "ffs" file system
     /usr/mdec/boot    secondary bootstrap (usually also installed as /boot)

SEE ALSO

     ddb(4), boot_config(8), halt(8), init(8), installboot(8), reboot(8),
     savecore(8), shutdown(8)

MirOS BSD #10-current           August 9, 2009                               1

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.