Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"	$NetBSD: boot.8,v 1.32 2017/07/03 21:31:00 wiz Exp $
.\"
.\" Copyright (c) 1992, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)boot_sparc.8	8.2 (Berkeley) 4/19/94
.\"
.Dd June 17, 2006
.Dt BOOT 8 sparc
.Os
.Sh NAME
.Nm boot
.Nd
system bootstrapping procedures
.Sh SYNOPSIS
.Nm boot
.Op Fl adqsv
.Oo
.Ar --
.Aq Ar boot string
.Oc
.Sh DESCRIPTION
.Ss Power fail and crash recovery
Normally, the system will reboot itself at power-up or after crashes.
An automatic consistency check of the file systems will be performed
as described in
.Xr fsck 8 ,
and unless this fails, the system will resume multi-user operations.
.Ss Cold starts
The
.Tn Sun
boot firmware, either old-style or new-style (Open Boot Prom),
performs a Power On Self Test
.Pq Tn POST ,
and then will boot an operating system according to
configuration in Open Firmware environment variables.
.Ss Boot program options
.Bl -tag -width xxx
.It Fl a
Prompt for the root file system device, the system crash dump
device, and the path to
.Xr init 8 .
.It Fl d
Bring the system up in debug mode.
Here it waits for a kernel debugger connect; see
.Xr gdb 1 .
.It Fl C
Boot kernel in compat mode.
Starting with revision 1.14
.Pq introduced on 2003/03/01 ,
the sparc boot program loads the
.Nx
kernel at its linked virtual address.
This feature requires a kernel built after 2003/02/21
.Pq corresponding to kernel version 1.6Q .
To load older kernels, the
.Fl C
option must be used, which loads the kernel at physical address
0x4000.
The size of a kernel loaded in this way is limited to approximately
3MB.
.It Fl q
Boot the system in quiet mode.
.It Fl s
Bring the system up in single-user mode.
.It Fl v
Boot the system in verbose mode.
.El
.Pp
Any extra flags or arguments, or the
.Aq Ar boot string
after the -- separator are passed to the boot PROM.
Other flags are currently ignored.
.Pp
The SPARC boot ROM comes in two flavours: an
.Dq old-style
ROM is used in sun4 machines, while a
.Dq new-style
ROM can be found on sun4c and sun4m models.
The
.Dq new-style
SPARC boot ROM is a full-featured Forth system with emacs key bindings.
It can be put in
.Dq old-style
user-interface compatibility mode (in which case it shows a simple
.Sq >
prompt), but this is essentially useless.
However, by default on sun4c models, the ROM runs in old-mode; to
enter new-mode type
.Sq n .
The ROM then shows a Forth-style
.Dq ok
prompt.
It is recommended to have the ROM always start in its native
.Dq new-style
mode.
Utter the following incantation in new-mode to force the ROM to always start
in new-mode.
.Pp
.Pa \	ok
setenv sunmon-compat? false
.Pp
The ROM will normally load the kernel from
.Dq sd(0,0,0)vmunix .
To change the default so that
.Nx
will be loaded from somewhere else, type the following
.Pp
.Pa \	ok
setenv boot-from sd(0,0,0)netbsd
.Pp
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
.Ic devalias )
is:
.Bd -literal -offset indent
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
.Ed
.Pp
For new-style machines,
if a device specification includes a partition letter (for example
.Em 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.
.Pp
At any time you can break back to the ROM by pressing the
.Sq L1
and
.Sq a
keys at the same time (if the console is a serial port the same is
achieved by sending a
.Sq break ) .
If you do this accidentally you can continue whatever was in progress
by typing
.Sq go .
.Sh OPEN BOOT PROM ENVIRONMENT VARIABLES
This section only applies to new-style machines.
.Pp
All Open Boot PROM environment variables can be printed with the
.Ic printenv
command and changed with the
.Ic setenv
command.
The boot process relevant variables and their suggested value for
booting
.Nx
are:
.Bd -literal -offset indent
auto-boot?            true
boot-file
boot-device           disk
diag-switch?          false
.Ed
.Pp
Of course you may select any other boot device,
if you do not want to boot from the device aliased to
.Em disk ,
see the discussion on devices above.
.Sh OPEN BOOT PROM ABBREVIATED COMMAND SUMMARY
This section only applies to new-style machines.
.Pp
The following Open Boot PROM commands are related to the boot process:
.Bd -literal -offset indent
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
.Ed
For disk and tape devices, the boot device is specified as
.Sq /path/device@target,lun:partition .
.Sh PROM MONITOR ABBREVIATED COMMAND SUMMARY
This section only applies to old-style machines.
.Pp
The following PROM monitor commands are related to the boot process:
.Bd -literal -offset indent
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
.Ed
.Pp
For SCSI disk and tape devices, the boot device is specified as
.Sq device(controller,unit,partition) ,
where
.Sq unit
is the hexidecimal value of the SCSI id of the target multiplied
by eight plus the lun, and
.Sq partition
is the partition number, starting from 0.
.Sh FILES
.Bl -tag -width /netbsdxx -compact
.It Pa /netbsd
system code
.It Pa /boot
system bootstrap
.El
.Sh SEE ALSO
.Xr crash 8 ,
.Xr disklabel 8 ,
.Xr fsck 8 ,
.Xr halt 8 ,
.Xr init 8 ,
.Xr installboot 8 ,
.Xr rc 8 ,
.Xr shutdown 8 ,
.Xr sparc64/boot 8 ,
.Xr syslogd 8
.Sh BUGS
On sun4 machines, the
.Nx
sparc boot loader can only boot from RAID partitions that start at the
beginning of the disk.
.Pp
On sun4 and early PROM version sun4c machines, the PROM can only boot from
the first 1Gb of the disk.
.Pp
On later PROM version sun4c and early PROM version sun4m machines, the PROM
can only boot from the first 2Gb of the disk.
.Pp
On later PROM version sun4m machines, the PROM can only boot from the first
4Gb of the disk.