简单一点来说,是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。 它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。 以下常用的选项(参数),适用于syslinux的所有版本
以下常用的选项(参数),只适用于Windows的版本
以下常用的选项(参数),只适用于Linux的版本
安装syslinux的磁盘将改变磁盘上的引导扇区,并复制ldlinux.sys文件到其根目录(或者复制到指定的目录)下。 注意:SYSLINUX不支持NTFS文件系统,所以磁盘必须是FAT(FAT16/FAT32)文件系统。
NT/2K/XP
例如: Floppy:(a:为软驱)
硬盘/可移动磁盘等:(z:为盘符)
【将引导文件复制到其分区的/boot/syslinux目录下,注意:/boot/syslinux目录必须事先建好。】 *上例中的启动菜单配置文件(syslinux.cfg)要在/boot/syslinux目录下。 DOS
Linux
例如:
syslinux /设备/{dy}个软驱 【将syslinux的引导代码写入{dy}个软驱】
所有的syslinux默认配置都可以在一个名为syslinux.cfg的文件里面更改。 syslinux会在下列位置搜索syslinux.cfg配置文件: syslinux.cfg文件必须是UNIX或DOS格式的文本文件。 下面是一个简单的例子,我们来看一下syslinux.cfg文件怎样引导一个linux内核: DEFAULT linux SYSLINUX与LILO是不同的,下面是一个LILO的例子:
而SYSLINUX是这样写的:
下面我们一起看一下SYSLINUX中的选项:注:以下所有选项适用于PXELINUX,ISOLINUX和EXTLINUX以及SYSLINUX,除非另有说明。# comment INCLUDE filename LABEL command【标签命令】 MENU LABEL【菜单标签】 例如: KERNEL file【内核文件】 以下所列出的为公认的文件扩展名(不区分大小写):
使用这些关键字之一而不KERNEL强制文件类型,与文件名无关。
APPEND options...【附加选项】添加一个或多个选项(参数)到 kernel 命令行中,这些选项(参数)可以是手动或者是自动的。该选项(参数)是添加在 kernel 命令行的开始处,通常允许输入的选项覆盖。这点与LILO的“append”选项(参数)是相同的。
APPEND-简单点说,不附加任何命令,可用于覆盖全局的APPEND。
IPAPPEND flag_val 【只适用于PXELINUX】这个IPAPPEND选项(参数)只适用于PXELINUX,这个“flag_val”为下列选项(参数):1、下列的选项(参数)将以如下格式添加到内核命令行:
……以上基于DHCP/BOOTP或者PXE的启动服务器。 但不推荐使用此选项(参数),使用IP=DHCP的内核命令行更为合适。 2、下列的选项(参数)将以如下格式添加到内核命令行:
这在PXELINUX的文档中有相关的介绍,这将决定临时文件系统程序将从哪一个Interface【端口】启动系统。
LOCALBOOT type【ISOLINUX,PXELINUX】在PXELINUX,指定“LOCALBOOT 0”代替一个“KERNEL”选项(参数),这个意味着调用此特定LABEL将会引导本地磁盘,而不是一个“KERNEL”。参数0表示执行正常启动,参数4将执行一个本地启动和通用网络驱动器接口(UNDI)——常驻内存。 {zh1},参数5将执行一个本地启动与整个PXE的堆栈,包括UNDI驱动器,也是常驻内存。 所有其它的值都是未定义的。 如果你不知道什么是UNDI和PXE堆栈,不要紧——你只要指定参数0就可以了。
INITRD initrd_file从3.71版本开始,一个initrd可以指定一个单独的语句,(INITRD)而不是作为APPEND语句的一部分;这个功能添加“initrd=initrd_file”到内核命令行中。它支持以逗号分隔的多个文件名,这主要是有益于initramfs【一个新的initial RAM disks模型】,它可以支持多个单独的cpio或cpio.gz压缩文件。
Note: all files except the last one are zero-padded to a 4K page boundary. This should not affect initramfs.
DEFAULT command【默认命令】SYSLINUX启动时默认执行的命令项——当用户没有进行选择时。如果没有配置文件存在,或在配置文件没有设置默认项时,默认是启动名为“linux”的内核,不会添加其它的选项(参数)。 例如:可以用于设置所要加载的菜单模块
UI module options【用户界面模块选项(参数)】用于设置菜单模块(通常是“menu.c32”或“vesamenu.c32”),也就是说这是一个命令行界面(菜单指令),它可以覆盖DEFAULT和PROMPT指令。
PROMPT flag_val如果flag_val为0,启动将显示:“提示符”只有在Shift或Alt键被按下,或Caps Lock键或Scroll lock键设置(这是默认值)。如果flag_val是1,启动时将始终:“提示符”。
NOESCAPE flag_val如果flag_val设置为1,那么将忽略Shift/Alt/Caps Lock/Scroll Lock退出,将强制使用此默认选择项目启动(也同时忽略PROMPT 0)。
NOCOMPLETE flag_val如果flag_val设置为1,那么启动时将不会在显示标签中提示Tab键。
IMPLICIT flag_val如果flag_val为设置为0,将不会加载的kernel image【内核映像】,除非它已在LABEL声明中明确指定。The default is 1【默认值为1】。
ALLOWOPTIONS flag_val如果flag_val为0,用户将不能指定内核命令行的任何选项(参数)。{wy}可用是在APPEND声明中所指定的选项。The default is 1。
TIMEOUT timeout【超时】在执行默认启动菜单项前的等待时间。如果设置为0,那么将将xx禁用timeout(始终等待用户选择),这也是默认的设置。 其单位为:1/10秒。 以下timeout为30秒:
注:{zd0}的值为35996,建议设置为小于一小时。
TOTALTIMEOUT timeout不会被用户的输入取消,用于处理串口故障或类似 "用户离开" 的状况。默认值是 0。 # 等待5s除非用户输入,但15m后一定启动 TIMEOUT 50
ONTIMEOUT kernel options...timeout 后调用的命令。一般与 DEFAULT 调用相同。如果指定,DEFAULT只适用于用户按<Enter>启动时。
ONERROR kernel options...如果一个内核映像没有找到(不存在或设置了IMPLICIT),运行指定的命令。如果ONERROR指令为:
并且用户输入的命令行是:
那么SYSLINUX将执行:
SERIAL port 【[baudrate] flowcontrol】开启一个串口作为控制台,“port【端口】”是一个数字(0 = /dev/ttyS0 = COM1,etc。)或者I/O端口地址(例如:0x3F8);如果省略“baudrate【波特率】”,波特率默认为9600 bps。串行的硬编码是 8 bits,无奇偶校验,1个停止位。下列为“flowcontrol【流控制】”的 bits 组合:
所有其它的 bits 给予保留。 典型值为:
作为SERIA【串口】指令,它必须保证工作正常,它在配置文件中应该是“First”指令。
CONSOLE flag_val如果flag_val为0,禁止输出到普通视频终端。如果flag_val为1,允许输出到视频终端(默认值)。 有些BIOS因为这个选项(参数)会令视频终端出现异常。 所以该选项(参数)允许你在这些系统上禁用视频控制台。
FONT filename在显示任何输出之前,装载.psf格式的字体(除了版权行,ldlinux.sys本身被加载里就输出这些)。SYSLINUX只装载字体到显卡。忽略.psf文件包含的Unicode表。并且只工作于EGA和VGA显示卡。注:.psf格式的字体不支持中文。
KBDMAP keymap装载一个简单的键盘映射。该重映射使用很简单(由于这个重映射是基于BIOS的,所以只有标准的美式键盘布局才能被映射),不过这至少可以帮助使用QWERTZ和AZERTY键盘布局的人(这两个特殊字符大量用于Linux内核命令行)。syslinux的还附带一个名为“kbdmap.c32”的comboot模块文件,它允许动态地改变键盘映射,这样就可以在syslinux的配置文件中增加一个键盘选择菜单或键盘选择标签【keyboard-selection menu and/or keyboard-selection labels】。
SAY message在屏幕上打印Message【信息】。
DISPLAY filename启动时在屏幕上显示指定文件(如果显示:则在启动前:“提示符”显示内容)。请参阅下面一节的“DISPLAY file”。 注:如果指定的文件未找到,那么此选项(参数)将被xx忽略。
F[1-12] filename【F1功能键到F12功能键】基本书写格式:
请参阅下面一节的“DISPLAY file”。 在使用serial console【串行控制台】时,可以按<Ctrl+F1-F12>转到帮助屏幕:
在配置文件中空行和注释行【#号空格后的内容】将被忽略。
Can SYSLINUX Handle Large Kernels?【SYSLINUX能处理大内核吗?】这个版本的SYSLINUX(syslinux 3.83)已经支持大内核了(bzimage 格式),取消了对bzimage格式内核的500K大小限制。能自动检测和透明处理用户的bzimage格式内核。这个版本的SYSLINUX还支持启动时加载RAMDISK(initrd),initrd是从DOS文件加载的,其选项(参数)这:“initrd=filename”(这里的filename为initrd的映像文件名,并且这个文件必须在启动磁盘的根目录下。) 例如(EXTLINUX):
为了兼容bzimage和最近的zimage内核,SYSLINUX 1.30和更高的的版本确定使用ID byte 0x31,PXELINUX识别使用ID byte 0x32,ISOLINUX using ID byte 0x33,and EXTLINUX using ID byte 0x34,ID byte 0x35-0x3f是预留给SYSLINUX之后版本的衍生工具使用。
What is the DISPLAY File Format?【什么是DISPLAY文件格式?】DISPLAY 和功能键帮助文件是DOS或者UNIX格式的文本文件。此处,以下特殊代码将会被解释:
Clear the screen, home the cursor【清屏,重置光标】:<FF>
注意:屏幕将被当前显示色所填充。
Set the display colors to the specified background and foreground colors【设置显示颜色为指定的背景色和前景色】:
这里的<bg>和<fg>为十六进制数,对于标准的PC显示属性为:
Display graphic form filename【显示图像文件名】:<CAN>filename<newline><CAN> = <Ctrl-X> = ASCII 24 如果当前是VGA显示,进入图形模式并显示指定的图形文件。该文件格式为ad hoc格式,称为LSS16;所包含的Perl程序“ppmtolss16”可用于生成这样的图片。 该图像文件将被显示为640x480 16色模式,一旦进入图形模式,显示属性(由<SI>代码序列设置)稍有不同,背景色会被忽略,前景色是图像文件中指定的16种颜色。因此,ppmtolss16允许你指定颜色索引。注意:颜色索引0和7应该注意选择:0是背景色,7是SYSLINUX自身打印文字的颜色。
Return to text mode【返回到文本模式】:<EM>
如果当前是图形模式,则返回到文本模式。 选择哪一种模式打印消息的一部分:
这些代码可用于选择那种模式会打印到消息文件的某个部分。任一控制字符选择特定的实际输出模式 (文本屏幕、图形屏幕、串口)。
示例: <DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB> 将以控制台输入模式输出。
End of file文件终止:
文件终止(DOS 惯例)
Beep提示音:
扬声器提示音。
以下为SYSLINUX【ISOLINUX、PXELINUX、EXTLINUX也类似】主要文件的作用及说明: |