1 | = syslinux.cfg(5) = |
---|
2 | :doctype: manpage |
---|
3 | :revdate: 2012-10-28 |
---|
4 | :author: H. Peter Anvin |
---|
5 | :author-email: hpa@zytor.com |
---|
6 | :editor1: Gene Cumm |
---|
7 | :editor1-email: gene.cumm@gmail.com |
---|
8 | :editor1-revlast: 2012-10-28 |
---|
9 | :nbsp8:          |
---|
10 | :nbsp32: {nbsp8}{nbsp8}{nbsp8}{nbsp8} |
---|
11 | :data-uri: |
---|
12 | |
---|
13 | == NAME == |
---|
14 | syslinux.cfg - *Syslinux* configuration file |
---|
15 | |
---|
16 | |
---|
17 | == DESCRIPTION == |
---|
18 | Configuration for the boot behavior and user experience of *Syslinux* |
---|
19 | boot loaders, the format of display files and the boot prompt behavior. |
---|
20 | |
---|
21 | Blank lines are ignored. |
---|
22 | |
---|
23 | Note that the configuration file is not completely decoded. Syntax |
---|
24 | different from the one described above may still work correctly in this |
---|
25 | version of *Syslinux*, but may break in a future one. |
---|
26 | |
---|
27 | |
---|
28 | == LOCATION/NAME == |
---|
29 | *SYSLINUX* (before 4.00) used the configuration filename of |
---|
30 | syslinux.cfg. *EXTLINUX* (merged into *SYSLINUX* as of 4.00) used the |
---|
31 | filename extlinux.conf. Both default to searching for the config file |
---|
32 | in the installed directory (containing ldlinux.sys/extlinux.sys). As of |
---|
33 | 4.00, *SYSLINUX* will search for extlinux.conf then syslinux.cfg in each |
---|
34 | directory before falling back to the next directory. |
---|
35 | |
---|
36 | As of 3.35, *SYSLINUX* also searches /boot/syslinux, /syslinux and /. |
---|
37 | |
---|
38 | *ISOLINUX* (before 4.02) used the configuration filename of |
---|
39 | isolinux.cfg, searching /boot/isolinux (starting 2.00), then /isolinux |
---|
40 | and /. As of 4.02, *ISOLINUX* will search for isolinux.cfg then |
---|
41 | syslinux.cfg in /boot/isolinux before searching for the same files in |
---|
42 | /isolinux, /boot/syslinux, /syslinux, and /. |
---|
43 | |
---|
44 | |
---|
45 | == GLOBAL DIRECTIVES - MAIN == |
---|
46 | *#* comment:: |
---|
47 | A line comment. As of version 3.10, the space between the *#* and the |
---|
48 | comment is no longer required. |
---|
49 | |
---|
50 | *MENU* any string:: |
---|
51 | (3.00+) A directive for the simple menu system, treated as a comment |
---|
52 | outside the menu. See menu.txt. |
---|
53 | |
---|
54 | *INCLUDE* 'filename':: |
---|
55 | Inserts the contents of another file at this point in the configuration |
---|
56 | file. Files can currently be nested up to 16 levels deep, but it is not |
---|
57 | guaranteed that more than 8 levels will be supported in the future. |
---|
58 | |
---|
59 | *DEFAULT* 'kernel' 'options...':: |
---|
60 | Sets the default command line (which often references a LABEL). If |
---|
61 | *Syslinux* boots automatically, it will act just as if the entries after |
---|
62 | *DEFAULT* had been typed in at the 'boot:' prompt. Multiple uses will |
---|
63 | result in an override. |
---|
64 | + |
---|
65 | If no configuration file is present, or no *DEFAULT* or *UI* entry is |
---|
66 | present in the config file, an error message is displayed and the |
---|
67 | 'boot:' prompt is shown (3.85+). |
---|
68 | |
---|
69 | *UI* 'module' 'options...':: |
---|
70 | Selects a specific user interface 'module' (typically menu.c32 or |
---|
71 | vesamenu.c32). The command-line interface treats this as a directive |
---|
72 | that overrides the *DEFAULT* directive to load this module instead at |
---|
73 | startup, for an empty command line and at timeout and *PROMPT* directive |
---|
74 | to not prompt (but these directives may have effects on other |
---|
75 | configuration parsers). Multiple uses will result in an override. |
---|
76 | |
---|
77 | *LABEL* 'mylabel':: |
---|
78 | Begin a new *LABEL* clause. If 'mylabel' is entered as the kernel to |
---|
79 | boot, *Syslinux* should instead boot "image" (specified by a directive |
---|
80 | from *KERNEL-LIKE DIRECTIVES*) with any specified *DUAL-PURPOSE |
---|
81 | DIRECTIVES* being used instead of the global instance. |
---|
82 | + |
---|
83 | 'mylabel' must be unique. Currently the first instance is used but may |
---|
84 | result in an error or undesired behavior. 'mylabel' ends at the first |
---|
85 | character that is not a non-white-space printable character and should |
---|
86 | be restricted to non-white-space typeable characters. Prior to version |
---|
87 | 3.32, this would transformed to a DOS compatible format of 8.3 with a |
---|
88 | restricted character set. A *LABEL* clause must contain exactly 1 of |
---|
89 | the *KERNEL-LIKE DIRECTIVES* and may contain 1 each of the *LABEL-ONLY |
---|
90 | DIRECTIVES* or *DUAL-PURPOSE DIRECTIVES*. |
---|
91 | + |
---|
92 | Within a *LABEL*, using multiple *KERNEL-LIKE DIRECTIVES* or reuse of |
---|
93 | *LABEL-ONLY DIRECTIVES* or *DUAL-PURPOSE DIRECTIVES* will result in an |
---|
94 | override. Otherwise, multiple instances of the same directive will |
---|
95 | result in the last being effective. |
---|
96 | |
---|
97 | |
---|
98 | == DUAL-PURPOSE DIRECTIVES == |
---|
99 | Use of any of the *DUAL-PURPOSE DIRECTIVES* as *GLOBAL DIRECTIVES* is |
---|
100 | discouraged if there will be any non-Linux images loaded as *ALL* images |
---|
101 | will get these, including those manually entered at the 'boot:' prompt. |
---|
102 | |
---|
103 | *APPEND* 'options...':: |
---|
104 | Add one or more options to the kernel command line. These are added |
---|
105 | both for automatic and manual boots. The options are added at the very |
---|
106 | beginning of the kernel command line, usually permitting explicitly |
---|
107 | entered kernel options to override them. This is the equivalent of the |
---|
108 | LILO "append" option. |
---|
109 | + |
---|
110 | Use of the parameter 'initrd=' supports multiple filenames separated by |
---|
111 | commas (ie 'initrd=initrd_file1,initrd_file2') within a single instance. |
---|
112 | This is mostly useful for initramfs, which can be composed of multiple |
---|
113 | separate cpio or cpio.gz archives. |
---|
114 | + |
---|
115 | Note: all initrd files except the last one are zero-padded to a 4K page |
---|
116 | boundary. This should not affect initramfs. |
---|
117 | + |
---|
118 | Note: Only the last effective 'initrd=' parameter is used for loading |
---|
119 | initrd files. |
---|
120 | |
---|
121 | *APPEND* -:: |
---|
122 | Append nothing. *APPEND* with a single hyphen as argument in a *LABEL* |
---|
123 | section can be used to override a global *APPEND*. |
---|
124 | |
---|
125 | //[FIXME: Shorten subdefinitions] |
---|
126 | *SYSAPPEND* 'bitmask':: |
---|
127 | *IPAPPEND* 'bitmask':: |
---|
128 | (*SYSAPPEND*: 5.10+; *IPAPPEND*: *PXELINUX* only) |
---|
129 | The *SYSAPPEND* option was introduced in *Syslinux* 5.10; it is an |
---|
130 | enhancement of a previous option *IPAPPEND* which was only available on |
---|
131 | *PXELINUX*. 'bitmask' is interpreted as decimal format unless prefixed |
---|
132 | with "0x" for hexadecimal or "0" (zero) for octal. The 'bitmask' is an |
---|
133 | OR (sum) of the following integer options: |
---|
134 | |
---|
135 | ifndef::doctype-manpage[[horizontal]] |
---|
136 | *1*::: An option of the following format should be generated, based on |
---|
137 | the input from the DHCP/BOOTP or PXE boot server and added to the kernel |
---|
138 | command line(see note below; empty for non-PXELINUX variants): |
---|
139 | + |
---|
140 | ---- |
---|
141 | ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask> |
---|
142 | ---- |
---|
143 | + |
---|
144 | NOTE: The use of option 1 is no substitute for running a DHCP client in |
---|
145 | the booted system and should instead only be used to seed the client for |
---|
146 | a request. Without regular renewals, the lease acquired by the PXE BIOS |
---|
147 | will expire, making the IP address available for reuse by the DHCP |
---|
148 | server. |
---|
149 | + |
---|
150 | *2*::: An option of the following format should be generated, in |
---|
151 | dash-separated hexadecimal with leading hardware type (same as for the |
---|
152 | configuration file; see pxelinux.txt.) and added to the kernel command |
---|
153 | line, allowing an initrd program to determine from which interface the |
---|
154 | system booted(empty for non-PXELINUX variants): |
---|
155 | + |
---|
156 | ---- |
---|
157 | BOOTIF=<hardware-address-of-boot-interface> |
---|
158 | ---- |
---|
159 | + |
---|
160 | *4*::: An option of the following format should be generated, in lower |
---|
161 | case hexadecimal in the format normally used for UUIDs (same as for the |
---|
162 | configuration file; see pxelinux.txt.) and added to the kernel command |
---|
163 | line: |
---|
164 | + |
---|
165 | ---- |
---|
166 | SYSUUID=<system uuid> |
---|
167 | ---- |
---|
168 | + |
---|
169 | *8*::: (5.10+) indicate the CPU family and certain particularly |
---|
170 | significant CPU feature bits: |
---|
171 | + |
---|
172 | ---- |
---|
173 | CPU=<family><features> |
---|
174 | ---- |
---|
175 | + |
---|
176 | The <family> is a single digit from 3 (i386) to 6 (i686 or higher.) The |
---|
177 | following CPU features are currently reported; additional flags may be |
---|
178 | added in the future: |
---|
179 | + |
---|
180 | .... |
---|
181 | P Physical Address Extension (PAE) |
---|
182 | V Intel Virtualization Technology (VT/VMX) |
---|
183 | T Intel Trusted Exection Technology (TXT/SMX) |
---|
184 | X Execution Disable (XD/NX) |
---|
185 | L Long Mode (x86-64) |
---|
186 | S AMD SMX virtualization |
---|
187 | .... |
---|
188 | + |
---|
189 | *DMI*::: (5.10+) The following strings are derived from DMI/SMBIOS |
---|
190 | information if available: |
---|
191 | + |
---|
192 | Bit String Significance |
---|
193 | ------------------------------------------------------------- |
---|
194 | 0x00010 SYSVENDOR= System vendor name |
---|
195 | 0x00020 SYSPRODUCT= System product name |
---|
196 | 0x00040 SYSVERSION= System version |
---|
197 | 0x00080 SYSSERIAL= System serial number |
---|
198 | 0x00100 SYSSKU= System SKU |
---|
199 | 0x00200 SYSFAMILY= System family |
---|
200 | 0x00400 MBVENDOR= Motherboard vendor name |
---|
201 | 0x00800 MBVERSION= Motherboard version |
---|
202 | 0x01000 MBSERIAL= Motherboard serial number |
---|
203 | 0x02000 MBASSET= Motherboard asset tag |
---|
204 | 0x04000 BIOSVENDOR= BIOS vendor name |
---|
205 | 0x08000 BIOSVERSION= BIOS version |
---|
206 | 0x10000 SYSFF= System form factor |
---|
207 | + |
---|
208 | If these strings contain white-space characters, they are replaced with |
---|
209 | underscores (_). |
---|
210 | + |
---|
211 | The system form factor value is a number defined in the SMBIOS |
---|
212 | specification, available at http://www.dmtf.org/. As of version 2.7.1 |
---|
213 | of the specification, the following values are defined: |
---|
214 | + |
---|
215 | 1 Other |
---|
216 | 2 Unknown |
---|
217 | 3 Desktop |
---|
218 | 4 Low profile desktop |
---|
219 | 5 Pizza box |
---|
220 | 6 Mini tower |
---|
221 | 7 Tower |
---|
222 | 8 Portble |
---|
223 | 9 Laptop |
---|
224 | 10 Notebook |
---|
225 | 11 Handheld |
---|
226 | 12 Docking station |
---|
227 | 13 All-in-one |
---|
228 | 14 Subnotebook |
---|
229 | 15 Space-saving |
---|
230 | 16 Lunch box |
---|
231 | 17 Main server chassis |
---|
232 | 18 Expansion chassis |
---|
233 | 19 Subchassis |
---|
234 | 20 Bus expansion chassis |
---|
235 | 21 Peripheral chassis |
---|
236 | 22 RAID chassis |
---|
237 | 23 Rack mount chasss |
---|
238 | 24 Sealed-case PC |
---|
239 | 25 Multi-system chassis |
---|
240 | 26 Compact PCI |
---|
241 | 27 Advanced TCI |
---|
242 | 28 Blade |
---|
243 | 29 Blade enclosure |
---|
244 | |
---|
245 | |
---|
246 | |
---|
247 | == KERNEL-LIKE DIRECTIVES == |
---|
248 | // Alpha sort after KERNEL and LINUX |
---|
249 | *KERNEL* 'image':: |
---|
250 | Load a kernel-like file 'image' with automatic filetype detection based |
---|
251 | on file extension, listed under the non-auto-detecting directives, |
---|
252 | defaulting to *LINUX*. |
---|
253 | |
---|
254 | //[FIXME: Should "'image' as " be removed entirely or added to all? |
---|
255 | *LINUX* is used as an example] |
---|
256 | *LINUX* 'image':: |
---|
257 | Load 'image' as a Linux-like kernel. MEMDISK is an example of a |
---|
258 | non-Linux kernel loaded in a Linux-like fashion. |
---|
259 | |
---|
260 | *BOOT* 'image':: |
---|
261 | (*ISOLINUX* only: .bin; *SYSLINUX* only: .bs) Load a boot sector. .bin |
---|
262 | is a "CD boot sector" and .bs is a regular disk boot sector. |
---|
263 | |
---|
264 | *BSS* 'image':: |
---|
265 | (*SYSLINUX* only: .bss) Load a BSS image, a .bs image with the DOS |
---|
266 | superblock patched in. |
---|
267 | |
---|
268 | *COMBOOT* 'image':: |
---|
269 | (.com, .cbt; Removed as of 5.00) Load a *Syslinux* COMBOOT image. .com |
---|
270 | images may also be runnable from DOS while .cbt images are not. See |
---|
271 | also *comboot.txt* |
---|
272 | |
---|
273 | *COM32* 'image':: |
---|
274 | (.c32) Load a *Syslinux* COM32 (32-bit *COMBOOT*) image. See also |
---|
275 | *comboot.txt* |
---|
276 | |
---|
277 | *CONFIG* 'image':: |
---|
278 | Load a new configuration file. The configuration file is read, the |
---|
279 | working directory is changed (if specified via an *APPEND*), then the |
---|
280 | configuration file is parsed. |
---|
281 | |
---|
282 | *FDIMAGE* 'image':: |
---|
283 | (Removed as of 4.05, added 1.65; *ISOLINUX* only: .img) Load a disk |
---|
284 | image. |
---|
285 | |
---|
286 | *LOCALBOOT* 'type':: |
---|
287 | (*PXELINUX* 1.53+; *ISOLINUX* ??3.10+; *SYSLINUX* 3.70+)Attempt a |
---|
288 | different local boot method. The special value -1 causes the boot |
---|
289 | loader to report failure to the BIOS, which, on recent BIOSes, should |
---|
290 | mean that the next boot device in the boot sequence should be activated. |
---|
291 | Values other than those documented may produce undesired results. |
---|
292 | + |
---|
293 | On *PXELINUX*, 'type' 0 means perform a normal boot. 'type' 4 will |
---|
294 | perform a local boot with the Universal Network Driver Interface (UNDI) |
---|
295 | driver still resident in memory. Finally, 'type' 5 will perform a local |
---|
296 | boot with the entire PXE stack, including the UNDI driver, still |
---|
297 | resident in memory. All other values are undefined. If you don't know |
---|
298 | what the UNDI or PXE stacks are, don't worry -- you don't want them, |
---|
299 | just specify 0. |
---|
300 | + |
---|
301 | On *ISOLINUX*/*SYSLINUX*, the 'type' specifies the local drive number to |
---|
302 | boot from; 0x00 is the primary floppy drive and 0x80 is the primary hard |
---|
303 | drive. |
---|
304 | |
---|
305 | *PXE* 'image':: |
---|
306 | (*PXELINUX* only: .0) Load a PXE NBP (Network Boot Program) image. The |
---|
307 | PXE protocol does not provide any means for specifiying or using a |
---|
308 | command line or initrd. |
---|
309 | |
---|
310 | |
---|
311 | == LABEL-ONLY DIRECTIVES == |
---|
312 | *INITRD* 'initrd_file':: |
---|
313 | (3.71+) An initrd can be specified in a separate statement (INITRD) |
---|
314 | instead of as part of the *APPEND* statement; this functionally appends |
---|
315 | "initrd=initrd_file" to the kernel command line. Like 'initrd=', this |
---|
316 | also supports multiple comma separated file names (see *APPEND*). |
---|
317 | |
---|
318 | |
---|
319 | == GLOBAL DIRECTIVES - SECONDARY == |
---|
320 | These are global directives that are of lesser importance, often |
---|
321 | affecting the user experience and not the boot process. |
---|
322 | |
---|
323 | *ALLOWOPTIONS* 'flag_val':: |
---|
324 | If 'flag_val' is 0, the user is not allowed to specify any arguments on |
---|
325 | the kernel command line. The only options recognized are those |
---|
326 | specified in an *APPEND*) statement. The default is 1. |
---|
327 | |
---|
328 | *IMPLICIT* 'flag_val':: |
---|
329 | If 'flag_val' is 0, do not load a kernel image unless it has been |
---|
330 | explicitly named in a *LABEL* statement. The default is 1. |
---|
331 | |
---|
332 | *TIMEOUT* 'timeout':: |
---|
333 | Indicates how long to wait at the 'boot:' prompt until booting |
---|
334 | automatically, in units of 1/10 s. The timeout is cancelled as soon as |
---|
335 | the user types anything on the keyboard, the assumption being that the |
---|
336 | user will complete the command line already begun. The timer is reset |
---|
337 | to 0 upon return from an unsuccessful attempt to boot or from a module. |
---|
338 | A timeout of zero (the default) will disable the timeout completely. |
---|
339 | |
---|
340 | *TOTALTIMEOUT* 'timeout':: |
---|
341 | Indicates how long to wait until booting automatically, in units of |
---|
342 | 1/10 s. This timeout is *not* cancelled by user input, and can thus be |
---|
343 | used to deal with serial port glitches or "the user walked away" type |
---|
344 | situations. A timeout of zero (the default) will disable the timeout |
---|
345 | completely. |
---|
346 | + |
---|
347 | Both *TIMEOUT* and *TOTALTIMEOUT* can be used together, for example: |
---|
348 | + |
---|
349 | ---- |
---|
350 | # Wait 5 seconds unless the user types something, but |
---|
351 | # always boot after 15 minutes. |
---|
352 | TIMEOUT 50 |
---|
353 | TOTALTIMEOUT 9000 |
---|
354 | ---- |
---|
355 | |
---|
356 | // FIXME: be consistent |
---|
357 | *ONTIMEOUT* 'kernel options...':: |
---|
358 | Sets the command line invoked on a timeout (which often references a |
---|
359 | LABEL). If not specified, 'UI' (if used) or 'DEFAULT is used. |
---|
360 | |
---|
361 | *ONERROR* 'kernel options...':: |
---|
362 | If a kernel image is not found (either due to it not existing, or |
---|
363 | because *IMPLICIT* is set), run the specified command. The faulty |
---|
364 | command line is appended to the specified options, so if the *ONERROR* |
---|
365 | directive reads as: |
---|
366 | + |
---|
367 | ---- |
---|
368 | ONERROR xyzzy plugh |
---|
369 | ---- |
---|
370 | + |
---|
371 | and the command line as entered by the user is: |
---|
372 | + |
---|
373 | ---- |
---|
374 | foo bar baz |
---|
375 | ---- |
---|
376 | + |
---|
377 | *Syslinux* will execute the following as if entered by the user: |
---|
378 | + |
---|
379 | ---- |
---|
380 | xyzzy plugh foo bar baz |
---|
381 | ---- |
---|
382 | |
---|
383 | *SERIAL* 'port [baudrate [flowcontrol]]':: |
---|
384 | Enables a serial port to act as the console. 'port' is a number (0 = |
---|
385 | /dev/ttyS0 = COM1, etc.) or an I/O port address (e.g. 0x3F8); if |
---|
386 | 'baudrate' is omitted, the baud rate defaults to 9600 bps. The serial |
---|
387 | parameters are hardcoded to be 8 bits, no parity, 1 stop bit. |
---|
388 | + |
---|
389 | 'flowcontrol' is a combination of the following bits: |
---|
390 | + |
---|
391 | .... |
---|
392 | 0x001 - Assert DTR |
---|
393 | 0x002 - Assert RTS |
---|
394 | 0x008 - Enable interrupts |
---|
395 | 0x010 - Wait for CTS assertion |
---|
396 | 0x020 - Wait for DSR assertion |
---|
397 | 0x040 - Wait for RI assertion |
---|
398 | 0x080 - Wait for DCD assertion |
---|
399 | 0x100 - Ignore input unless CTS asserted |
---|
400 | 0x200 - Ignore input unless DSR asserted |
---|
401 | 0x400 - Ignore input unless RI asserted |
---|
402 | 0x800 - Ignore input unless DCD asserted |
---|
403 | .... |
---|
404 | + |
---|
405 | All other bits are reserved. |
---|
406 | + |
---|
407 | Typical values are: |
---|
408 | + |
---|
409 | .... |
---|
410 | 0 - No flow control (default) |
---|
411 | 0x303 - Null modem cable detect |
---|
412 | 0x013 - RTS/CTS flow control |
---|
413 | 0x813 - RTS/CTS flow control, modem input |
---|
414 | 0x023 - DTR/DSR flow control |
---|
415 | 0x083 - DTR/DCD flow control |
---|
416 | .... |
---|
417 | + |
---|
418 | For the *SERIAL* directive to be guaranteed to work properly, it should |
---|
419 | be the first directive in the configuration file. |
---|
420 | + |
---|
421 | NOTE: 'port' values from 0 to 3 means the first four serial ports |
---|
422 | detected by the BIOS. They may or may not correspond to the legacy port |
---|
423 | values 0x3F8, 0x2F8, 0x3E8, 0x2E8. |
---|
424 | + |
---|
425 | Enabling interrupts (setting the 0x008 bit) may give better |
---|
426 | responsiveness without setting the *NOHALT* option, but could |
---|
427 | potentially cause problems with buggy BIOSes. |
---|
428 | + |
---|
429 | This option is "sticky" and is not automatically reset when loading a |
---|
430 | new configuration file with the CONFIG command. |
---|
431 | |
---|
432 | *NOHALT* 'flag_val':: |
---|
433 | If 'flag_val' is 1, don't halt the processor while idle. Halting the |
---|
434 | processor while idle significantly reduces the power consumption, but |
---|
435 | can cause poor responsiveness to the serial console, especially when |
---|
436 | using scripts to drive the serial console, as opposed to human |
---|
437 | interaction. |
---|
438 | |
---|
439 | *CONSOLE* 'flag_val':: |
---|
440 | If 'flag_val' is 0, disable output to the normal video console. If |
---|
441 | 'flag_val' is 1, enable output to the video console (this is the |
---|
442 | default.) |
---|
443 | + |
---|
444 | Some BIOSes try to forward this to the serial console and sometimes make |
---|
445 | a total mess thereof, so this option lets you disable the video console |
---|
446 | on these systems. |
---|
447 | |
---|
448 | *FONT* 'filename':: |
---|
449 | Load a font in .psf format before displaying any output (except the |
---|
450 | copyright line, which is output as ldlinux.sys itself is loaded.) |
---|
451 | *Syslinux* only loads the font onto the video card; if the .psf file |
---|
452 | contains a Unicode table it is ignored. This only works on EGA and VGA |
---|
453 | cards; hopefully it should do nothing on others. |
---|
454 | |
---|
455 | *KBDMAP* 'keymap':: |
---|
456 | Install a simple keyboard map. The keyboard remapper used is *very* |
---|
457 | simplistic (it simply remaps the keycodes received from the BIOS, which |
---|
458 | means that only the key combinations relevant in the default layout -- |
---|
459 | usually U.S. English -- can be mapped) but should at least help people |
---|
460 | with AZERTY keyboard layout and the locations of = and , (two special |
---|
461 | characters used heavily on the Linux kernel command line.) |
---|
462 | + |
---|
463 | The included program keytab-lilo.pl from the LILO distribution can be |
---|
464 | used to create such keymaps. The file keytab-lilo.txt contains the |
---|
465 | documentation for this program. |
---|
466 | |
---|
467 | *DISPLAY* 'filename':: |
---|
468 | Displays the indicated file on the screen at boot time (before the boot: |
---|
469 | prompt, if displayed). Please see the section below on *DISPLAY* files. |
---|
470 | + |
---|
471 | NOTE: If the file is missing, this option is simply ignored. |
---|
472 | |
---|
473 | *SAY* 'message':: |
---|
474 | Prints the message on the screen. |
---|
475 | |
---|
476 | *PROMPT* 'flag_val':: |
---|
477 | If 'flag_val' is 0, display the boot: prompt only if the Shift or Alt |
---|
478 | key is pressed, or Caps Lock or Scroll lock is set (this is the |
---|
479 | default). If 'flag_val' is 1, always display the boot: prompt. |
---|
480 | |
---|
481 | *NOESCAPE* 'flag_val':: |
---|
482 | If 'flag_val' is set to 1, ignore the Shift/Alt/Caps Lock/Scroll Lock |
---|
483 | escapes. Use this (together with PROMPT 0) to force the default boot |
---|
484 | alternative. |
---|
485 | |
---|
486 | *NOCOMPLETE* 'flag_val':: |
---|
487 | If 'flag_val' is set to 1, the Tab key does not display labels at the |
---|
488 | boot: prompt. |
---|
489 | |
---|
490 | // ...etc... |
---|
491 | *F1* 'filename':: |
---|
492 | *F2* 'filename':: |
---|
493 | *F3* 'filename':: |
---|
494 | *F4* 'filename':: |
---|
495 | *F5* 'filename':: |
---|
496 | *F6* 'filename':: |
---|
497 | *F7* 'filename':: |
---|
498 | *F8* 'filename':: |
---|
499 | *F9* 'filename':: |
---|
500 | *F10* 'filename':: |
---|
501 | *F11* 'filename':: |
---|
502 | *F12* 'filename':: |
---|
503 | Displays the indicated file on the screen when a function key is pressed |
---|
504 | at the boot: prompt. This can be used to implement pre-boot online help |
---|
505 | (presumably for the kernel command line options.) Please see the |
---|
506 | section below on DISPLAY files. |
---|
507 | + |
---|
508 | When using the serial console, press <Ctrl-F><digit> to get to the help |
---|
509 | screens, e.g. <Ctrl-F><2> to get to the F2 screen. For F10-F12, hit |
---|
510 | <Ctrl-F><A>, <Ctrl-F>B, <Ctrl-F>C. For compatibility with earlier |
---|
511 | versions, F10 can also be entered as <Ctrl-F>0. |
---|
512 | |
---|
513 | *PATH* 'path':: |
---|
514 | (5.00+) Specify a space-separated (' '; 5.00-5.10 was a colon ':') list |
---|
515 | of directories to search when attempting to load modules. This directive |
---|
516 | is useful for specifying the directories containing the lib*.c32 library |
---|
517 | files as other modules may be dependent on these files, but may not |
---|
518 | reside in the same directory. Multiple instances will append additional |
---|
519 | paths. |
---|
520 | |
---|
521 | *SENDCOOKIES* 'bitmask':: |
---|
522 | (*PXELINUX* 5.10+) When downloading files over http, the SYSAPPEND |
---|
523 | strings are prepended with _Syslinux_ and sent to the server as cookies. |
---|
524 | The cookies are URL-encoded; whitespace is *not* replaced with |
---|
525 | underscores. |
---|
526 | + |
---|
527 | This command limits the cookies send; 0 means no cookies. The default |
---|
528 | is -1, meaning send all cookies. |
---|
529 | + |
---|
530 | This option is "sticky" and is not automatically reset when loading a |
---|
531 | new configuration file with the CONFIG command. |
---|
532 | |
---|
533 | |
---|
534 | == DISPLAY FILE FORMAT == |
---|
535 | DISPLAY and function-key help files are text files in either DOS or UNIX |
---|
536 | format (with or without <CR>). In addition, the following special codes |
---|
537 | are interpreted: |
---|
538 | |
---|
539 | //[FIXME]: #1 doesn't break; #2 as-is; #3 broken but not on right; #4 |
---|
540 | identical to #3 |
---|
541 | // horizontal extends the line's label, reducing the definition |
---|
542 | // tab or space to shift explanation ? align beginning or end? |
---|
543 | |
---|
544 | // ifndef::doctype-manpage[[horizontal]] |
---|
545 | *<FF>*:: {nbsp32} = <Ctrl-L> = ASCII 12 + |
---|
546 | Clear the screen, home the cursor. Note that the screen is filled with |
---|
547 | the current display color. |
---|
548 | |
---|
549 | *<FF>*:: |
---|
550 | = <Ctrl-L> = ASCII 12; Clear the screen, home the cursor. Note that the |
---|
551 | screen is filled with the current display color. |
---|
552 | |
---|
553 | *<FF>*:: <FF> = <Ctrl-L> = ASCII 12 |
---|
554 | + |
---|
555 | Clear the screen, home the cursor. Note that the screen is filled with |
---|
556 | the current display color. |
---|
557 | |
---|
558 | *<FF>*:: |
---|
559 | <FF> = <Ctrl-L> = ASCII 12 + |
---|
560 | Clear the screen, home the cursor. Note that the screen is filled with |
---|
561 | the current display color. |
---|
562 | |
---|
563 | *<SI>*'<bg><fg>':: <SI> = <Ctrl-O> = ASCII 15 |
---|
564 | + |
---|
565 | Set the display colors to the specified background and foreground |
---|
566 | colors, where <bg> and <fg> are the 2 hex digits representing 1 byte, |
---|
567 | corresponding to the standard PC display attributes: |
---|
568 | + |
---|
569 | 0 = black 8 = dark grey |
---|
570 | 1 = dark blue 9 = bright blue |
---|
571 | 2 = dark green a = bright green |
---|
572 | 3 = dark cyan b = bright cyan |
---|
573 | 4 = dark red c = bright red |
---|
574 | 5 = dark purple d = bright purple |
---|
575 | 6 = brown e = yellow |
---|
576 | 7 = light grey f = white |
---|
577 | + |
---|
578 | Picking a bright color (8-f) for the background results in the |
---|
579 | corresponding dark color (0-7), with the foreground flashing. |
---|
580 | + |
---|
581 | Colors are not visible over the serial console. |
---|
582 | |
---|
583 | *<CAN>*'filename<newline>':: <CAN> = <Ctrl-X> = ASCII 24 |
---|
584 | + |
---|
585 | If a VGA display is present, enter graphics mode and display the graphic |
---|
586 | included in the specified file. The file format is an ad hoc format |
---|
587 | called LSS16; the included Perl program "ppmtolss16" can be used to |
---|
588 | produce these images. This Perl program also includes the file format |
---|
589 | specification. |
---|
590 | + |
---|
591 | The image is displayed in 640x480 16-color mode. Once in graphics mode, |
---|
592 | the display attributes (set by <SI> code sequences) work slightly |
---|
593 | differently: the background color is ignored, and the foreground colors |
---|
594 | are the 16 colors specified in the image file. For that reason, |
---|
595 | ppmtolss16 allows you to specify that certain colors should be assigned |
---|
596 | to specific color indicies. |
---|
597 | + |
---|
598 | Color indicies 0 and 7, in particular, should be chosen with care: 0 is |
---|
599 | the background color, and 7 is the color used for the text printed by |
---|
600 | *Syslinux* itself. |
---|
601 | |
---|
602 | *<EM>*:: <EM> = <Ctrl-Y> = ASCII 25 + |
---|
603 | If we are currently in graphics mode, return to text mode. |
---|
604 | |
---|
605 | *<DLE>*..*<ETB>*:: <Ctrl-P>..<Ctrl-W> = ASCII 16-23 |
---|
606 | + |
---|
607 | These codes can be used to select which modes to print a certain part of |
---|
608 | the message file in. Each of these control characters select a specific |
---|
609 | set of modes (text screen, graphics screen, serial port) for which the |
---|
610 | output is actually displayed: |
---|
611 | + |
---|
612 | Character Text Graph Serial |
---|
613 | ------------------------------------------------------ |
---|
614 | <DLE> = <Ctrl-P> = ASCII 16 No No No |
---|
615 | <DC1> = <Ctrl-Q> = ASCII 17 Yes No No |
---|
616 | <DC2> = <Ctrl-R> = ASCII 18 No Yes No |
---|
617 | <DC3> = <Ctrl-S> = ASCII 19 Yes Yes No |
---|
618 | <DC4> = <Ctrl-T> = ASCII 20 No No Yes |
---|
619 | <NAK> = <Ctrl-U> = ASCII 21 Yes No Yes |
---|
620 | <SYN> = <Ctrl-V> = ASCII 22 No Yes Yes |
---|
621 | <ETB> = <Ctrl-W> = ASCII 23 Yes Yes Yes |
---|
622 | + |
---|
623 | For example, the following will actually print out which mode the |
---|
624 | console is in: |
---|
625 | + |
---|
626 | <DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB> |
---|
627 | |
---|
628 | *<SUB>*:: <SUB> = <Ctrl-Z> = ASCII 26 |
---|
629 | + |
---|
630 | End of file (DOS convention). |
---|
631 | |
---|
632 | *<BEL>*:: <BEL> = <Ctrl-G> = ASCII 7 + |
---|
633 | Beep the speaker. |
---|
634 | |
---|
635 | |
---|
636 | == BOOT LOADER IDS USED == |
---|
637 | The Linux boot protocol supports a "boot loader ID", a single byte where |
---|
638 | the upper nybble specifies a boot loader family (3 = *Syslinux*) and the |
---|
639 | lower nybble is version or, in the case of *Syslinux*, media: |
---|
640 | |
---|
641 | 0x31 (49) = SYSLINUX |
---|
642 | 0x32 (50) = PXELINUX |
---|
643 | 0x33 (51) = ISOLINUX |
---|
644 | 0x34 (52) = EXTLINUX |
---|
645 | |
---|
646 | In recent versions of Linux, this ID is available as |
---|
647 | /proc/sys/kernel/bootloader_type. |
---|
648 | |
---|
649 | |
---|
650 | == NOVICE PROTECTION == |
---|
651 | *Syslinux* will attempt to detect booting on a machine with too little |
---|
652 | memory, which means the Linux boot sequence cannot complete. If so, a |
---|
653 | message is displayed and the boot sequence aborted. Holding down the |
---|
654 | Ctrl key while booting disables this feature. |
---|
655 | |
---|
656 | Any file that *Syslinux* uses can be marked hidden, system or readonly |
---|
657 | if so is convenient; *Syslinux* ignores all file attributes. The |
---|
658 | *SYSLINUX* installer automatically sets the readonly/hidden/system |
---|
659 | attributes on LDLINUX.SYS. |
---|
660 | |
---|
661 | == EXAMPLE == |
---|
662 | Here are some sample config files: |
---|
663 | ---- |
---|
664 | # SERIAL 0 115200 |
---|
665 | DEFAULT linux |
---|
666 | PROMPT 1 |
---|
667 | TIMEOUT 600 |
---|
668 | |
---|
669 | LABEL linux |
---|
670 | LINUX vmlinuz |
---|
671 | APPEND initrd=initrd1.gz,initrd2.gz |
---|
672 | |
---|
673 | LABEL m |
---|
674 | COM32 menu.c32 |
---|
675 | ---- |
---|
676 | In this example, serial port use is disabled but can be enabled by |
---|
677 | uncommenting the first line and utilize serial port 0 at 115200 bps. If |
---|
678 | 'linux' is typed on the command line, the kernel-like file 'vmlinuz' is |
---|
679 | executed as a Linux kernel, initrd files initrd1.gz and initrd2.gz are |
---|
680 | loaded as initial ramdisk files (like cpio.gz files for initramfs). If |
---|
681 | 'm' is typed on the command line, the COM32 module 'menu.c32' is |
---|
682 | executed to launch a menu system. |
---|
683 | |
---|
684 | |
---|
685 | |
---|
686 | == KNOWN BUGS == |
---|
687 | include::com-bug.txt[] |
---|
688 | |
---|
689 | |
---|
690 | == BUG REPORTS == |
---|
691 | include::com-rpt.txt[] |
---|
692 | |
---|
693 | |
---|
694 | == AUTHOR == |
---|
695 | This AsciiDoc derived document is a modified version of the original |
---|
696 | *SYSLINUX* documentation by {author} <{author-email}>. The conversion |
---|
697 | to an AsciiDoc was made by {editor1} <{editor1-email}> |
---|