-
什么是
syslinux
?
简单一点来说,是一个功能强大的引导加载程序,而且
兼容各种介质。更加确切地说:
SYSLINUX
是一个小
p>
型的
Linux
操作系统,它的目的是简化
首次安装
Linux
的时间,并建立修护或其它特殊用途的启动
盘。
它的安装很简单,一旦安装
sy
slinux
好之后,
sysLinux
启动盘就可以引导各种基于
DOS
的工具,以及
MS-
DOS/Windows
或者任何其它操作系统。
syslinux
的相关选项(
Options<
/p>
)
以下常用的选项
(
参数
)
,适用于
syslinux
的所有版本
-s
Safe, solw, stupid
:这个参数可以提高
syslinux
的引导兼容性
。此参数可以让
syslinux
工作
在一些非常规的
BOIS
上,
有些机器
上
-s
的选项
(
参数
)
是必需的,
也就是说这是一个
安全的选项
(
参
数
)
,建议一般要用上这个选项
(
参
数
)
。
-f
Force
install
ing
:强制写入
syslinux
的
引导代码,这是一个可选的选项
(
参数
)
,如果你发现不
能写入
syslin
ux
时,
就可以使用这个选项
(
参数
)
,
但一般建议
:
写入本地磁盘时加上这个选项
(
参<
/p>
数
)
。
-r
Raid
mode
:
RAID
模式。这是一个
可选的选项
(
参数
)
< br>,如果启动失败,告诉
BIOS
启动顺序
(
通常
是下一个硬盘
)
,而不是给出错误信息后停止,这个一个
RAID
模式的选项
(
参数
)
,一般来说可以
不使用。
以下常用的选项
(
< br>参数
)
,只适用于
Window
s
的版本
-m
< br>MBR
:将
syslinux
引
导代码写入到驱动器的
MBR
启动扇区。这是一个可选的选项<
/p>
(
参数
)
,建议
使
用此选项
(
参数
)
,如果之前有将
GURB4DOS
写入磁盘的
MBR
中,那么你必须使用
-m
选项
(
参数
)
,
否则将写入失败。
之前笔者就是因为有将“grub for dos”写入过
M
BR
,而之后将
syslinux
引导
代码写入
MBR
时,又没有使
用
-m
选项
(
参数
p>
)
,所以一直不能将
syslinux
p>
引导代码写入
MBR
。
示例:
-s -f -m -a -d
/boot/syslinux x:
(x:
为盘符
)
-a
< br>Active
:激活指定分区为活动分区,这是一个可选的选项
< br>(
参数
)
,当你不确定你所指定
的分区是
否是活动分区时可以加上这个选项
(
< br>参数
)
,
实际上,
就算你所指定的分区已经是活动的主分区了,
也可以加上这个选项
(
参数
)
。
(=bootable)
17
以下常用的选项
(
< br>参数
)
,只适用于
Linux<
/p>
的版本
-o
指定文件系统映像文件中的字节偏移量,它必须是一个可使用的磁盘映像文件。
创建启动磁盘
安装
syslinux
的磁盘将改变磁盘上的引导扇区,并
复制
文件到其根目录
(
或者复制到指定的
目录
)
下。
注意:
SYSLINUX
不支持
NTFS
文件系统,所以磁盘必须是
FAT(FAT16/FAT32)
文件系统。
NT/2K/XP
语法:
[-sfmar][-d
directory]
例如:
Floppy:(a:
为软驱
)
a:
硬盘
/
可移动磁盘等:
(z:
为盘符
)
-m -a -d /boot/syslinux
z:
【将引导文件复制到其分区的
/
boot/syslinux
目录下,注意:
/boot/sy
slinux
目录必须事先建好。】
*
上例中的启动菜单配置文件
()
要在
/boot/syslinux
目录下。
*
注意:在
NT/2K
中你可能会收到错误的信息,你只要选择
忽略
p>
)
就可以正确完成命令了。
DOS
语法:
[-sfmar][-d directory]
Linux
语法:
17
syslinux
[-sfr][-d directory][-o offset]
例如:
syslinux
/dev/fd0
syslinux /
设备
/
第一个软驱
【将
syslinux
的引导代码写入第一个软驱】
怎么配置我的
syslinux
p>
?
所有的
sys
linux
默认配置都可以在一个名为
的文件里面更改。
syslinux
会在下列位置搜索
配置文件:
/boot/syslinux/
/syslinux/
/
文件必须是
UNIX
或
DOS
格式的文本文件。
下面是一个简单的例子,我们来看一下
文件怎样引导一个
linux
内核:
DEFAULT linux
LABEL linux
SAY Now booting
the kernel from SYSLINUX...
KERNEL
APPEND ro root=/dev/sda1 initrd=
SYSLINUX
与
LILO
是不同的,下面是一个
LILO
的例子:
image = mykernel
label =
mylabel
append =
而
SYSLINUX
是这样写的:
label mylabel
kernel
mykernel
append myoptions
p>
下面我们一起看一下
SYSLINUX
中的
选项:
注:以下所有选项适用于
PX
ELINUX
,
ISOLINUX
和<
/p>
EXTLINUX
以及
SYSLINUX
,除非另有说明。
17
# comment
注释行,
p>
#
后面的空格是必须的。
INCLUDE filename
在此处插入其他文件的内容。
LABEL
command
【标签命令】
标签命
令,主要是用于描述
文件中的命令的,自己看得懂就可以了,因
为这个标签是不会在
启动菜单中看到的。
MENU LABEL
【菜单标签】
这个是在启动菜单中看到的标题项,所这个一定要写个有意义的描述
例如:
LABEL
maxdos
MENU LABEL [01] -- Run MaxDos
kernel /boot/syslinux/memdisk
append initrd=/boot/imgs/
KERNEL file
【内核文件】
这个就是
SYSLINUX
指向的启动
文件,这个“kernel”不一定是
Linux
kerne
l
【
Linux
内核】,它可以是启<
/p>
动扇区,或者
COMBOOT
文件。
p>
以下所列出的为公认的文件扩展名
(
p>
不区分大小写
)
:
extensions
none or other
Linux kernel image
.0
.bin
.bs
.bss
.c32
.cbt
.com
.img
.ima
扩展名
没有或其它
.0
.bin
.bs
Linux
内核映像
explain
PXE bootstrap
program (NBP) [PXELINUX only]
Boot sector [SYSLINUX only]
Boot
sector,
DOS
superblock
will
be
patched
in
[SYSLINUX
only]
COM32 image (32-bit COMBOOT)
COMBOOT image (not runnable from DOS)
COMBOOT image (runnable from DOS)
Disk image [ISOLINUX only]
Floppy image [ISOLINUX only]
说明
PXE
启动引导程序
(NBP)
【只用于
P
XELINUX
】
“光盘引导扇区”
【只用于
ISOLINUX
】
“磁盘引导扇区”【只用于
SYSLINUX
】,例如:
bsf
,
17
.bss
.c32
.cbt
.com
.img
.ima
“磁盘引导扇区”,
用在
DOS
superblock<
/p>
上,【只用于
SYSLINUX
】
COM32
映像文件【
32-bit
COMBOOT
】
COMBOOT<
/p>
映像文件【不能运行于
DOS
】
COMBOOT
映像文件【可运行于
DOS
】
磁盘映像文
件【实际上可用于
ISOLINUX
、
SYSLINUX
、
PXELINUX
】
软盘映像文件【实际上可用于
IS
OLINUX
、
SYSLINUX
、<
/p>
PXELINUX
】
< br>使用这些关键字之一而不
KERNEL
强制文件类型,与
文件名无关。
LINUX image
你可以直接使用这个,而不是使用
KERNEL
file
来启动一个
Linux kernel image<
/p>
【
Linux
内核映
像】。
BOOT image
启动引导程序
(.bs
,
.bsf
,
.bin)
BSS image
BSS
映像启动引导程序
(.bss)
PXE image
PXE
网络启动引导程序
(.0)
FDIMAGE image
软盘映像
(.img
,
.ima)
COMBOOT image
COMBOOT
程序
(.com
,
.cbt
)
COM32 image
COM32
程序
(.c32)
CONFIG image
CONFIG
< br>将重新启动引导程序而使用不同的配置文件
APPEND
options...
【附加选项】
添加一个或多个选项
(
参数
)
到
kernel
命令行中,
这些选项
(
参数
)
可以是手动或者是自动的。
该选项
(
参数
)
是添加在
kernel
命令行的开始处,通常允许输入的选项覆盖。
这点与
LILO
的“append”选
项
(
参数
)
是
相同的。
APPEND-
简单点
说,不附加任何命令,可用于覆盖全局的
APPEND
。
IPAPPEND flag_val
【只适用于
PXELINUX
】
p>
这个
IPAPPEND
选项
(
参数
)
只适用于
PXELINUX
,这个“flag_val”为下列选项
(
参数
)
:
< br>
1
、下列的选项
(
参数
)
将以如下格式添加到内核命令行:
ip=
17
??以上基于
DHCP/BOOTP
或者
PXE
的启动服务器。
但不推荐使用此选项
(
参数
)
,使用
IP=DHCP
的内核命令行更为合适。
2
< br>、下列的选项
(
参数
)
将以如下格式添加到内核命令行:
BOOTIF=
这在
PXEL
INUX
的文档中有相关的介绍,这将决定临时文件系统程序将从哪一个
Interface
【端口】启动系
统。
LABEL label KERNEL image APPEND
options... IPAPPEND flag_val
【只适用于
PXELINUX
】
??以上表明,
如果“LABEL”
作为内核启动,
其引导
的“image”和指定的
APPEND
和
IPAPPEND
选项将
取代配置文件中的全局
(
在第一个
LABEL
命令之前
)
命
令。“image”默认值与“label”相同,而且如果没
有定义
< br> APPEND
,则使用全局命令
(
如果存在
)
。
LOCALBOOT type
【
IS
OLINUX
,
PXELINUX
】<
/p>
在
PXELINUX
< br>,指定“LOCALBOOT 0”代替一个“KERNEL”选项
(
参数
)
,这个意味着调用此特定
< br>LABEL
将会
引导本地磁盘,而不是一个“KERNE
L”。
参数
0
表示执行正常启动,参数
4
将执行一个本地启动和通用网络
驱动器接口
(UNDI)
——常驻内存。
最后,参数
5
将执行一个本地启动
与整个
PXE
的堆栈,包括
UNDI<
/p>
驱动器,也是常驻内存。
所有其它的值都是未定义的。
如果你
不知道什么是
UNDI
和
PXE
堆栈,不要紧——你只要指定参数
0
就可以了
。
INITRD initrd_file
从
3.71
版本开始,一个
i
nitrd
可以指定一个单独的语句,(
INITRD
)而不是作为
APPEND
语句的一部分;
p>
这个功能添加“initrd=initrd_file”到内核命令行中。
它支持以逗号分隔的多个文件名,这主要是有益于
initramfs
【一个新的
initial RAM di
sks
模型】,它
可以支持多个单独的
cpio
或
压缩文件。
cpio
简介【摘自:维基百科】
CPIO
是
Linux
下的一种新的内核启动镜像所附带的虚拟磁盘格式。他与传统的
Image
p>
格式比较而
言有一些改进,主要体现在打包速度和启动引导方式上。
cpio
可以从
cpio
或
tar
格式的归档包中存入和读取文件
,
归
档包是一种包含其他文件和有关
信息的文件。
有关信息包括:
文件名
,
属主
,
时标
(timestamp),
和访问权限。
归档包可以是磁
盘上的
其他文件
,
也可以是磁带或管道。
17
Note:
all
files
except
the
last
one
are
zero-padded
to
a
4K
page
boundary.
This
should
not
affect
initramfs.
DEFAULT
command
【默认命令】
SYS
LINUX
启动时默认执行的命令项——当用户没有进行选择时。
如果没有配置文件存在,或在配置文件没有设置默认项时,默认是启动名为“li
nux”的内核,不会添加其
它的选项
(
参数
)
。
例如:可以用于设置所要加载的菜单模块
default vesamenu.c32
UI module options
【用户界面模块选项
p>
(
参数
)
】
用于设置菜单模块
(
通常是“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
如果
< br>flag_val
为设置为
0
,
将不会加载的
kernel
imag
e
【内核映像】
,
除非它已在
LABEL
声明中明确指定。
The
default is 1
【默认值为
1
】。
ALLOWOPTIONS flag_val <
/p>
如果
flag_val
为
0
,用户将不能指定内核命令行的任何选项
(
参数
)
。唯一可用是在
APPEND
声明中所指定
的选项。
T
he default is 1
。
TIMEOUT
timeout
【超时】
在执行默认启动菜单项前的等待时间。
17
如果设置为
< br>0
,那么将将完全禁用
timeout(
始终等待用户选择
)
,这也是默认的设置。
其单位为:
1/10
秒
。
以下
timeout
为
30
秒:
timeout 300
注:最大
的值为
35996
,建议设置为小于一小时。
< br>
TOTALTIMEOUT timeout
不会被用户的输入取消,用于处理串口故障或类似
用户离开
的状况。
默认值是
0
。
#
等
待
5s
除非用户输入,但
15m
后一定启动
TIMEOUT 50
TOTALTIMEOUT 9000
ONTIMEOUT
kernel options...
timeout
后调用的命令。一般与
DEFAULT
调用相同。如果指定,
DEFAULT
只适用于用户按
p>
启动时。
ONERROR kernel options...
如果
一个内核映像没有找到
(
不存在或设置了
IMPLICIT)
,运行指定的命令。
如果
ONERROR
指令为:
ONERROR xyzzy plugh
并且用户输入的命令行是:
foo
bar baz
那么
SYSLINU
X
将执行:
xyzzy plugh
foo bar baz
SERIAL port
【
[baudrate]
flowcontrol
】
开启一个
串口作为控制台,“port【端口】”是一个数字
(0 = /dev/ttyS0
= COM1
,
etc
。
)
或者
I/O
端口
地址
(
例如:
0x3F
8)
;
如果省略“baudrate
【
波特率】
”,
波特率默认为
9600
bps
。
串行的硬编码是
8
bits
,
无奇偶校
验,
1
个停止位。
17
-
-
-
-
-
-
-
-
-
上一篇:APA Citation Style
下一篇:Cadence SPB使用经验总结