BOOTING(8) BOOTING(8)
NAME
booting - bootstrapping procedures
SYNOPSIS
none
DESCRIPTION
This manual collects the incantations required to bootstrap
Plan 9 machines. Some of the information here is specific
to the installation at Bell Labs; some is generic.
If a CPU server is up, BOOTP and TFTP will run from there;
if not, the necessary files and services must be available
on a separate machine such as a Unix system to use these
protocols for bootstrapping.
Be sure to read boot(8) to understand what happens after the
kernel is loaded.
Terminals
First, here are instructions to bootstrap the various Plan 9
terminals. To bootstrap a terminal or a CPU server, a file
server must be running. On all the terminals, typing two
control-T's followed by a lower-case r reboots the machine;
other methods of rebooting are mentioned for some machines.
Gnot
The boot ROM prints
server[default==incon!nj/astro/Nfs!/68020/9gnot]
Typing just a newline bootstraps the default system. The
components of the server string are defaulted from the
right, for example, to bootstrap /sys/src/9/gnot/9gnot type
just that file name; to bootstrap from a different file
server, say kremvax, type
kremvax!/68020/9gnot
The bootstrap devices available are incon, 9600, 19200 and
scsi; with scsi the server name (here nj/astro/Nfs) becomes
a unit number, usually 0, and the file name is a boot parti-
tion to use. For example,
scsi!0!boot
means boot from the SCSI disk 0 the kernel in disk partition
/dev/hd0boot.
If running with a local cache file system, one normally
Page 1 Plan 9 (printed 11/6/25)
BOOTING(8) BOOTING(8)
bootstraps using the SCSI disk. However, if the local ker-
nel has been destroyed or is hopelessly out of date, boot-
strap using the serial line. To do this, use the boot line
9600!nj/astro/Nfs!/68020/9gnotdisk
to bootstrap from the serial line at 9600 baud or
19200!nj/astro/Nfs!/68020/9gnotdisk
for a 19200 baud connection.
To shut the system down, just turn off the power.
Nextstation
When powered on and left alone, a Nextstation will download
/68020/9nextstation using the BOOTP and TFTP protocols.
(Actually, first it loads /lib/tftpd/boot and uses that to
download the operating system.) It then prompts for the
user name and password and asks for the Ethernet protocol to
use; request the default.
While the system is downloading, it displays an Ethernet
symbol; at this time, holding the left Command key down and
typing the ~ key aborts the download and transfers control
to a ROM-resident monitor. The monitor will use the Ether-
net to boot an alternate kernel given the command, e.g.,
ben /sys/src/9/next/9nextstation
or
ben kgbvax:/sys/src/9/next/9nextstation
to force the download to come from system kgbvax.
If running with a local cache file system, bootstrap from
the disk. While the system is downloading, it displays a
symbol of a spinning disk. The processor first loads a pro-
gram, Disclabel, from the kernel partition /dev/hd1label and
then the real kernel from /dev/hd1boot.
See Next's documentation for other details, in particular
how to initialize a new machine to boot from Ethernet
instead of disk.
To turn the power off, hold down the left Command and
Alternate keys and press the power key. To reboot, hold
down the left Command and Alternate and press the `*' key in
the upper left corner of the keypad.
Sun Sparcstation
Page 2 Plan 9 (printed 11/6/25)
BOOTING(8) BOOTING(8)
Type a `b' to the power-on monitor and the kernel will be
downloaded. The kernel resides in /lib/tftpd/xxxxxxxx.SUN4C
where xxxxxxxx is the upper-case hexadecimal IP number of
the machine. There is no way to specify an alternate file
to download. Once running, the operating system asks the
same questions as on the Nextstation.
MIPS Magnum
The Magnum ROM monitor can boot from the ethernet or from a
local disk. To boot from the ethernet, type
bootp()/mips/9magnum
or use the ROM command setenv to set the variable bootfile
to that same string and type boot. To load a different
file, tell bootp which file to load, and to force the down-
load to come from a particular system, bootp()system:file.
Any arguments after bootp()file are passed to /boot.
To boot from disk, type
dksd()b
to load the Plan 9 bootstrap program or use the ROM command
setenv to set the variable bootfile to that same string and
type boot. The bootstrap program will then prompt for the
partition to boot from. If nothing is typed in 15 seconds,
a kernel will be booted from the hard disk partition
/dev/hd0boot. Any arguments after dksd()b are passed to
/boot.
Once running, the operating system asks the same questions
as on the Nextstation.
To reboot the machine, cycle the power or hit the reset but-
ton on the back.
AT&T Safari and other PCs
The Safari always boots DOS when you turn it on. Once DOS
is booted, it will prompt with a C>. To that type b to boot
Plan 9. If there is no diskette in the floppy drive, the
kernel will automatically be loaded from the hard disk par-
tition /dev/hd0boot. To boot from diskette, insert one (with
a DOS file system) before typing b. The boot program will
prompt for the kernel to boot with
server[hd!0!boot]:
A return causes a boot from hard disk partition,
/dev/hd0boot. Typing
fd!0!9
Page 3 Plan 9 (printed 11/6/25)
BOOTING(8) BOOTING(8)
will bootstrap a kernel from the file named 9 on the
diskette.
Once the kernel is booted, it behaves like all others. See
boot(8) for details.
CPU Servers
The Plan 9 CPU servers are multi-user, so they do not
request a user name when booting. On the CPU servers, typ-
ing a control-P on the console reboots the machine.
SGI Power Series
To the power-on menu, type a 5 to get the >> prompt. Then
boot Plan 9 using the Plan 9 bootstrap program, b, which
resides on the disk volume header (dvh) of the SCSI boot
disk. The bootstrap program takes two arguments, the method
with which to attach to a file server (as in boot(8)) and a
kernel file to boot. The default method is cyc and the
default kernel file is /mips/9power. For example, to boot
the standard kernel over the Cyclone, just type
b
To boot a test kernel via the Ethernet using the IL protocol
type
b il /sys/src/9/power/9power
Any arguments given to the bootstrap program will also be
passed on to /boot in the loaded kernel.
The bootstrap program reads a configuration description from
file /mips/conf/x.x.x.x where x.x.x.x is the decimal value
of the each byte of the IP address separated by dots. After
loading the kernel it passes to it the configuration infor-
mation.
Before using Plan 9 for the first time you will have to
bring up Unix to copy the bootstrap program to the dvh.
Copy /mips/9powerboot onto the Unix file system. Then use
dvhtool to copy it to the dvh file b.
Sun Sparcstation
Proceed as for the Sparcstation running as a terminal but
load /sparc/9sscpu.
Mips Magnum
Booting from the ethernet proceed as for the Magnum running
as a terminal but load /mips/9magnumcpu. Booting from the
disk proceed as for the Magnum running as a terminal.
With a disk a two stage boot is also possible. This allows
Page 4 Plan 9 (printed 11/6/25)
BOOTING(8) BOOTING(8)
us to boot from networks and or protocols unknown to the ROM
monitor. Instead of copying a kernel into the boot parti-
tion, we copy a bootstrap program that will load the real
kernel across a network. The arguments following dksd()b
are passed both to the bootstrap program and to the down-
loaded kernel. The first specifies the network and machine
to boot from and the second specifies the file to boot. For
example, to boot via the Datakit high speed board from the
file server nj/astro/x type
dksd()b hs!nj/astro/bootes /mips/9magnumcpu
To boot via the ethernet using the IL protocol type
dksd()b il /mips/9magnumcpu
Hobbit
The ROM uses some variables in non-volatile RAM for booting.
The variables can be examined by typing an e in response to
the ROM prompt '>>>' and initialized to useful defaults by
'e -i'. In order to boot the default kernel (ROM variable
bootfile)
b -- incon!nj/astro/Nfs
and to boot an alternate kernel
e bootfile /sys/src/9/hobbit/9cpu
b -- incon!nj/astro/Nfs
or
b /sys/src/9hobbit/9cpu -- incon!nj/astro/Nfs
The second form will also initialize the bootfile variable.
Currently, Hobbit boards boot only using incon.
File servers
The CPU servers and terminals run essentially the same pro-
gram, but the Plan 9 file servers run a distinct system.
The file servers accept only the commands described in fs(8)
on their consoles.
SGI Power Series
To the power-on menu, type a 5 to get the >> prompt. Then
boot the system like a Magnum but load 9powerfs. These
files are in /sys/src/fs/power on bootes or in
/usr/local/boot on tempel. The system will come up automat-
ically. On bootes, several minutes will be spent initializ-
ing the WORM jukebox; the machine will chat happily while
this is going on.
Page 5 Plan 9 (printed 11/6/25)
BOOTING(8) BOOTING(8)
Mips 6280
In response to the PROM >> prompt, type
bootp(,egl)tempel:96280fs
Sparc Sparcstation
Proceed as for the Sparcstation running as a terminal, but
load /sparc/9ssfs.
Mips Magnum
Proceed as for the Magnum running as a terminal, but load
/mips/9magnumfs.
SEE ALSO
boot(8), fs(8), init(8)
BUGS
The file server should be able to boot from its own disk.
Page 6 Plan 9 (printed 11/6/25)