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 12/22/24) 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 12/22/24) 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 12/22/24) 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 12/22/24) 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 12/22/24) 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 12/22/24)