http://www.linuxsir.org/bbs/thread320588.html
本文只翻译了 SYSLINUX 文档 ( http://syslinux.zytor.com/faq.php) 中 syslinux.cfg 的部分。而且其中与 syslinux.cfg 无关的小节有没有翻译。
由于本人才疏学浅,翻译又很匆忙,其中错误不可避免,恳请各位指正。
本文欢迎转载,请注明出处。(网上看到的,没有标明原作者,所以无法注明出处,感谢作者)
SysLinux 所有的配置位于启动盘根目录下的文本文件 syslinux.cfg。自 3.35 版后,此配置文件也可以位于 /boot/syslinux 或 /syslinux 目录下 (以此顺序搜索)。此时,所有的文件名都假定相对于此目录,除非在文件名前使用 / 或 \ 。
除非指明,所有选项适用于 SYSLINUX 以及 PXELINUX,ISOLINUX 和 EXTLINUX。
# comment
注释行。# 后面的空格是必须的。
INCLUDE filename
在此处插入其他文件的内容。
DEFAULT kernel options...
设置默认的命令行。如果 SYSLINUX 自动启动,就像在 "boot:" 提示符后输入一样执行 DEFAULT 后的内容。
如果不存在配置文件,或者文件中没有 "DEFAULT" 项,默认 "linux auto"。
注意:SYSLINUX 的早期版本会自动在用户定义的 DEFAULT 命令之后加上 "auto"。这在 1.54 版后被取消了,你应该自己添加。
APPEND options...
为内核命令行添加一或多个选项,在自动和手动引导中都有效。这些选项被添加到内核命令行的最前面,通常明确地允许被输入的选项覆盖。这与 LILO 的 "append" 选项相同。
IPAPPEND flag_val [PXELINUX only]
LABEL label
代码:
LABEL label
KERNEL image
APPEND options...
IPAPPEND flag_val [PXELINUX only]表明如果 "label" 作为要引导的内核进入,其引导 "image" 和 指定的 APPEND 和 IPAPPEND 选项将取代配置文件中的全局 (在第一个 LABEL 命令之前) 命令。"image" 默认值与 "label" 相同,而且如果没有定义 APPEND,则使用全局命令 (如果存在)。
自 2.20 版后,LABEL 声明被内部压缩,因此 LABEL 声明的最大数量依赖于其复杂性,典型地是大概 600。如果 label 的内存溢出,SYSLINUX 将打印出错信息。
注意 LILO 使用语法:
代码:
image = mykernel
label = mylabel
append = "myoptions"而 SYSLINUX 语法:
代码:
label mylabel
kernel mykernel
append myoptions注意,"kernel" 并不一定是 Linux 内核,可以是引导扇区或 COMBOOT 文件。
3.32 版后,SYSLINUX 的 label 名不再限制为 DOS 格式。
代码:
LINUX image Linux kernel image (default)
BOOT image Bootstrap program (.bs, .bin)
BSS image BSS image (.bss)
PXE image PXE Network Bootstrap Program (.0)
FDIMAGE image Floppy disk image (.img)
COMBOOT image COMBOOT program (.com, .cbt)
COM32 image COM32 program (.c32)
CONFIG image New configuration file使用这些关键字之一而不是 KERNEL 强制文件类型,与文件名无关。
CONFIG 表示使用另外一个配置文件重启引导器。
APPEND -
不附加任何命令,在一个 LABEL 节内可以用来覆盖全局 APPEND。
LOCALBOOT type [ISOLINUX, PXELINUX]
IMPLICIT flag_val
如果 flag_val 为 0,除非在 LABEL 声明中明确指定,不会装载内核。
默认值是 1。
ALLOWOPTIONS flag_val
如果 flag_val 为 0,在内核命令行中用户不能指定任何参数,只有 APPEND 声明中指定的选项能够识别。
默认是 1。
TIMEOUT timeout
引导前在 boot: 提示符等待的时间,单位是 1/10 s。用户的键盘输入将取消计时。
默认值是 0,无限等待。
TOTALTIMEOUT timeout
不会被用户的输入取消,用于处理串口故障或类似 "用户离开" 的状况。
默认值是 0。
# 等待 5 s 除非用户输入,但 15 m 后一定启动
TIMEOUT 50
TOTALTIMEOUT 9000
ONTIMEOUT kernel options...
timeout 后调用的命令。一般与 DEFAULT 调用相同。如果指定,DEFAULT 只用于用户按 <Enter> 启动时。
ONERROR kernel options...
如果一个内核映像没有找到 (不存在或设置了 IMPLICIT),运行指定的命令。
如果 ONERROR 指令是:
代码:
ONERROR xyzzy plugh用户输入的命令行:
代码:
foo bar bazSYSLINUX 将执行:
代码:
xyzzy plugh foo bar bazSERIAL port baudrate] flowcontrol]
打开一个串口作为控制台。
CONSOLE flag_val
flag_val 为 0,禁止输出到普通视频终端。
flag_val 为 1,允许输出到视频终端 (默认值)。
FONT filename
在显示任何输出之前,装载 .psf 格式的字体 (除了版权行)。SYSLINUX 只装载字体到显卡。忽略 .psf 文件包含的 Unicode 表。只在 EGA 和 VGA 卡工作。
KBDMAP keymap
装载一个简单的键盘映射。
DISPLAY filename
启动时显示 filename 文件内容 (在 boot: 提示符之前)。参见下面的 DISPLAY files。
SAY message
在屏幕上打印 message 消息。
PROMPT flag_val
如果 flag_val 为 0,只在按下了 Shift 或 Alt 键,或 Caps Lock 或 Scroll lock 打开时显示 boot: 提示符 (默认值)。
如果为 1,总是显示 boot: 提示符。
NOESCAPE flag_val
如果 flag_val 为 1,忽略 Shift/Alt/Caps Lock/Scroll Lock。结合 PROMPT 0,强制替换默认引导。
Fn
代码:
F1 filename
F2 filename
...etc...
F9 filename
F10 filename
F11 filename
F11 filename在 boot: 提示符下按功能键显示相应文件。可用于实现引导前在线帮助。见下文 DISPLAY files。
使用串行控制台时,按 <Ctrl-F><digit>。如 <Ctrl-F><2> => F2;<Ctrl-F><A>, <Ctrl-F>B, <Ctrl-F>C 分别为 F10-F12。为与早期版本兼容,F10 也可以被输入为 <Ctrl-F>0。
空行将被忽略。
显示文件格式
DISPLAY 和 功能键帮助文件是文本文件。以下代码会被解释:
<FF>
代码:
<FF> = <Ctrl-L> = ASCII 12清屏,重置光标。注意屏幕被当前显示色填充。
<SI><bg><fg>
代码:
<SI> = <Ctrl-O> = ASCII 15设置显示的背景和前景色。
代码:
0 = black 8 = dark grey
1 = dark blue 9 = bright blue
2 = dark green a = bright green
3 = dark cyan b = bright cyan
4 = dark red c = bright red
5 = dark purple d = bright purple
6 = brown e = yellow
7 = light grey f = white选择亮色 (8-f) 为背景色,导致前景中相应的暗色 (0-7) 闪烁。
在串行控制台颜色不可见。
<CAN>filename<newline>
代码:
<CAN> = <Ctrl-X> = ASCII 24如果当前是 VGA 显示,进入图形模式并显示指定的图形文件。文件是 ad hoc 格式,称为 LSS16。所包含的 Perl 程序 "ppmtolss16" 可用于生成这样的文件。
此文件显示为 640x480 16 色模式。一旦进入图形模式,显示特性 (由 <SI> 指定) 略有不同:背景色被忽略,前景色是图像文件中指定的 16 种颜色。因此,ppmtolss16 允许你指定颜色索引。
特别地,颜色索引 0 和 7 应该注意选择:0 是背景色,7 是 SYSLINUX 自身打印文字的颜色。
<EM>
代码:
<EM> = <Ctrl-Y> = ASCII 25如果当前是图形模式,返回文本模式。
<DLE>..<ETB>
代码:
<Ctrl-P>..<Ctrl-W> = ASCII 16-23这些代码可用于选择那种模式会打印到消息文件的某个部分。任一控制字符选择特定的实际输出模式 (文本屏幕、图形屏幕、串口)。
例如:
<DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB>
将以控制台输入模式输出。
<SUB>
代码:
<SUB> = <Ctrl-Z> = ASCII 26文件终止 (DOS) 惯例。
<BEL>
代码:
<BEL> = <Ctrl-G> = ASCII 7响铃。
命令行按键
命令行支持以下按键:
代码:
<Enter> boot specified command line
<BackSpace> erase one character
<Ctrl-U> erase the whole line
<Ctrl-V> display the current SYSLINUX version
<Ctrl-W> erase one word
<Ctrl-X> force text mode
<F1>..<F10> help screens (if configured)
<Ctrl-F><digit> equivalent to F1..F10
<Ctrl-C> interrupt boot in progress
<Esc> interrupt boot in progress
本文只翻译了 SYSLINUX 文档 ( http://syslinux.zytor.com/faq.php) 中 syslinux.cfg 的部分。而且其中与 syslinux.cfg 无关的小节有没有翻译。
由于本人才疏学浅,翻译又很匆忙,其中错误不可避免,恳请各位指正。
本文欢迎转载,请注明出处。(网上看到的,没有标明原作者,所以无法注明出处,感谢作者)
SysLinux 所有的配置位于启动盘根目录下的文本文件 syslinux.cfg。自 3.35 版后,此配置文件也可以位于 /boot/syslinux 或 /syslinux 目录下 (以此顺序搜索)。此时,所有的文件名都假定相对于此目录,除非在文件名前使用 / 或 \ 。
除非指明,所有选项适用于 SYSLINUX 以及 PXELINUX,ISOLINUX 和 EXTLINUX。
# comment
注释行。# 后面的空格是必须的。
INCLUDE filename
在此处插入其他文件的内容。
DEFAULT kernel options...
设置默认的命令行。如果 SYSLINUX 自动启动,就像在 "boot:" 提示符后输入一样执行 DEFAULT 后的内容。
如果不存在配置文件,或者文件中没有 "DEFAULT" 项,默认 "linux auto"。
注意:SYSLINUX 的早期版本会自动在用户定义的 DEFAULT 命令之后加上 "auto"。这在 1.54 版后被取消了,你应该自己添加。
APPEND options...
为内核命令行添加一或多个选项,在自动和手动引导中都有效。这些选项被添加到内核命令行的最前面,通常明确地允许被输入的选项覆盖。这与 LILO 的 "append" 选项相同。
IPAPPEND flag_val [PXELINUX only]
LABEL label
代码:
LABEL label
KERNEL image
APPEND options...
IPAPPEND flag_val [PXELINUX only]表明如果 "label" 作为要引导的内核进入,其引导 "image" 和 指定的 APPEND 和 IPAPPEND 选项将取代配置文件中的全局 (在第一个 LABEL 命令之前) 命令。"image" 默认值与 "label" 相同,而且如果没有定义 APPEND,则使用全局命令 (如果存在)。
自 2.20 版后,LABEL 声明被内部压缩,因此 LABEL 声明的最大数量依赖于其复杂性,典型地是大概 600。如果 label 的内存溢出,SYSLINUX 将打印出错信息。
注意 LILO 使用语法:
代码:
image = mykernel
label = mylabel
append = "myoptions"而 SYSLINUX 语法:
代码:
label mylabel
kernel mykernel
append myoptions注意,"kernel" 并不一定是 Linux 内核,可以是引导扇区或 COMBOOT 文件。
3.32 版后,SYSLINUX 的 label 名不再限制为 DOS 格式。
代码:
LINUX image Linux kernel image (default)
BOOT image Bootstrap program (.bs, .bin)
BSS image BSS image (.bss)
PXE image PXE Network Bootstrap Program (.0)
FDIMAGE image Floppy disk image (.img)
COMBOOT image COMBOOT program (.com, .cbt)
COM32 image COM32 program (.c32)
CONFIG image New configuration file使用这些关键字之一而不是 KERNEL 强制文件类型,与文件名无关。
CONFIG 表示使用另外一个配置文件重启引导器。
APPEND -
不附加任何命令,在一个 LABEL 节内可以用来覆盖全局 APPEND。
LOCALBOOT type [ISOLINUX, PXELINUX]
IMPLICIT flag_val
如果 flag_val 为 0,除非在 LABEL 声明中明确指定,不会装载内核。
默认值是 1。
ALLOWOPTIONS flag_val
如果 flag_val 为 0,在内核命令行中用户不能指定任何参数,只有 APPEND 声明中指定的选项能够识别。
默认是 1。
TIMEOUT timeout
引导前在 boot: 提示符等待的时间,单位是 1/10 s。用户的键盘输入将取消计时。
默认值是 0,无限等待。
TOTALTIMEOUT timeout
不会被用户的输入取消,用于处理串口故障或类似 "用户离开" 的状况。
默认值是 0。
# 等待 5 s 除非用户输入,但 15 m 后一定启动
TIMEOUT 50
TOTALTIMEOUT 9000
ONTIMEOUT kernel options...
timeout 后调用的命令。一般与 DEFAULT 调用相同。如果指定,DEFAULT 只用于用户按 <Enter> 启动时。
ONERROR kernel options...
如果一个内核映像没有找到 (不存在或设置了 IMPLICIT),运行指定的命令。
如果 ONERROR 指令是:
代码:
ONERROR xyzzy plugh用户输入的命令行:
代码:
foo bar bazSYSLINUX 将执行:
代码:
xyzzy plugh foo bar bazSERIAL port baudrate] flowcontrol]
打开一个串口作为控制台。
CONSOLE flag_val
flag_val 为 0,禁止输出到普通视频终端。
flag_val 为 1,允许输出到视频终端 (默认值)。
FONT filename
在显示任何输出之前,装载 .psf 格式的字体 (除了版权行)。SYSLINUX 只装载字体到显卡。忽略 .psf 文件包含的 Unicode 表。只在 EGA 和 VGA 卡工作。
KBDMAP keymap
装载一个简单的键盘映射。
DISPLAY filename
启动时显示 filename 文件内容 (在 boot: 提示符之前)。参见下面的 DISPLAY files。
SAY message
在屏幕上打印 message 消息。
PROMPT flag_val
如果 flag_val 为 0,只在按下了 Shift 或 Alt 键,或 Caps Lock 或 Scroll lock 打开时显示 boot: 提示符 (默认值)。
如果为 1,总是显示 boot: 提示符。
NOESCAPE flag_val
如果 flag_val 为 1,忽略 Shift/Alt/Caps Lock/Scroll Lock。结合 PROMPT 0,强制替换默认引导。
Fn
代码:
F1 filename
F2 filename
...etc...
F9 filename
F10 filename
F11 filename
F11 filename在 boot: 提示符下按功能键显示相应文件。可用于实现引导前在线帮助。见下文 DISPLAY files。
使用串行控制台时,按 <Ctrl-F><digit>。如 <Ctrl-F><2> => F2;<Ctrl-F><A>, <Ctrl-F>B, <Ctrl-F>C 分别为 F10-F12。为与早期版本兼容,F10 也可以被输入为 <Ctrl-F>0。
空行将被忽略。
显示文件格式
DISPLAY 和 功能键帮助文件是文本文件。以下代码会被解释:
<FF>
代码:
<FF> = <Ctrl-L> = ASCII 12清屏,重置光标。注意屏幕被当前显示色填充。
<SI><bg><fg>
代码:
<SI> = <Ctrl-O> = ASCII 15设置显示的背景和前景色。
代码:
0 = black 8 = dark grey
1 = dark blue 9 = bright blue
2 = dark green a = bright green
3 = dark cyan b = bright cyan
4 = dark red c = bright red
5 = dark purple d = bright purple
6 = brown e = yellow
7 = light grey f = white选择亮色 (8-f) 为背景色,导致前景中相应的暗色 (0-7) 闪烁。
在串行控制台颜色不可见。
<CAN>filename<newline>
代码:
<CAN> = <Ctrl-X> = ASCII 24如果当前是 VGA 显示,进入图形模式并显示指定的图形文件。文件是 ad hoc 格式,称为 LSS16。所包含的 Perl 程序 "ppmtolss16" 可用于生成这样的文件。
此文件显示为 640x480 16 色模式。一旦进入图形模式,显示特性 (由 <SI> 指定) 略有不同:背景色被忽略,前景色是图像文件中指定的 16 种颜色。因此,ppmtolss16 允许你指定颜色索引。
特别地,颜色索引 0 和 7 应该注意选择:0 是背景色,7 是 SYSLINUX 自身打印文字的颜色。
<EM>
代码:
<EM> = <Ctrl-Y> = ASCII 25如果当前是图形模式,返回文本模式。
<DLE>..<ETB>
代码:
<Ctrl-P>..<Ctrl-W> = ASCII 16-23这些代码可用于选择那种模式会打印到消息文件的某个部分。任一控制字符选择特定的实际输出模式 (文本屏幕、图形屏幕、串口)。
例如:
<DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB>
将以控制台输入模式输出。
<SUB>
代码:
<SUB> = <Ctrl-Z> = ASCII 26文件终止 (DOS) 惯例。
<BEL>
代码:
<BEL> = <Ctrl-G> = ASCII 7响铃。
命令行按键
命令行支持以下按键:
代码:
<Enter> boot specified command line
<BackSpace> erase one character
<Ctrl-U> erase the whole line
<Ctrl-V> display the current SYSLINUX version
<Ctrl-W> erase one word
<Ctrl-X> force text mode
<F1>..<F10> help screens (if configured)
<Ctrl-F><digit> equivalent to F1..F10
<Ctrl-C> interrupt boot in progress
<Esc> interrupt boot in progress