|
楼主 |
发表于 2003-3-24 15:40:29
|
显示全部楼层
[cjacker]Magic Linux安装程序探讨1
Magic Linux安装程序探讨:
1,要图形的还是字符的?
这并不是一个很重要的问题,只要安装程序方便可用,即使是字符界面,照样能够引人入胜,
一个成功的例子就是windows nt和2k的安装。整个的安装过程和操作80%是用蓝底白字的字符界面完成,
但是没有太多反映windows安装程序难用的,关键在于简单。
2,怎么才能简单:
安装程序最简单能作到什么样子?一个极端就是完全自动,分区会按照你的硬盘比例自动完成,然后自动安装rpm包,
可能唯一需要动手的就是X的配置,需要进行一些人为的操作。
而可控又最简单的过程可以作到:
1)欢迎界面
2)分区
3)设置root密码(密码,认证方式)
4)设置网络信息(机器名,IP/netmask,gateway,DNS)
4)安装系统
5)配置X(大部分工作可以自动检测)
6)保存各种配置并重启
如果要支持多语言,可以添加键盘和安装语言,系统语言的选择。
3,目前成型的安装程序:
大家用了很多的版本,目前比较成型的有:
1),redhat的anaconda,采用python实现,字符界面用newt,图形界面用pygtk
2),mdk的gi,采用perl实现
3),sco的lizard,采用qt实现
4),其他各种版本的简单实现和基于以上几种的延伸。
4,安装程序的构成:
这里不能说的太复杂,简单一点,就是isolinux->kernerl->ramdisk->稍微完整的小系统。
isolinux负责光盘启动,引导内核,载入ramdisk,然后载入一个稍微完整的镜像系统,这个系统包含安装过程中
所使用的各种命令,如果有图形界面,还要包含X,gtk,qt等library和perl,python等。
这个小系统的制作方法非常类似与一张软盘的Linux制作。
5,中文安装环境的实现:
架构不变,采用isolinux->kernel->ramdisk->sys_image.
isolinux->kernel这两块是不需要变化的。
其中isoLinux来自syslinux:
Magic Linux CD1中isolinux目录就包含了这两部分内容。
内容如下:
boot.cat
boot.msg
isolinux.bin
isolinux.cfg
s.lss
s.png
vmlinuz
initrd
其中,s.png和s.lss是用来在光盘启动时显示第一张图片的,使用命令
pngtopnm s.png | ppmtolss16 \#000000=0 \#d0d0d0=7 \#f6f6f6=15 > s.lss
生成。
在boot.msg中定义调用。
boot.msg中还包含了启动界面的文本信息。
isolinux.cfg内容如下:
default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
label graphics
kernel vmlinuz
append initrd=initrd.img lang= devfs=nomount ramdisk_size=9216
label linux
kernel vmlinuz
append initrd=initrd.img lang= text devfs=nomount ramdisk_size=9216
label expert
kernel vmlinuz
append expert initrd=initrd.img lang= devfs=nomount ramdisk_size=9216
label ks
kernel vmlinuz
append ks initrd=initrd.img lang= devfs=nomount ramdisk_size=9216
label nofb
kernel vmlinuz
append initrd=initrd.img lang= devfs=nomount nofb ramdisk_size=9216
label lowres
kernel vmlinuz
append initrd=initrd.img lang= lowres devfs=nomount ramdisk_size=9216
这里定义了缺省进入那一种方式:
比如:这里是Linux.缺省就按照:
label linux
kernel vmlinuz
append initrd=initrd.img lang= text devfs=nomount ramdisk_size=9216启动。
boot.msg也是在这里调用的,
F1 boot.msg是指按F1键可以显示boot.msg,如果你还有其他的msg文件,可以在这里定义热键。
下面的label *是定义了各种不同的安装程序启动方式:
比如linux graphics就可以启动图形界面安装等等。
注:
内核是在这里被引用的,同样,这里指定了一个镜像文件initrd.img。
(未完,待续) |
|