123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- .TH BOOTING 8
- .SH NAME
- booting \- bootstrapping procedures
- .SH SYNOPSIS
- none
- .SH 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.
- .PP
- 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.
- .PP
- Be sure to read
- .IR boot (8)
- to understand what happens after the kernel is loaded.
- .SS 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
- .B r
- reboots the machine;
- other methods of rebooting are mentioned for some machines.
- .SS PCs
- To boot a PC, it is necessary to get
- .B /386/9load
- or
- .B /386/9pxeload
- loaded into memory.
- There are many ways to do this. A Plan 9 boot floppy prepared by
- .B format
- (see
- .IR prep (8))
- will load
- .B 9load
- when the PC is reset or powered on.
- Other methods are described in
- .IR 9load (8).
- .B 9load
- then locates and loads a Plan 9 kernel, using configuration information
- from the file
- .B plan9.ini
- stored in the
- .B 9fat
- configuration partition or on a DOS file system.
- See
- .IR 9load (8)
- for details.
- .PP
- Once the kernel is booted, it behaves like the others.
- See
- .IR boot (8)
- for details.
- .SS Alpha PCs
- Alpha PCs must be booted via TFTP using the SRM console.
- If the system has ARC firmware instead, SRM may be downloaded from
- .IP
- .EX
- http://www.compaq.com/
- .EE
- .PP
- You must configure the SRM firmware to load the file
- .BR /alpha/bootalphapc .
- The following commands may be used (replace
- .B ewa0
- with the name of your ethernet device, if different):
- .IP
- .EX
- set boot_reset ON
- set boot_file /alpha/bootalphapc
- set bootdef_dev ewa0
- set ewa0_inet_init bootp
- set ewa0_protocols BOOTP
- .EE
- .PP
- This secondary bootstrap program will first load the file
- .BR /alpha/conf/ <IP-address>
- (substituting the IP address of the system as obtained via bootp).
- This file is expected to be in
- .IR plan9.ini (8)
- format (the file
- .B /alpha/conf/10.0.0.2
- may be used as a template).
- It then loads the kernel via tftp, using the value of
- .B bootfile
- to tell it which file to load; this should be
- .B /alpha/9apc
- for terminals.
- .SS 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.
- .SS PC CPU Server
- Proceed as for the PC terminal, but load
- .B /386/9pccpu
- or
- .BR /386/9pccpudisk .
- .SS Alpha PC CPU Server
- Proceed as for the Alpha PC terminal, but use
- .B /alpha/9apccpu
- as the value of
- .BR bootfile .
- .SS SGI Challenge multiprocessor CPU Server
- The Challenge ROM monitor can boot from the Ethernet.
- To boot from the Ethernet, type
- .IP
- .EX
- .B bootp()/mips/9ch
- .EE
- .PP
- or use the ROM command
- .B setenv
- to set the variable
- .B bootfile
- to that same string and type
- .BR boot .
- To load a different file, tell
- .B bootp
- which file to load,
- and to force the download to come from a particular system,
- .BR bootp()system:file .
- Any arguments after
- .B bootp()file
- are passed to
- .BR /boot .
- If you are running a Plan 9
- .SM BOOTP
- server (see
- .IR dhcpd (8)),
- the file name can be omitted and the
- file specified by the
- .B bootf
- parameter for the machine in
- .B /lib/ndb
- will be downloaded by default.
- .PP
- Once the kernel is loaded,
- it prompts for the Ethernet
- protocol to use to reach the root file server; request the default.
- .
- .SS ARM CPU Servers
- All ARM systems are started by
- .I U-boot
- using similar commands.
- The kernels
- (and thus
- .I ndb
- .L bootf
- parameters)
- are
- .L /arm/9gd
- for the Marvell PXA168-based Guruplug Display,
- .L /arm/9plug
- for all Marvell Kirkwood plugs (Sheevaplug, Guruplug, Dreamplug, Openrd, etc.),
- and
- .L /arm/9beagle
- for TI OMAP3 boards (IGEPv2 from ISEE, Gumstix Overo).
- In the following,
- replace
- .I MAC
- with your board's MAC address without colons,
- in lower case
- (the format of the
- .L ether
- .I ndb
- attribute).
- .PP
- First, establish a
- .I /cfg/pxe
- (\c
- .IR plan9.ini )
- file for the new CPU server.
- For Kirkwood plugs,
- .IP
- .EX
- cd /cfg/pxe; cp example-kw \fIMAC
- .EE
- .PP
- and edit
- .L /cfg/pxe/\fIMAC
- to taste.
- For PXA plugs, replace
- .L kw
- with
- .LR pxa ;
- for OMAP boards, replace
- .L kw
- with
- .LR omap
- and
- be sure to edit the line for
- .L ether0
- to set
- .IP
- .EX
- ea=\fIMAC
- .EE
- .PP
- Second,
- configure
- .I U-boot
- to load the appropriate kernel and
- .I /cfg/pxe
- file at suitable addresses and start the kernel.
- For Sheevaplugs and Openrd boards,
- type this at U-boot once:
- .IP
- .EX
- setenv bootdelay 2
- # \fItype the next two lines as one\fP
- setenv bootcmd 'bootp; bootp; tftp 0x1000 /cfg/pxe/\fIMAC\fP; bootp;
- tftp 0x800000; go 0x800000'
- saveenv
- .EE
- .PP
- For Guruplugs Displays,
- do the same but type this after
- .L "setenv bootcmd"
- instead:
- .IP
- .EX
- \&'dhcp; tftpboot; tftpboot 0x1000 /cfg/pxe/\fIMAC\fP; bootz 0x500000'
- .EE
- .PP
- For Kirkwood Guruplugs,
- type this after
- .LR "setenv bootcmd" :
- .IP
- .EX
- \&'dhcp 0x800000; tftp 0x1000 /cfg/pxe/\fIMAC\fP; go 0x800000'
- .EE
- .PP
- For IGEPv2 boards,
- type this after
- .LR "setenv bootcmd" :
- .IP
- .EX
- \&'tftp 0x80300000 /cfg/pxe/\fIMAC\fP; dhcp 0x80310000; go 0x80310000'
- .EE
- .PP
- For Gumstix Overo boards,
- type this after
- .LR "setenv bootcmd" :
- .IP
- .EX
- \&'bootp 0x80310000; bootp 0x80300000 /cfg/pxe/\fIMAC\fP; go 0x80310000'
- .EE
- .PP
- Thereafter, the boards will automatically boot via BOOTP and TFTP
- when reset.
- .
- .SH "SEE ALSO"
- .IR ndb (6),
- .IR 9load (8),
- .IR boot (8),
- .IR init (8),
- .IR plan9.ini (8)
- .SH SOURCE
- Sources for the various boot programs are under
- .BR /sys/src/boot .
|