Print this page
NEX-16819 loader UEFI support
Includes work by Toomas Soome <tsoome@me.com>
Upstream commits:
loader: pxe receive cleanup
9475 libefi: Do not return only if ReceiveFilter
installboot: should support efi system partition
8931 boot1.efi: scan all display modes rather than
loader: spinconsole updates
loader: gfx experiment to try GOP Blt() function.
sha1 build test
loader: add sha1 hash calculation
common/sha1: update for loader build
loader: biosdisk rework
uts: 32-bit kernel FB needs mapping in low memory
uts: add diag-device
uts: boot console mirror with diag-device
uts: enable very early console on ttya
kmdb: add diag-device as input/output device
uts: test VGA memory exclusion from mapping
uts: clear boot mapping and protect boot pages test
uts: add dboot map debug printf
uts: need to release FB pages in release_bootstrap()
uts: add screenmap ioctl
uts: update sys/queue.h
loader: add illumos uts/common to include path
loader: tem/gfx font cleanup
loader: vbe checks
uts: gfx_private set KD_TEXT when KD_RESETTEXT is
uts: gfx 8-bit update
loader: gfx 8-bit fix
loader: always set media size from partition.
uts: MB2 support for 32-bit kernel
loader: x86 should have tem 80x25
uts: x86 should have tem 80x25
uts: font update
loader: font update
uts: tem attributes
loader: tem.c comment added
uts: use font module
loader: add font module
loader: build rules for new font setup
uts: gfx_private update for new font structure
uts: early boot update for new font structure
uts: font update
uts: font build rules update for new fonts
uts: tem update to new font structure
loader: module.c needs to include tem_impl.h
uts: gfx_private 8x16 font rework
uts: make font_lookup public
loader: font rework
uts: font rework
9259 libefi: efi_alloc_and_read should check for PMBR
uts: tem utf-8 support
loader: implement tem utf-8 support
loader: tem should be able to display UTF-8
7784 uts: console input should support utf-8
7796 uts: ldterm default to utf-8
uts: do not reset serial console
uts: set up colors even if tem is not console
uts: add type for early boot properties
uts: gfx_private experiment with drm and vga
uts: gfx_private should use setmode drm callback.
uts: identify FB types and set up gfx_private based
loader: replace gop and vesa with framebuffer
uts: boot needs simple tem to support mdb
uts: boot_keyboard should emit esc sequences for
uts: gfx_private FB showuld be written by line
kmdb: set terminal window size
uts: gfx_private needs to keep track of early boot FB
pnglite: move pnglite to usr/src/common
loader: gfx_fb
ficl-sys: add gfx primitives
loader: add illumos.png logo
ficl: add fb-putimage
loader: add png support
loader: add alpha blending for gfx_fb
loader: use term-drawrect for menu frame
ficl: add simple gfx words
uts: provide fb_info via fbgattr dev_specific array.
uts: gfx_private add alpha blending
uts: update sys/ascii.h
uts: tem OSC support (incomplete)
uts: implement env module support and use data from
uts: tem get colors from early boot data
loader: use crc32 from libstand (libz)
loader: optimize for size
loader: pass tem info to the environment
loader: import tem for loader console
loader: UEFI loader needs to set ISADIR based on
loader: need UEFI32 support
8918 loader.efi: add vesa edid support
uts: tem_safe_pix_clear_prom_output() should only
uts: tem_safe_pix_clear_entire_screen() should use
uts: tem_safe_check_first_time() should query cursor
uts: tem implement cls callback & visual_io v4
uts: gfx_vgatext use block cursor for vgatext
uts: gfx_private implement cls callback & visual_io
uts: gfx_private bitmap framebuffer implementation
uts: early start frame buffer console support
uts: font functions should check the input char
uts: font rendering should support 16/24/32bit depths
uts: use smallest font as fallback default.
uts: update terminal dimensions based on selected
7834 uts: vgatext should use gfx_private
uts: add spacing property to 8859-1.bdf
terminfo: add underline for sun-color
terminfo: sun-color has 16 colors
uts: add font load callback type
loader: do not repeat int13 calls with error 0x20 and
8905 loader: add skein/edonr support
8904 common/crypto: make skein and edonr loader
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Revert "NEX-16819 loader UEFI support"
This reverts commit ec06b9fc617b99234e538bf2e7e4d02a24993e0c.
Reverting due to failures in the zfs-tests and the sharefs-tests
NEX-16819 loader UEFI support
Includes work by Toomas Soome <tsoome@me.com>
Upstream commits:
loader: pxe receive cleanup
9475 libefi: Do not return only if ReceiveFilter
installboot: should support efi system partition
8931 boot1.efi: scan all display modes rather than
loader: spinconsole updates
loader: gfx experiment to try GOP Blt() function.
sha1 build test
loader: add sha1 hash calculation
common/sha1: update for loader build
loader: biosdisk rework
uts: 32-bit kernel FB needs mapping in low memory
uts: add diag-device
uts: boot console mirror with diag-device
uts: enable very early console on ttya
kmdb: add diag-device as input/output device
uts: test VGA memory exclusion from mapping
uts: clear boot mapping and protect boot pages test
uts: add dboot map debug printf
uts: need to release FB pages in release_bootstrap()
uts: add screenmap ioctl
uts: update sys/queue.h
loader: add illumos uts/common to include path
loader: tem/gfx font cleanup
loader: vbe checks
uts: gfx_private set KD_TEXT when KD_RESETTEXT is
uts: gfx 8-bit update
loader: gfx 8-bit fix
loader: always set media size from partition.
uts: MB2 support for 32-bit kernel
loader: x86 should have tem 80x25
uts: x86 should have tem 80x25
uts: font update
loader: font update
uts: tem attributes
loader: tem.c comment added
uts: use font module
loader: add font module
loader: build rules for new font setup
uts: gfx_private update for new font structure
uts: early boot update for new font structure
uts: font update
uts: font build rules update for new fonts
uts: tem update to new font structure
loader: module.c needs to include tem_impl.h
uts: gfx_private 8x16 font rework
uts: make font_lookup public
loader: font rework
uts: font rework
libefi: efi_alloc_and_read should check for PMBR
uts: tem utf-8 support
loader: implement tem utf-8 support
loader: tem should be able to display UTF-8
7784 uts: console input should support utf-8
7796 uts: ldterm default to utf-8
uts: do not reset serial console
uts: set up colors even if tem is not console
uts: add type for early boot properties
uts: gfx_private experiment with drm and vga
uts: gfx_private should use setmode drm callback.
uts: identify FB types and set up gfx_private based
loader: replace gop and vesa with framebuffer
uts: boot needs simple tem to support mdb
uts: boot_keyboard should emit esc sequences for
uts: gfx_private FB showuld be written by line
kmdb: set terminal window size
uts: gfx_private needs to keep track of early boot FB
pnglite: move pnglite to usr/src/common
loader: gfx_fb
ficl-sys: add gfx primitives
loader: add illumos.png logo
ficl: add fb-putimage
loader: add png support
loader: add alpha blending for gfx_fb
loader: use term-drawrect for menu frame
ficl: add simple gfx words
uts: provide fb_info via fbgattr dev_specific array.
uts: gfx_private add alpha blending
uts: update sys/ascii.h
uts: tem OSC support (incomplete)
uts: implement env module support and use data from
uts: tem get colors from early boot data
loader: use crc32 from libstand (libz)
loader: optimize for size
loader: pass tem info to the environment
loader: import tem for loader console
loader: UEFI loader needs to set ISADIR based on
loader: need UEFI32 support
8918 loader.efi: add vesa edid support
uts: tem_safe_pix_clear_prom_output() should only
uts: tem_safe_pix_clear_entire_screen() should use
uts: tem_safe_check_first_time() should query cursor
uts: tem implement cls callback & visual_io v4
uts: gfx_vgatext use block cursor for vgatext
uts: gfx_private implement cls callback & visual_io
uts: gfx_private bitmap framebuffer implementation
uts: early start frame buffer console support
uts: font functions should check the input char
uts: font rendering should support 16/24/32bit depths
uts: use smallest font as fallback default.
uts: update terminal dimensions based on selected
7834 uts: vgatext should use gfx_private
uts: add spacing property to 8859-1.bdf
terminfo: add underline for sun-color
terminfo: sun-color has 16 colors
uts: add font load callback type
loader: do not repeat int13 calls with error 0x20 and
8905 loader: add skein/edonr support
8904 common/crypto: make skein and edonr loader
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/man/man5/loader.5.man.txt
+++ new/usr/src/man/man5/loader.5.man.txt
1 1 LOADER(5) Standards, Environments, and Macros LOADER(5)
2 2
3 3 NAME
4 4 loader - kernel bootstrapping final stage
5 5
6 6 DESCRIPTION
7 7 The loader is the final stage of illumos's kernel bootstrapping process.
8 8 The actual name for the stage depends on the platform. On IA32 (i386)
9 9 architectures with BIOS firmware, it is a BTX client and named zfsloader.
10 10 It is linked statically to libstand and usually located in the directory
11 11 /boot.
12 12
13 13 loader supports booting from ZFS, UFS, PCFS, HSFS and NFS file systems.
14 14 Additionally, loader can load files from the TFTP file service. The NFS
15 15 and TFTP based boot is enabled via pxeboot(5). The loader also does
16 16 support uncompressing gzip files while reading. The uncompression will
17 17 happen automatically if the compressed file is stored without .gz suffix
18 18 or if the file is accessed by leaving out the .gz suffix from the name.
19 19 If the file is referred by full name, including .gz suffix, then the file
20 20 content is read as is and the uncompression is not performed.
21 21
22 22 loader provides a scripting language that can be used to automate tasks,
23 23 do pre-configuration or assist in recovery procedures. This scripting
|
↓ open down ↓ |
23 lines elided |
↑ open up ↑ |
24 24 language is roughly divided in two main components. The smaller one is a
25 25 set of commands designed for direct use by the casual user, called
26 26 "builtin commands" for historical reasons. The main drive behind these
27 27 commands is user-friendliness. The bigger component is an ANS Forth
28 28 compatible Forth interpreter based on FICL, by John Sadler.
29 29
30 30 During initialization, loader will probe for a console and set the
31 31 console variable, or set it to serial console ("ttya" - "ttyd") if the
32 32 previous boot stage used that. If multiple consoles are selected, they
33 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.
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.
40 41
41 42 At this point, if an autoboot has not been tried, and if autoboot_delay
42 43 is not set to "NO" (not case sensitive), then an autoboot will be tried.
43 44 If the system gets past this point, prompt will be set and loader will
44 45 engage interactive mode. Please note that historically even when
45 46 autoboot_delay is set to "0" user will be able to interrupt autoboot
46 47 process by pressing some key on the console while kernel and modules are
47 48 being loaded. In some cases such behaviour may be undesirable, to
48 49 prevent it set autoboot_delay to "-1", in this case loader will engage
49 50 interactive mode only if autoboot has failed.
50 51
51 52 Builtin Commands
52 53 In loader, builtin commands take parameters from the command line. If an
53 54 error condition occurs, an exception will be generated, which can be
54 55 intercepted using ANS Forth exception handling words. If not
55 56 intercepted, an error message will be displayed and the interpreter's
56 57 state will be reset, emptying the stack and restoring interpreting mode.
57 58
58 59 The builtin commands available are:
59 60
60 61 autoboot [seconds [prompt]]
61 62 Proceeds to bootstrap the system after a number of seconds, if
62 63 not interrupted by the user. Displays a countdown prompt warning
63 64 the user the system is about to be booted, unless interrupted by
64 65 a key press. The kernel will be loaded first if necessary.
65 66 Defaults to 10 seconds.
66 67
67 68 bcachestat
68 69 Displays statistics about disk cache usage. For debugging only.
69 70
70 71 boot
71 72 boot kernelname [...]
72 73 boot -flag ...
73 74 Immediately proceeds to bootstrap the system, loading the kernel
74 75 if necessary. Any flags or arguments are passed to the kernel,
75 76 but they must precede the kernel name, if a kernel name is
76 77 provided.
77 78
78 79 WARNING: The behavior of this builtin is changed if loader.4th(5)
79 80 is loaded.
80 81
81 82 chain device
82 83 Chain load another boot loader from the specified device. Device
83 84 can be either disk name or partition.
84 85
85 86 echo [-n] [<message>]
86 87 Displays text on the screen. A new line will be printed unless
87 88 -n is specified.
88 89
89 90 heap Displays memory usage statistics. For debugging purposes only.
90 91
91 92 help [topic [subtopic]]
92 93 Shows help messages read from /boot/loader.help. The special
93 94 topic index will list the topics available.
94 95
95 96 include file [file ...]
96 97 Process script files. Each file, in turn, is completely read
97 98 into memory, and then each of its lines is passed to the command
98 99 line interpreter. If any error is returned by the interpreter,
99 100 the include command aborts immediately, without reading any other
100 101 files, and returns an error itself (see ERRORS).
101 102
102 103 load [-t type] file ...
103 104 Loads a kernel or file of opaque contents tagged as being of the
104 105 type type. Kernel and modules can be either in a.out or ELF
105 106 format. Any arguments passed after the name of the file to be
106 107 loaded will be passed as arguments to that file.
107 108
108 109 ls [-l] [path]
109 110 Displays a listing of files in the directory path, or the root
110 111 directory if path is not specified. If -l is specified, file
111 112 sizes will be shown too.
|
↓ open down ↓ |
62 lines elided |
↑ open up ↑ |
112 113
113 114 lsdev [-v]
114 115 Lists all of the devices from which it may be possible to load
115 116 modules. If -v is specified, more details are printed.
116 117
117 118 lsmod [-v]
118 119 Displays loaded modules. If -v is specified, more details are
119 120 shown.
120 121
121 122 more file [file ...]
122 - Display the files specified, with a pause at each LINES
123 + Display the files specified, with a pause at each screen-#rows
123 124 displayed.
124 125
125 126 read [-t seconds] [-p prompt] [variable]
126 127 Reads a line of input from the terminal, storing it in variable
127 128 if specified. A timeout can be specified with -t, though it will
128 129 be canceled at the first key pressed. A prompt may also be
129 130 displayed through the -p flag.
130 131
131 132 reboot Immediately reboots the system.
132 133
133 134 set variable
134 135 set variable=value
135 136 Set loader's environment variables.
136 137
137 138 show [variable]
138 139 Displays the specified variable's value, or all variables and
139 140 their values if variable is not specified.
140 141
141 142 unload Remove all modules from memory.
142 143
143 144 unset variable
144 145 Removes variable from the environment.
145 146
146 147 ? Lists available commands.
147 148
148 149 Builtin Environment Variables
149 150 The loader has actually two different kinds of `environment' variables.
150 151 There are ANS Forth's environmental queries, and a separate space of
151 152 environment variables used by builtins, which are not directly available
152 153 to Forth words. It is the latter type that this section covers.
153 154
154 155 Environment variables can be set and unset through the set and unset
155 156 builtins, and can have their values interactively examined through the
156 157 use of the show builtin. Their values can also be accessed as described
157 158 in BUILTIN PARSER.
158 159
159 160 Notice that these environment variables are not inherited by any shell
160 161 after the system has been booted.
161 162
162 163 A few variables are set automatically by loader. Others can affect the
163 164 behavior of either loader or the kernel at boot. Some options may
164 165 require a value, while others define behavior just by being set. Both
165 166 types of builtin variables are described below.
166 167
167 168 autoboot_delay
168 169 Number of seconds autoboot will wait before booting. If this
169 170 variable is not defined, autoboot will default to 10 seconds.
170 171
171 172 If set to "NO", no autoboot will be automatically attempted
172 173 after processing /boot/loader.rc, though explicit autoboot's
173 174 will be processed normally, defaulting to 10 seconds delay.
174 175
175 176 If set to "0", no delay will be inserted, but user still will
176 177 be able to interrupt autoboot process and escape into the
177 178 interactive mode by pressing some key on the console while
178 179 kernel and modules are being loaded.
179 180
180 181 If set to "-1", no delay will be inserted and loader will
181 182 engage interactive mode only if autoboot has failed for some
182 183 reason.
183 184
184 185 boot_ask Will set kernel(1M) -a option.
185 186
186 187 boot_debug
187 188 Will set kernel(1M) -d option.
188 189
189 190 boot_kmdb
190 191 Will set kernel(1M) -k option.
191 192
192 193 boot_reconfigure
193 194 Will set kernel(1M) -r option.
194 195
195 196 boot_single
196 197 Will set kernel(1M) -s option.
197 198
198 199 boot_verbose
199 200 Will set kernel(1M) -v option.
200 201
201 202 boot-args
202 203 Will set custom arguments for the kernel. If set in loader
203 204 configuration, the loader startup will parse the boot-args
204 205 value to set boot prefixed variables listed above, any
205 206 unrecognized options are added to kernel command line verbatim.
206 207
207 208 bootfile The name of the kernel.
208 209
|
↓ open down ↓ |
76 lines elided |
↑ open up ↑ |
209 210 console Defines the current console or consoles. Multiple consoles may
210 211 be specified. In that case, the first listed console will
211 212 become the default console for the kernel(1M).
212 213
213 214 currdev Selects the default device. Syntax for devices is odd.
214 215
215 216 interpret
216 217 Has the value "ok" if the Forth's current state is
217 218 interpreting.
218 219
219 - LINES Define the number of lines on the screen, to be used by the
220 + screen-#rows
221 + Define the number of lines on the screen, to be used by the
220 222 pager.
221 223
222 224 module_path
223 225 Sets the list of directories which will be searched for modules
224 226 named in a load command or implicitly required by a dependency.
225 227 The default value for this variable is
226 228 "/platform/i86pc/${ISADIR}"
227 229
228 230 prompt Value of loader's prompt. Defaults to "${interpret}". If
229 231 variable prompt is unset, the default prompt is `>'.
230 232
231 233 os_console
232 234 If set, the value is used to set kernel(1M) console property.
233 235
234 236 Other variables are used for loader or to set kernel properties or for
235 237 informational purposes.
236 238
237 239 Builtin Parser
238 240 When a builtin command is executed, the rest of the line is taken by it
239 241 as arguments, and it is processed by a special parser which is not used
240 242 for regular Forth commands.
241 243
242 244 This special parser applies the following rules to the parsed text:
243 245
244 246 1. All backslash characters are preprocessed.
245 247
246 248 o \b , \f , \r , \n and \t are processed as in C.
247 249
248 250 o \s is converted to a space.
249 251
250 252 o \v is converted to ASCII 11.
251 253
252 254 o \z is just skipped. Useful for things like "\0xf\z\0xf".
253 255
254 256 o \0xN and \0xNN are replaced by the hex N or NN.
255 257
256 258 o \NNN is replaced by the octal NNN ASCII character.
257 259
258 260 o \" , \' and \$ will escape these characters, preventing them
259 261 from receiving special treatment in Step 2, described below.
260 262
261 263 o \\ will be replaced with a single \ .
262 264
263 265 o In any other occurrence, backslash will just be removed.
264 266
265 267 2. Every string between non-escaped quotes or double-quotes will be
266 268 treated as a single word for the purposes of the remaining steps.
267 269
268 270 3. Replace any $VARIABLE or ${VARIABLE} with the value of the
269 271 environment variable VARIABLE.
270 272
271 273 4. Space-delimited arguments are passed to the called builtin command.
272 274 Spaces can also be escaped through the use of \\ .
273 275
274 276 An exception to this parsing rule exists, and is described in Builtins
275 277 And FORTH.
276 278
277 279 Builtins And FORTH
278 280 All builtin words are state-smart, immediate words. If interpreted, they
279 281 behave exactly as described previously. If they are compiled, though,
280 282 they extract their arguments from the stack instead of the command line.
281 283
282 284 If compiled, the builtin words expect to find, at execution time, the
283 285 following parameters on the stack:
284 286 addrN lenN ... addr2 len2 addr1 len1 N
285 287 where addrX lenX are strings which will compose the command line that
286 288 will be parsed into the builtin's arguments. Internally, these strings
287 289 are concatenated in from 1 to N, with a space put between each one.
288 290
289 291 If no arguments are passed, a 0 must be passed, even if the builtin
290 292 accepts no arguments.
291 293
292 294 While this behavior has benefits, it has its trade-offs. If the
293 295 execution token of a builtin is acquired (through ' or [']), and then
294 296 passed to catch or execute, the builtin behavior will depend on the
295 297 system state at the time catch or execute is processed! This is
296 298 particularly annoying for programs that want or need to handle
297 299 exceptions. In this case, the use of a proxy is recommended. For
298 300 example:
299 301 : (boot) boot;
300 302
301 303 FICL
302 304 FICL is a Forth interpreter written in C, in the form of a forth virtual
303 305 machine library that can be called by C functions and vice versa.
304 306
305 307 In loader, each line read interactively is then fed to FICL, which may
306 308 call loader back to execute the builtin words. The builtin include will
307 309 also feed FICL, one line at a time.
308 310
309 311 The words available to FICL can be classified into four groups. The ANS
310 312 Forth standard words, extra FICL words, extra FreeBSD words, and the
311 313 builtin commands; the latter were already described. The ANS Forth
312 314 standard words are listed in the STANDARDS section. The words falling in
313 315 the two other groups are described in the following subsections.
314 316
315 317 FICL Extra Words
316 318 .env
317 319
318 320 .ver
319 321
320 322 -roll
321 323
322 324 2constant
323 325
324 326 >name
325 327
326 328 body>
327 329
328 330 compare This is the STRING word set's compare.
329 331
330 332 compile-only
331 333
332 334 endif
333 335
334 336 forget-wid
335 337
336 338 parse-word
337 339
338 340 sliteral This is the STRING word set's sliteral.
339 341
340 342 wid-set-super
341 343
342 344 w@
343 345
344 346 w!
345 347
346 348 x.
347 349
348 350 empty
349 351
350 352 cell-
351 353
352 354 -rot
353 355
354 356 Loader Extra Words
355 357 $ (--) Evaluates the remainder of the input buffer, after having
356 358 printed it first.
357 359
358 360 % (--) Evaluates the remainder of the input buffer under a catch
359 361 exception guard.
360 362
361 363 .# Works like . but without outputting a trailing space.
362 364
363 365 fclose (fd --)
364 366 Closes a file.
365 367
366 368 fkey (fd -- char)
367 369 Reads a single character from a file.
368 370
369 371 fload (fd --)
370 372 Processes a file fd.
371 373
372 374 fopen (addr len mode -- fd)
373 375 Opens a file. Returns a file descriptor, or -1 in case of
374 376 failure. The mode parameter selects whether the file is to be
375 377 opened for read access, write access, or both. The constants
376 378 O_RDONLY, O_WRONLY, and O_RDWR are defined in
377 379 /boot/forth/support.4th, indicating read only, write only, and
378 380 read-write access, respectively.
379 381
380 382 fread (fd addr len -- len')
381 383 Tries to read len bytes from file fd into buffer addr. Returns
382 384 the actual number of bytes read, or -1 in case of error or end
383 385 of file.
384 386
385 387 heap? (-- cells)
386 388 Return the space remaining in the dictionary heap, in cells.
387 389 This is not related to the heap used by dynamic memory
388 390 allocation words.
389 391
390 392 inb (port -- char)
391 393 Reads a byte from a port.
392 394
393 395 key (-- char)
394 396 Reads a single character from the console.
395 397
396 398 key? (-- flag)
397 399 Returns true if there is a character available to be read from
398 400 the console.
399 401
400 402 ms (u --)
401 403 Waits u microseconds.
402 404
403 405 outb (port char --)
404 406 Writes a byte to a port.
405 407
406 408 seconds (-- u)
407 409 Returns the number of seconds since midnight.
408 410
409 411 tib> (-- addr len)
410 412 Returns the remainder of the input buffer as a string on the
411 413 stack.
412 414
413 415 Loader Defined Environmental Queries
414 416 arch-i386
415 417 TRUE if the architecture is IA32.
416 418
417 419 loader_version
418 420 loader version.
419 421
420 422 Errors
421 423 The following values are thrown by loader:
422 424
423 425 100 Any type of error in the processing of a builtin.
424 426
425 427 -1 Abort executed.
426 428
427 429 -2 Abort" executed.
428 430
429 431 -56 Quit executed.
430 432
431 433 -256 Out of interpreting text.
432 434
433 435 -257 Need more text to succeed -- will finish on next run.
434 436
435 437 -258 Bye executed.
436 438
437 439 -259 Unspecified error.
438 440
439 441 FILES
440 442 /boot/defaults/loader.conf
441 443 /boot/conf.d/*
442 444 /boot/loader.conf
443 445 /boot/loader.conf.local loader configuration files, as described in
444 446 loader.conf(4).
445 447 /boot/loader.help Loaded by help. Contains the help messages.
446 448 /boot/loader.rc loader bootstrapping script.
447 449 /boot/forth/loader.4th Extra builtin-like words.
448 450 /boot/forth/support.4th loader.conf processing words.
449 451 /boot/zfsloader loader itself.
450 452
451 453 EXAMPLES
452 454 Boot in single user mode:
453 455
454 456 boot -s
455 457
456 458 Load the kernel, a boot_archive, and then autoboot in five seconds.
457 459 Notice that a kernel must be loaded before any other load command is
458 460 attempted.
459 461
460 462 load /platform/i86pc/kernel/amd64/unix
461 463 load -t rootfs /platform/i86pc/amd64/boot_archive
462 464 autoboot 5
463 465
464 466 SEE ALSO
465 467 boot(1M), btxld(1onbld), loader.conf(4)
466 468
467 469 STANDARDS
468 470 For the purposes of ANS Forth compliance, loader is an ANS Forth System
469 471 with Environmental Restrictions, Providing .(, :noname, ?do, parse, pick,
470 472 roll, refill, to, value, \, false, true, <>, 0<>, compile, , erase, nip,
471 473 tuck and marker from the Core Extensions word set, Providing the
472 474 Exception Extensions word set, Providing the Locals Extensions word set,
473 475 Providing the Memory-Allocation Extensions word set, Providing .s, bye,
474 476 forget, see, words, [if], [else] and [then] from the Programming-Tools
475 477 extension word set, Providing the Search-Order extensions word set.
476 478
477 479 illumos April 20, 2017 illumos
|
↓ open down ↓ |
248 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX