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 not specified with the
132 will prompt for one on the console:
138 The user will also be prompted for a password to
139 be used as an encryption key on each
149 the root file system before
151 and makes the connection available as
153 for subsequent processes to
164 option is given it is also passed as an option to
166 If the environment variable
170 it is used as an argument to
176 has been built with the cache file system,
178 the local disk partition
179 .BI /dev/sd XX /cache
183 exists, and the root file system is from a remote server,
186 will insert a user level cache
187 process between the remote server and the local namespace
188 that caches all remote accesses on the local partition.
193 to reformat the cache partition.
195 The user owning devices and console processes on CPU servers
196 and that user's domain and encryption key are
197 read from NVRAM on all machines except PCs.
198 PCs keep the information in the disk partition
199 .BI /dev/sd XX /nvram.
202 option is given or if no stored information is found
204 will prompt for all three items and store them.
209 authdom: research.bell-labs.com
212 The key is used for mutual authentication of the server and its clients.
213 The domain and id identify the owner of the key.
217 behaves as on the terminal except for
222 The methods available to any system depend on what was
223 compiled into the kernel.
224 The complete list of booting methods are listed below.
227 connect via Ethernet using the TCP protocol.
232 when configuring the IP stack.
239 override the file server and authentication server IP addresses
240 obtained (if any) from DHCP during
244 connect to the local file system.
245 The first argument is a disk holding a file system.
249 will configure the IP stack by passing
258 the address must be a numeric IP address.
259 If no address is specified,
260 a file server address will be found from another
261 system on the network using the BOOTP protocol and
262 the Plan 9 vendor-specific fields.
264 On PCs, the default arguments to boot are constructed using
275 bootargs=local!/dev/sdC0/fscache -c
278 Use an IP stack on an alternate ethernet interface
279 with a static address and fixed file server and authentication
285 bootargs=tcp!-g 192.168.0.1 ether /net/ether1 \e
286 192.168.0.50 255.255.255.0
291 line is split only for presentation; it is one line in the file.)
297 .B #//boot/bootfs.paq
310 first appeared in Plan 9 from Bell Labs. It was rewritten
313 for 9front (April, 2011).