glenda.party
term% ls -F
term% cat index.txt
BOOTING(8)                  System Manager's Manual                 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 ma‐
       chine, 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
       On a PC, the 9boot(8) program is used to load the kernel /386/9pcf into
       memory.

       Once the kernel is booted, it behaves like the others.  See boot(8) for
       details.

   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

              http://www.compaq.com/

       You  must  configure  the  SRM firmware to load the file /alpha/bootal‐
       phapc.  The following commands may be used (replace ewa0 with the  name
       of your ethernet device, if different):

              set boot_reset ON
              set boot_file /alpha/bootalphapc
              set bootdef_dev ewa0
              set ewa0_inet_init bootp
              set ewa0_protocols BOOTP

       This  secondary  bootstrap  program  will  first  load  the  file  /al‐
       pha/conf/<IP-address> (substituting the IP address of the system as ob‐
       tained via bootp).  This file is expected to be in plan9.ini(8)  format
       (the  file  /alpha/conf/10.0.0.2  may  be used as a template).  It then
       loads the kernel via tftp, using the value of bootfile to tell it which
       file to load; this should be /alpha/9apc for terminals.

   CPU Servers
       The Plan 9 CPU servers are multi-user, so they do not  request  a  user
       name when booting.

   PC CPU Server
       Proceed as for the PC terminal, but load /386/9pccpuf .

   Alpha PC CPU Server
       Proceed  as  for  the  Alpha PC terminal, but use /alpha/9apccpu as the
       value of bootfile.

   SGI Challenge multiprocessor CPU Server
       The Challenge ROM monitor can boot from the Ethernet.  To boot from the
       Ethernet, type

              bootp()/mips/9ch

       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 download to come from a particular system,
       bootp()system:file.  Any arguments  after  bootp()file  are  passed  to
       /boot.   If  you  are running a Plan 9 BOOTP server (see dhcpd(8)), the
       file name can be omitted and the file specified by the bootf  parameter
       for the machine in /lib/ndb will be downloaded by default.

       Once  the kernel is loaded, it prompts for the Ethernet protocol to use
       to reach the root file server; request the default.

   ARM CPU Servers
       All ARM systems are started by U-boot using similar commands.  The ker‐
       nels (and thus ndb parameters) are for the Marvell  PXA168-based  Guru‐
       plug  Display,  for  all  Marvell Kirkwood plugs (Sheevaplug, Guruplug,
       Openrd, etc.), and for TI  OMAP3  boards  (IGEPv2  from  ISEE,  Gumstix
       Overo).   In  the  following, replace MAC with your board's MAC address
       without colons, in lower case (the format of the ndb attribute).

       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  to  taste.  For PXA plugs, replace with for OMAP boards, re‐
       place with and be sure to edit the line for 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 /cfg/pxe/MAC; bootp;
                   tftp 0x800000; go 0x800000'
              saveenv

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

              'dhcp; tftpboot; tftpboot 0x1000 /cfg/pxe/MAC; bootz 0x500000'

       For Kirkwood Guruplugs, type this after

              'dhcp 0x800000; tftp 0x1000 /cfg/pxe/MAC; go 0x800000'

       For IGEPv2 boards, type this after

              'tftp 0x80300000 /cfg/pxe/MAC; dhcp 0x80310000; go 0x80310000'

       For Gumstix Overo boards, type this after

              'bootp 0x80310000; bootp 0x80300000 /cfg/pxe/MAC; go 0x80310000'

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

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

SOURCE
       Sources for the various boot programs are under /sys/src/boot.

                                                                    BOOTING(8)