Any extra flags or arguments, or the <boot string> after the -- separator are passed to the boot PROM. Other flags are currently ignored.
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 compatibility mode (in which case it shows a simple `>' prompt), but this is essentially useless. However, by default on sun4c models, 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 always start in new-mode.
ok
setenv sunmon-compat? false
The ROM will normally load the kernel from ``sd(0,0,0)vmunix''. To change the default so that NetBSD will be loaded from somewhere else, type the following
ok
setenv boot-from sd(0,0,0)netbsd
On newer SPARC machines, there are various aliases to access common devices. A typical list of usable boot devices (extracted from the output of the Open Boot PROM command devalias) is:
floppy /obio/SUNW,fdtwo
net-aui /iommu/sbus/ledma@f,400010:aui/le@f,c00000
net-tpe /iommu/sbus/ledma@f,400010:tpe/le@f,c00000
net /iommu/sbus/ledma@f,400010/le@f,c00000
disk /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0
cdrom /iommu/sbus/espdma@f,400000/esp@f,800000/sd@6,0:d
tape /iommu/sbus/espdma@f,400000/esp@f,800000/st@4,0
tape1 /iommu/sbus/espdma@f,400000/esp@f,800000/st@5,0
tape0 /iommu/sbus/espdma@f,400000/esp@f,800000/st@4,0
disk3 /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0
disk2 /iommu/sbus/espdma@f,400000/esp@f,800000/sd@2,0
disk1 /iommu/sbus/espdma@f,400000/esp@f,800000/sd@1,0
disk0 /iommu/sbus/espdma@f,400000/esp@f,800000/sd@0,0
For new-style machines, if a device specification includes a partition letter (for example cdrom in above list), that partition is used by default, otherwise the first (a) partition is used. If booting from the net device, there is no partition involved.
At any time you can break back to the ROM by pressing the `L1' and `a' keys at the same time (if the console is a serial port the same is achieved by sending a `break'). If you do this accidentally you can continue whatever was in progress by typing `go'.
All Open Boot PROM environment variables can be printed with the printenv command and changed with the setenv command. The boot process relevant variables and their suggested value for booting NetBSD are:
auto-boot? true
boot-file
boot-device disk
diag-switch? false
Of course you may select any other boot device, if you do not want to boot from the device aliased to disk, see the discussion on devices above.
The following Open Boot PROM commands are related to the boot process:
boot boot the system from the default device
boot device filename arguments
boot the specified device, filename and arguments
probe-ide list devices on the primary IDE controller
probe-ide-all list devices on all known IDE controllers
probe-scsi list devices on the primary SCSI controller
probe-scsi-all list devices on all known SCSI controllers
reset reset the system
The following PROM monitor commands are related to the boot process:
b boot the system from the default device
b device filename arguments
boot the specified device, filename and arguments
b? list boot device types
k2 reset the system
For SCSI disk and tape devices, the boot device is specified as `device(controller,unit,partition)', where `unit' is the hexidecimal value of the SCSI id of the target multiplied by eight plus the lun, and `partition' is the partition number, starting from 0.
/netbsd
/boot
On sun4 and early PROM version sun4c machines, the PROM can only boot from the first 1Gb of the disk.
On later PROM version sun4c and early PROM version sun4m machines, the PROM can only boot from the first 2Gb of the disk.
On later PROM version sun4m machines, the PROM can only boot from the first 4Gb of the disk.