Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (8) — Plan9 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ndb(6)

9boot(8)

boot(8)

init(8)

plan9.ini(8)

BOOTING(8)

NAME

booting − bootstrapping procedures

SYNOPSIS

none

DESCRIPTION

This manual page 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/DHCP 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

To bootstrap a diskless terminal or a CPU server, a file server must be running.  PCs can boot from a floppy disk or any FAT16 partition.  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. 

PCs

To boot a PC, it is necessary to get ­/386/9boot or ­/386/9load loaded into memory.  There are many ways to do this.  A Plan 9 boot floppy prepared by ­format (see prep(8)) will load ­9load when the PC is reset or powered on.  Other methods are described in 9boot(8). ­9boot or ­9load then locates and loads a Plan 9 kernel, using configuration information from the matching file in ­/cfg/pxe (9boot) or the file ­plan9.ini stored in the ­9fat configuration partition or on a DOS file system (9load). See 9boot(8) for details.

Once the kernel is booted, it behaves like the 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, typing a control-P on the console reboots the machine. 

PC CPU Server

Proceed as for the PC terminal, but load ­/386/9pccpu or /386/9pccpudisk. 

MIPS Routerboard CPU Server

Configure RouterBOOT via the serial port (115200 baud) to always boot from Ethernet via DHCP and TFTP, and arrange to load the ELF executable ­/mips/9rb in ndb(6).

ARM Systems

All ARM systems are started by ­U-boot using similar commands.  The kernels (and thus ­ndb ­bootf parameters) are

­/arm/9gd for the Marvell PXA168-based Guruplug Display

­/arm/9plug for other Marvell Kirkwoods (Sheevaplug, Guruplug, Dreamplug, Openrd, etc.) 

­/arm/9beagle
for TI OMAP3 boards (IGEPv2 from ISEE, Gumstix Overo)

­/arm/9ts for Trimslice systems, which contain the Nvidia Tegra 2

­/arm/9pi

­/arm/9picpu for Raspberry Pis

In the following, replace ­MAC with your board’s MAC address without colons, in lower case (the format of the ­ether ­ndb attribute).  If loading from a non-Plan-9 TFTP server, replace ­%C with /cfg/pxe/MAC. 

First, establish a ­/cfg/pxe ( plan9.ini) file for the new CPU server. For Kirkwood plugs,

cd /cfg/pxe; cp example-kw MAC

and edit ­/cfg/pxe/MAC to taste.  For PXA plugs, replace ­kw with pxa; for OMAP boards, replace ­kw with omap and be sure to edit the line for ­ether0 to set

ea=MAC

Second, configure ­U-boot to load the appropriate kernel and ­/cfg/pxe file at suitable addresses and start the kernel.  For Sheevaplugs and Openrd boards, type this at U-boot once:

setenv bootdelay 2
# type the next two lines as one
setenv bootcmd ’bootp; bootp; tftp 0x1000 %C; bootp; tftp 0x800000;
go 0x800000’
saveenv

For Guruplugs Displays, do the same but type this after ­setenv bootcmd instead:

’dhcp; tftpboot; tftpboot 0x1000 %C; bootz 0x500000’

For Kirkwood Guruplugs, type this after setenv bootcmd:

’dhcp 0x800000; tftp 0x1000 %C; go 0x800000’

For IGEPv2 boards, type this after setenv bootcmd:

’tftp 0x80300000 %C; dhcp 0x80310000; go 0x80310000’

For Gumstix Overo boards, type this after setenv bootcmd:

’bootp 0x80310000; bootp 0x80300000 %C; go 0x80310000’

For Trimslice systems, type this after setenv bootcmd:

’dhcp; dhcp; tftpboot 0x410000; tftpboot 0x400000 %C; go 0x410000’

For Raspberry Pis, ­gunzip the ­pi.uboot.sd.img.gz named below onto an SD card and insert that into your Pi. 

Thereafter, the boards will automatically boot via BOOTP and TFTP when reset. 

FILES

­/n/sources/extra/pi.uboot.sd.img.gz is a compressed bootable SD card image for Raspberry Pi, uses PXE booting. 

SOURCE

­/sys/src/boot
­/sys/src/9/pcboot

SEE ALSO

ndb(6), 9boot(8), boot(8), init(8), plan9.ini(8)

Plan 9  —  August 02, 2013

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026