打造自己的Linux系统与启动光盘(3)

制作自己的Linux系统与启动光盘(3)

丰富的isolinux 应用

本小节讲述如何完美的应用isolinux进行启动光盘的优化。上节我们已经成功的制作好了一个可启动的光盘,但是那仅是一个功能简单的启动盘,如何制作像系统安装盘一样的,功能丰富,画面优美的linux系统盘就是本节的主要内容。

3.1 添加背景图片

首先来看一下带背景图片的启动菜单示例,如下:

 打造自己的Linux系统与启动光盘(3)

 

上图是一个简单的示例,如果您有兴趣可以做得更加精致,当然,这不是本节的重点。下面笔者将详细的描述背景图片的添加方式。

要为启动菜单添加背景图片,首先需要准备一张640x480的PNG, JPEG 或 LSS16 格式的图片,笔者尝试过更大的图片,结果是不能将图片正常的加载,所以建议使用640*480的图片。然后照下修改isolinux.cfg文件。

display info.txt

PROMPT 0

timeout 200

default vesamenu.c32

MENU BACKGROUND /PIC2.jpg

MENU WIDTH 60

MENU MARGIN 0

MENU ROWS 11

MENU HELPMSGROW 15

MENU TIMEOUTROW 22

MENU TABMSGROW 24

MENU CMDLINEROW 24

MENU HSHIFT 10

MENU VSHIFT 2 menu color screen 37;40      #ffffffff #00000000 none

 menu color border 30;44      #00000000 #00000000 none

 menu color title 1;36;44     #f01291a9 #00000000 std

 menu color unsel 37;44      #e01291a9 #00000000 none

 menu color hotkey 1;37;44    #e060CA00 #00000000 none

 menu color sel  7;37;40    #e0712704 #20ff8000 all

 menu color hotsel 1;7;37;40  #e0400000 #20ff8000 all

 menu color disabled 1;30;44    #60cccccc #00000000 none

 menu color scrollbar 30;44      #40000000 #00000000 std

 menu color tabmsg 31;40      #9060CA00 #00000000 none

 menu color cmdmark 1;36;40    #c000ffff #00000000 std

 menu color cmdline 37;40      #c0ffffff #00000000 none

 menu color pwdborder 30;47      #80ffffff #20ffffff std

 menu color pwdheader 31;47      #80ff8080 #20ffffff std

 menu color pwdentry 30;47      #c0ffffff #20ffffff std

 menu color timeout_msg 37;40      #e060CA00 #00000000 none

 menu color timeout 1;37;40    #f060CA00 #00000000 none

 menu color help  37;40      #c0ffffff #00000000 none

 menu color msg07 37;40      #90ffffff #00000000 none

MENU AUTOBOOT  Automatic boot  in # seconds…

MENU TABMSG press [TAB] Edit Option

MENU TITLE  Linux kernel Test

LABEL Test Linux

MENU LABEL Start My Linux Kernel

MENU INDENT 4

KERNEL /bzImage

append initrd=/ramdisk.img load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=600000 rw root=/dev/ram

注意红色标注的部分,PROMPT 0  不会提示用户输入,在制作菜单的过程中,建议将其设为1 ,这样,您可以方便的观察当前配置是否有错误的地方,并且容易查找配置文件中的错误。提示完成后,记得输入回车启动后面的内容。MENU BACKGROUND /PIC2.jpg,这是本节的主要配置选项,PIC2.jpg就是笔者加入的菜单背景。可能您已经注意到上述配置文件中除了对背景的配置外,还有其他的配置信息,如 MENU WIDTH 之类的诸多配置选项,这将在下一小节进行介绍。

要应用isolinux的菜单功能,必须包含vesamenu.c32文件,该文件可以在syslinux-4.04文件中的com32\menu中找到。您可以把该文件复制到要制作的iso镜像文件夹中,笔者将其放在isolinux.cfg的目录下。

3.2 添加各类菜单选项

Isolinux支持丰富的菜单功能,可以参考syslinux-4.04中doc文件夹中的menu.txt文件,该文件作了更为详细的描述,笔者只针对一部分菜单做介绍。

DEFAULT label

设置全局默认,如果“label”指向一个子菜单,那么这个菜单将成为开始菜单;换句话说,这个指令同MENU DEFAULT和MENU START具有相同的作用。

布局选项

打造自己的Linux系统与启动光盘(3)

上面的选项控制屏幕上菜单的布局。上面的值为默认值。负数值是相对屏幕的计算长度(25用于文本模式,28用于VESA图形模式)。

MENU COLOR element ansi foreground background shadow

设置元素颜色。您可以按如下序列进行设定颜色值:

打造自己的Linux系统与启动光盘(3)

上图中有英文的简要注释,如screen元素表示重置的屏幕。Title表示标题的工具条,这里的所有元素均有默认值,如下:

打造自己的Linux系统与启动光盘(3)

您可以根据自己的需求进行修改。这里,讲解一下最后一个元素msgXX,在默认值中,最后一项为msg07,这是什么意思呢?这里XX是两个16进制数,07表示“纯文本”。

整个条目中有一个字段为ansi,从默认值中也可以看出它的取值相当丰富,下面将详细的介绍该字段的含义,取值最小为0, 最大49,各值对应的含义如下:

    0     重置所有属性为默认值

    1     设置黑体

    4     设置下划线 (simulated with color on a color display)

    5     set blink

    7     set reverse video

    22    set normal intensity

    24    underline off

    25    blink off

    27    reverse video off

    30    set black foreground

    31    set red foreground

    32    set green foreground

    33    set brown foreground

    34    set blue foreground

    35    set magenta foreground

    36    set cyan foreground

    37    set white foreground

    38    set underscore on, set default foreground color

    39    set underscore off, set default foreground color

    40    set black background

    41    set red background

    42    set green background

    43    set brown background

    44    set blue background

    45    set magenta background

    46    set cyan background

    47    set white background

    49    set default background color

 

"foreground" 和 "background" 是#AARRGGBB符号的颜色编码,AA RR GG BB 是alpha(不透明度)的十六进制数字,分别为红,绿和蓝。#00000000代表全透明,#ffffffff代表不透明的白色。

"shadow" 控制处理图形化控制台文本阴影,允许值为“none”(无阴影),“std”或standard(标准阴影-前景像素凸起), "all" (背景色和前景色都凸起), 和"rev" 或 "reverse" (b背景色凸起)。

F1 textfile [background]

...

F12 textfile [background]

显示全屏帮助(命令行时也有效)。此外,选项的第二个参数允许不同的背景图像(参考MENU BACKGROUND 支持的格式)被显示。注意,textfile文件名。

MENU AUTOBOOT message

替换消息“Automatic boot in # second{,s}...”。#号 替换剩下的秒数,语法"{singular,[dual,]plural}"可以恰当的结合使用。

MENU TABMSG message

替换消息"Press [Tab] to edit options"。

 

MENU HELP textfile [background]

创建一个菜单条目,其中,被选中时,显示全屏帮助像F-key一样的帮助。