3 boot, bootrc \- connect to the root file server
20 is the first program run after a kernel has been loaded. It
23 a compressed filesystem contained in
27 environment and executes
29 passing on its arguments.
31 connects to the file server that will serve the root, performs any
32 authentication needed to connect to that server, and executes the
38 are started by the kernel, never run directly by the user.
41 for information about the process of loading the kernel (and
45 Once loaded, the kernel initializes its data structures and devices.
46 It sets the two environment variables
50 to describe the processor.
51 It then binds a place-holder file server,
55 and crafts an initial process whose sole function is to
58 a binary which is compiled into
61 The command line passed depends
62 on the information passed from boot ROM
64 Machines that boot directly from ROM (that is, most machines other than PCs)
65 pass the boot line given to the ROM directly to
68 On the PC, each line in the file
72 is passed to the boot program as an environment
73 variable with the same name and value.
81 passed its execution to
83 it must determine the file
88 with which to connect to it.
89 Typically this will name a file server on the network,
90 or state that the root file system is on local disk and name the partition.
91 The complete list of methods is given below.
94 must also set a user name to be used
95 as the owner of devices and all console
96 processes and an encryption key to be used
99 will prompt for these.
101 Method and address are prompted for first.
102 The prompt lists all valid methods, with the default in brackets, for example:
105 bootargs is (tcp, local!device) [local!/dev/sdC0/fscache]
108 A newline picks the default. Entering
113 Other possible responses are
116 .IB method ! address\f1.
118 The other interactions depend on whether the system
120 terminal or a CPU server.
122 A terminal must have a
125 If none is specified with the
129 will prompt for one on the console:
135 The user will also be prompted for a password to
136 be used as an encryption key on each
146 the root file system before
148 and makes the connection available as
150 for subsequent processes to
161 option is given it is also passed as an option to
163 If the environment variable
167 it is used as an argument to
173 has been built with the cache file system,
175 the local disk partition
176 .BI /dev/sd XX /cache
180 exists, and the root file system is from a remote server,
183 will insert a user level cache
184 process between the remote server and the local namespace
185 that caches all remote accesses on the local partition.
190 to reformat the cache partition.
192 The user owning devices and console processes on CPU servers
193 and that user's domain and encryption key are
194 read from NVRAM on all machines except PCs.
195 PCs keep the information in the disk partition
196 .BI /dev/sd XX /nvram.
199 option is given or if no stored information is found
201 will prompt for all three items and store them.
206 authdom: research.bell-labs.com
209 The key is used for mutual authentication of the server and its clients.
210 The domain and id identify the owner of the key.
214 behaves as on the terminal except for
219 The methods available to any system depend on what was
220 compiled into the kernel.
221 The complete list of booting methods are listed below.
224 connect via Ethernet using the TCP protocol.
229 when configuring the IP stack.
236 override the file server and authentication server IP addresses
237 obtained (if any) from DHCP during
241 connect to the local file system.
242 The first argument is a disk holding a file system.
246 will configure the IP stack by passing
255 the address must be a numeric IP address.
256 If no address is specified,
257 a file server address will be found from another
258 system on the network using the BOOTP protocol and
259 the Plan 9 vendor-specific fields.
261 On PCs, the default arguments to boot are constructed using
272 bootargs=local!/dev/sdC0/fscache -c
275 Use an IP stack on an alternate ethernet interface
276 with a static address and fixed file server and authentication
282 bootargs=tcp!-g 192.168.0.1 ether /net/ether1 \e
283 192.168.0.50 255.255.255.0
288 line is split only for presentation; it is one line in the file.)
294 .B #//boot/bootfs.paq