14 Additionally, loader can load files from the TFTP file service. The NFS
15 and TFTP based boot is enabled via pxeboot(5). The loader also does
16 support uncompressing gzip files while reading. The uncompression will
17 happen automatically if the compressed file is stored without .gz suffix
18 or if the file is accessed by leaving out the .gz suffix from the name.
19 If the file is referred by full name, including .gz suffix, then the file
20 content is read as is and the uncompression is not performed.
21
22 loader provides a scripting language that can be used to automate tasks,
23 do pre-configuration or assist in recovery procedures. This scripting
24 language is roughly divided in two main components. The smaller one is a
25 set of commands designed for direct use by the casual user, called
26 "builtin commands" for historical reasons. The main drive behind these
27 commands is user-friendliness. The bigger component is an ANS Forth
28 compatible Forth interpreter based on FICL, by John Sadler.
29
30 During initialization, loader will probe for a console and set the
31 console variable, or set it to serial console ("ttya" - "ttyd") if the
32 previous boot stage used that. If multiple consoles are selected, they
33 will be listed separated by commas. Then, devices are probed, currdev
34 and loaddev are set, and COLUMNS, LINES, and ISADIR are set. Next, FICL
35 is initialized, the builtin words are added to its vocabulary. The inner
36 interpreter loader will use with FICL is then set to interpret, which is
37 FICL's default. After that, /boot/loader.rc is processed if available.
38 These files are processed through the include command, which reads all of
39 them into memory before processing them, making disk changes possible.
40
41 At this point, if an autoboot has not been tried, and if autoboot_delay
42 is not set to "NO" (not case sensitive), then an autoboot will be tried.
43 If the system gets past this point, prompt will be set and loader will
44 engage interactive mode. Please note that historically even when
45 autoboot_delay is set to "0" user will be able to interrupt autoboot
46 process by pressing some key on the console while kernel and modules are
47 being loaded. In some cases such behaviour may be undesirable, to
48 prevent it set autoboot_delay to "-1", in this case loader will engage
49 interactive mode only if autoboot has failed.
50
51 Builtin Commands
52 In loader, builtin commands take parameters from the command line. If an
53 error condition occurs, an exception will be generated, which can be
54 intercepted using ANS Forth exception handling words. If not
55 intercepted, an error message will be displayed and the interpreter's
56 state will be reset, emptying the stack and restoring interpreting mode.
57
58 The builtin commands available are:
59
102 load [-t type] file ...
103 Loads a kernel or file of opaque contents tagged as being of the
104 type type. Kernel and modules can be either in a.out or ELF
105 format. Any arguments passed after the name of the file to be
106 loaded will be passed as arguments to that file.
107
108 ls [-l] [path]
109 Displays a listing of files in the directory path, or the root
110 directory if path is not specified. If -l is specified, file
111 sizes will be shown too.
112
113 lsdev [-v]
114 Lists all of the devices from which it may be possible to load
115 modules. If -v is specified, more details are printed.
116
117 lsmod [-v]
118 Displays loaded modules. If -v is specified, more details are
119 shown.
120
121 more file [file ...]
122 Display the files specified, with a pause at each LINES
123 displayed.
124
125 read [-t seconds] [-p prompt] [variable]
126 Reads a line of input from the terminal, storing it in variable
127 if specified. A timeout can be specified with -t, though it will
128 be canceled at the first key pressed. A prompt may also be
129 displayed through the -p flag.
130
131 reboot Immediately reboots the system.
132
133 set variable
134 set variable=value
135 Set loader's environment variables.
136
137 show [variable]
138 Displays the specified variable's value, or all variables and
139 their values if variable is not specified.
140
141 unload Remove all modules from memory.
142
199 Will set kernel(1M) -v option.
200
201 boot-args
202 Will set custom arguments for the kernel. If set in loader
203 configuration, the loader startup will parse the boot-args
204 value to set boot prefixed variables listed above, any
205 unrecognized options are added to kernel command line verbatim.
206
207 bootfile The name of the kernel.
208
209 console Defines the current console or consoles. Multiple consoles may
210 be specified. In that case, the first listed console will
211 become the default console for the kernel(1M).
212
213 currdev Selects the default device. Syntax for devices is odd.
214
215 interpret
216 Has the value "ok" if the Forth's current state is
217 interpreting.
218
219 LINES Define the number of lines on the screen, to be used by the
220 pager.
221
222 module_path
223 Sets the list of directories which will be searched for modules
224 named in a load command or implicitly required by a dependency.
225 The default value for this variable is
226 "/platform/i86pc/${ISADIR}"
227
228 prompt Value of loader's prompt. Defaults to "${interpret}". If
229 variable prompt is unset, the default prompt is `>'.
230
231 os_console
232 If set, the value is used to set kernel(1M) console property.
233
234 Other variables are used for loader or to set kernel properties or for
235 informational purposes.
236
237 Builtin Parser
238 When a builtin command is executed, the rest of the line is taken by it
239 as arguments, and it is processed by a special parser which is not used
|
14 Additionally, loader can load files from the TFTP file service. The NFS
15 and TFTP based boot is enabled via pxeboot(5). The loader also does
16 support uncompressing gzip files while reading. The uncompression will
17 happen automatically if the compressed file is stored without .gz suffix
18 or if the file is accessed by leaving out the .gz suffix from the name.
19 If the file is referred by full name, including .gz suffix, then the file
20 content is read as is and the uncompression is not performed.
21
22 loader provides a scripting language that can be used to automate tasks,
23 do pre-configuration or assist in recovery procedures. This scripting
24 language is roughly divided in two main components. The smaller one is a
25 set of commands designed for direct use by the casual user, called
26 "builtin commands" for historical reasons. The main drive behind these
27 commands is user-friendliness. The bigger component is an ANS Forth
28 compatible Forth interpreter based on FICL, by John Sadler.
29
30 During initialization, loader will probe for a console and set the
31 console variable, or set it to serial console ("ttya" - "ttyd") if the
32 previous boot stage used that. If multiple consoles are selected, they
33 will be listed separated by commas. Then, devices are probed, currdev
34 and loaddev are set, and screen-#cols, screen-#rows, and ISADIR are set.
35 Next, FICL is initialized, the builtin words are added to its vocabulary.
36 The inner interpreter loader will use with FICL is then set to interpret,
37 which is FICL's default. After that, /boot/loader.rc is processed if
38 available. These files are processed through the include command, which
39 reads all of them into memory before processing them, making disk changes
40 possible.
41
42 At this point, if an autoboot has not been tried, and if autoboot_delay
43 is not set to "NO" (not case sensitive), then an autoboot will be tried.
44 If the system gets past this point, prompt will be set and loader will
45 engage interactive mode. Please note that historically even when
46 autoboot_delay is set to "0" user will be able to interrupt autoboot
47 process by pressing some key on the console while kernel and modules are
48 being loaded. In some cases such behaviour may be undesirable, to
49 prevent it set autoboot_delay to "-1", in this case loader will engage
50 interactive mode only if autoboot has failed.
51
52 Builtin Commands
53 In loader, builtin commands take parameters from the command line. If an
54 error condition occurs, an exception will be generated, which can be
55 intercepted using ANS Forth exception handling words. If not
56 intercepted, an error message will be displayed and the interpreter's
57 state will be reset, emptying the stack and restoring interpreting mode.
58
59 The builtin commands available are:
60
103 load [-t type] file ...
104 Loads a kernel or file of opaque contents tagged as being of the
105 type type. Kernel and modules can be either in a.out or ELF
106 format. Any arguments passed after the name of the file to be
107 loaded will be passed as arguments to that file.
108
109 ls [-l] [path]
110 Displays a listing of files in the directory path, or the root
111 directory if path is not specified. If -l is specified, file
112 sizes will be shown too.
113
114 lsdev [-v]
115 Lists all of the devices from which it may be possible to load
116 modules. If -v is specified, more details are printed.
117
118 lsmod [-v]
119 Displays loaded modules. If -v is specified, more details are
120 shown.
121
122 more file [file ...]
123 Display the files specified, with a pause at each screen-#rows
124 displayed.
125
126 read [-t seconds] [-p prompt] [variable]
127 Reads a line of input from the terminal, storing it in variable
128 if specified. A timeout can be specified with -t, though it will
129 be canceled at the first key pressed. A prompt may also be
130 displayed through the -p flag.
131
132 reboot Immediately reboots the system.
133
134 set variable
135 set variable=value
136 Set loader's environment variables.
137
138 show [variable]
139 Displays the specified variable's value, or all variables and
140 their values if variable is not specified.
141
142 unload Remove all modules from memory.
143
200 Will set kernel(1M) -v option.
201
202 boot-args
203 Will set custom arguments for the kernel. If set in loader
204 configuration, the loader startup will parse the boot-args
205 value to set boot prefixed variables listed above, any
206 unrecognized options are added to kernel command line verbatim.
207
208 bootfile The name of the kernel.
209
210 console Defines the current console or consoles. Multiple consoles may
211 be specified. In that case, the first listed console will
212 become the default console for the kernel(1M).
213
214 currdev Selects the default device. Syntax for devices is odd.
215
216 interpret
217 Has the value "ok" if the Forth's current state is
218 interpreting.
219
220 screen-#rows
221 Define the number of lines on the screen, to be used by the
222 pager.
223
224 module_path
225 Sets the list of directories which will be searched for modules
226 named in a load command or implicitly required by a dependency.
227 The default value for this variable is
228 "/platform/i86pc/${ISADIR}"
229
230 prompt Value of loader's prompt. Defaults to "${interpret}". If
231 variable prompt is unset, the default prompt is `>'.
232
233 os_console
234 If set, the value is used to set kernel(1M) console property.
235
236 Other variables are used for loader or to set kernel properties or for
237 informational purposes.
238
239 Builtin Parser
240 When a builtin command is executed, the rest of the line is taken by it
241 as arguments, and it is processed by a special parser which is not used
|