|
本文只翻译了 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 指令是:
用户输入的命令行:
SYSLINUX 将执行:
SERIAL 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
复制代码 |
|