3 boot, bootrc \- connect to the root file server
8 is the first program run after a kernel has been loaded. It
11 a compressed filesystem contained in
15 environment and executes
17 passing on its arguments.
19 connects to the file server that will serve the root, performs any
20 authentication needed to connect to that server, and executes the
26 are started by the kernel, never run directly by the user.
29 for information about the process of loading the kernel (and
33 Once loaded, the kernel initializes its data structures and devices.
34 It sets the two environment variables
38 to describe the processor.
39 It then binds a place-holder file server,
43 and crafts an initial process whose sole function is to
46 a binary which is compiled into
49 The command line passed depends
50 on the information passed from boot ROM
52 Machines that boot directly from ROM (that is, most machines other than PCs)
53 pass the boot line given to the ROM directly to
56 On the PC, each line in the file
60 is passed to the boot program as an environment
61 variable with the same name and value.
65 passed its execution to
67 it must determine the fileserver to use and a
69 with which to connect to it.
72 will name a local disk partition or ethernet interface.
73 The complete list of methods is given below.
76 must also set a user name to be used
77 as the owner of devices and all console
78 processes and an encryption key to be used
81 will prompt for these.
83 Method and device are prompted for first.
84 The prompt lists all valid methods, with the default in brackets, for example:
87 bootargs is (tcp, il, local!device) [local!/dev/sdC0/fscache]
90 A newline picks the default. Entering
95 Other possible responses are
102 The other interactions depend on whether the system
104 terminal or a CPU server.
106 A terminal must have a
109 If not specified with the
114 will prompt for one on the console:
120 The user will also be prompted for a password to
121 be used as an encryption key on each
131 the root file system before
133 and makes the connection available as
135 for subsequent processes to
146 option is given it is also passed as an option to
148 If the environment variable
152 it is used as an argument to
158 has been built with the cache file system,
160 the local disk partition
161 .BI /dev/sd XX /cache
165 exists, and the root file system is from a remote server,
168 will insert a user level cache
169 process between the remote server and the local namespace
170 that caches all remote accesses on the local partition.
172 The user owning devices and console processes on CPU servers
173 and that user's domain and encryption key are
174 read from NVRAM on all machines except PCs.
175 PCs keep the information in the disk partition
176 .BI /dev/sd XX /nvram.
181 authdom: research.bell-labs.com
184 The key is used for mutual authentication of the server and its clients.
185 The domain and id identify the owner of the key.
189 behaves as on the terminal except for
194 The methods available to any system depend on what was
195 compiled into the kernel.
196 The complete list of booting methods are listed below.
199 connect via Ethernet using the TCP protocol.
206 when configuring the IP stack.
213 override the file server and authentication servers
214 obtained (if any) from DHCP during
220 but uses the IL protocol to connect to the fileserver.
223 connect to the local file system.
226 is a disk partition file holding a file system.
228 inspects the disk partition with
230 to determine the file system type and starts the
231 appropriate server with
235 On PCs, the default arguments to boot are constructed using
246 bootargs=local!/dev/sdC0/fscache -c
249 Use an IP stack on an alternate ethernet interface
250 with a static address and fixed file server and authentication
256 bootargs=tcp!-g 192.168.0.1 ether /net/ether1 \e
257 192.168.0.50 255.255.255.0
262 line is split only for presentation; it is one line in the file.)
268 .B #//boot/bootfs.paq
281 first appeared in Plan 9 from Bell Labs. It was rewritten
284 for 9front (April, 2011).