构造Linux的图形化安装程序(1)

上传人:宝路 文档编号:21420847 上传时间:2017-11-23 格式:DOC 页数:10 大小:103.82KB
返回 下载 相关 举报
构造Linux的图形化安装程序(1)_第1页
第1页 / 共10页
构造Linux的图形化安装程序(1)_第2页
第2页 / 共10页
构造Linux的图形化安装程序(1)_第3页
第3页 / 共10页
构造Linux的图形化安装程序(1)_第4页
第4页 / 共10页
构造Linux的图形化安装程序(1)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《构造Linux的图形化安装程序(1)》由会员分享,可在线阅读,更多相关《构造Linux的图形化安装程序(1)(10页珍藏版)》请在金锄头文库上搜索。

1、构造 Linux 的图形化安装程序(1)这是一个向用户介绍如何构造 Linux 的图形化安装程序的专栏。介绍的内容包括:安装环境的定制,图形化启动,本地化支持,分区功能,如何支持 reiserfs、raid、lvm,rpm包的安装,定制各种启动配置脚本等等。本文是这个系列文章的第一篇,主要是向您介绍如何定制系统安装环境,包括生成安装内核,初始 Ram 盘的生成,最小化安装环境的定制。自从 Caldera 推出了第一个 Linux 系统下的图形化安装程序以来,现在的主流 Linux 发布大多都使用图形化的安装程序进行系统环境的安装,比如 SPGLinux 的安装程序anaconda,Suse 的

2、安装程序 yast2,Caldera 的安装程序 lizard,以及 Mandrake 的安装程序gi。这些主流厂商的安装程序都有一个共同的特点,就是它们都是先构造一个完备的最小化的 Linux 运行环境,定制 Linux 的启动过程,使得系统内核启动后,加载一个系统装载程序,这个程序将定制好的 Linux 运行环境部分或者全部加载进入内存,然后将控制转移到图形化安装程序。最后再由此程序启动的图形环境(XFree86) ,设置对应的语言环境,启动对应的系统安装过程。主流安装程序简介Caldera 的安装程序 lizard 是 Linux 世界的第一个图形化安装程序,它的全部程序使用c+语言编制

3、,图形化的风格是基于 kde 和 qt 的。值得一提的是, caldera 在定制图形化安装时,修改了内核,实现了内核的图形化启动,同时其安装程序的硬件检测功能很强大,可以检测到部分非即插即用的 isa 设备,而且还提供了类似 html 风格的帮助系统。因为安装程序要求精炼的环境,而此时通用的 XWindows 窗口管理器是无法满足需求的(太大而且占用资源太多) ,所以 caldera 中还提供了一个最小化的窗口管理器 lwm。在 caldera 安装系统包的过程中,您还可以玩吃豆子游戏,这也是 lizard 的一大创意。 SPGLinux 的安装程序 anaconda 可能是大家最熟悉的安装

4、程序之一。它的全部程序都是由 Python 完成。Python 是一种面向对象的脚本语言,您可以在 http:/www.python.org 获得它的相关资料。SPGLinux 使用 Python Gtk 作为图形界面的开发工具。在您解开anaconda 的源码包之后,您会发现一个 anaconda 的文件,这是程序执行的主文件。它提供了一个最小化的 slang 库以支持文本方式的安装。SPGLinux 的安装程序最大的特点就是很稳健,支持的驱动程序较多,对硬件的支持很强(这说明 SPGLinux 安装内核定制得非常好,而且得到了相当多的厂商支持) 。但是 SPGLinux 安装程序的功能不是

5、特别强,比如对于 reiserfs、lvm 不提供支持,不支持中文安装( 7.2 可能会推出中文版) 。也有很多厂商的安装程序是稍微修改了 SPGLinux 源码构成的,比如 VALinux、中科红旗等。 对于 Mandrake 的安装程序 gi,它的全部程序都是使用 Perl 编制,您可以从 Mandrake的 CVS 服务器上下载最新的安装程序。Perl 是一种功能强大的脚本语言,可以非常方便的处理 Linux 上的各种配置脚本,它的图形界面使用 Perl-GTK 编制。 Mandrake 的安装程序是第一种提供中文安装的主流发布。它的安装程序的特点是新,支持的功能相当多,包括配置复杂的文

6、件系统,支持无线通讯设备,多种打印机支持等等。 SPGLinux 和 Mandrake 的安装程序都是由脚本构成的,它们虽然速度稍慢,但是其构成的安装程序一般都比较稳定,而且便于移植到其他平台上。SPGLinux 的整个安装环境是保存在一个 stage2.img 的文件里。您可用命令: mount -o loop stage2.img /mnt/tmp将其挂接到指定的目录下,察看 SPGLinux 安装程序的结构。 Mandrake 的安装环境保存在 mdkinst 的目录下。安装环境的构成一个图形化的安装环境实际上就是一个最小化的 Linux 运行环境。一般由如下几部分构成:Linux 系统

7、安装内核, Linux 系统的初始 Ram 磁盘,系统运行所需的一些 shell 命令和程序所必需的系统库,初始化程序,系统运行时必须的外部命令,XFree86 子系统,字体集和本地化的环境设置,系统的桌面风格和贴图,键盘映射,设备配置数据库,系统安装程序等部分。系统内核 vmlinuz 存在系统的启动映像之中,在系统启动时调入,然后 Linux 调入初始 Ram 磁盘,由此 Ram 磁盘上的程序加载运行安装程序的第一阶段加载程序。这是个可执行程序,它一般执行加载硬盘驱动模块,将磁盘上的整个安装环境调入内存,并作为根分区挂接。这时就有一个在内存中的最小化的 Linux 系统了,一段映像程序结束

8、运行,释放自己所占的内存,并将控制转移到真正的系统安装程序。这时系统安装程序开始启动 XFree86子系统,设置正确的本地化环境,包括本地化环境变量,字体集,正确的键盘映射等,这时就允许用户进行交互,从而在用户的干预下,完成整个系统的安装过程。2.1 定制安装内核一个好的安装程序内核是和安装程序紧密相关的,它必须是完备的和精简的。完备的内核是指:如果安装程序要对某方面的功能进行支持的话,必须在内核中也提供相应的支持。精简的内核是指:对于安装程序不需要的功能,内核一定不要支持,而且能作为模块存在的,就一定要把它设置为模块。这样定制出来的内核很小,保证了定制的内核以及必须的硬盘驱动模块能放入启动映

9、像中。例如,对于 2.4.3 内核一组选项是:(在下面的一组选项中没有注明的选项,可以在定制安装程序的内核时省略)Loadable module support 可加载模块支持* Enable loadable module support 将可加载模块支持打入内核* Kernel module loader 将内核模块加载器打入内核Processor type and features 内核支持的处理器类型(386) Processor family 选择 386 兼容方式编译内核Toshiba Laptop support 东芝笔记本支持作为模块(off) High Memory Supp

10、ort 对大于 2GB 的内存不提供支持选择 386 兼容方式是为了保证安装程序具有良好的兼容性,在某种程度上来说,速度的快慢并不是衡量安装程序的指标。一个好的安装程序,应该具有高稳定性和高兼容性。 General setup 一般选项* Networking support 内核级网络支持* PCI support 内核级 PCI 总线支持(Any) PCI access mode PCI 硬件的存取方式* EISA support 内核级 EISA 总线支持* Support for hot-pluggable devices 支持热插拔设备* System V IPC SystemV 的

11、进程间通讯机制(ELF) Kernel core (/proc/kcore) format 内核文件格式为 ELFKernel support for a.out binaries 内核模块支持 a.out 文件Kernel support for ELF binaries 内核支持 ELF 格式Kernel support for MISC binaries 内核模块支持其他的格式对于网络支持和 IPC 机制的内核支持是必须的,因为 Linux 上的很多程序,即便它没有进行网络通讯,它也用这些方式进行进程间通讯。对于 ELF 的内核支持也是必须的,因为安装程序需要使用初始内存映像(initr

12、d) ,这种方式需要调用程序完成一些初始化的工作,这就要求内核必须能够支持 ELF 可执行文件格式。其他对于 PCI、EISA 设备的支持,是提高安装内核硬件兼容性的必要选项。 Parallel port support 并行端口支持,要引入并口设备支持时Parallel port support 模块化的并行端口支持PC-style hardware PC 类型的硬件* IEEE 1284 transfer modes IEEE 1284 传送模式支持(支持设备自检)对于并口而言,为了自动检测连接到并口的设备,必须将 IEEE 1284 传送模式支持打入内核。对于不支持 IEEE 1284

13、传送模式的并口设备,系统是无法进行自动检测的。 Plug and Play configuration Plug and Play support 模块化的即插即用设备支持ISA Plug and Play support 模块化的 ISA 即插即用设备支持在 2.4.x 内核中,对 ISA Plug and Play 设备的支持存在一些错误,对于部分设备,将此选项置入内核,设备是无法正常工作的。因此,建议在定制内核时,对此类设备的支持采用内核模块方式。 Block devices 引入对块设备的支持RAM disk support 核心支持 RAM 磁盘(4096) Default RAM

14、disk size* Initial RAM disk (initrd) support初始 RAM 磁盘的内核支持。因为安装程序需要设置初始内存镜像以加载设备模块,所以这一选项对于安装程序是必须的。 其他的选项都作为设备模块存在,在需要时可以放入初始内存镜像中。 Multi-device support (RAID and LVM)* Multiple devices driver support (RAID and LVM)RAID support 将设备模块 md.o 打入内核如果将 md.o 不置入内核,仅为模块方式, raid 分区将无法作为根分区启动系统。这主要是因为 raid 设

15、备需要在启动之初对硬盘进行读写,以决定 raid 分区的位置,类型等参数。Linear (append) modeRAID-0 (striping) modeRAID-1 (mirroring) modeRAID-4/RAID-5 modeMultipath I/O supportLogical volume manager (LVM) support为了支持软件 RAID 设备和逻辑卷管理的分区,将上述设备定制为内核模块。为了对上述特殊类型的存储设备进行支持,就需要 mkinitrd 支持生成正确的初始内存映像,同时为了在正确挂接设备模块之后,系统能正确的安装文件系统并进行检查,也必须提供初始启动脚本的支持(initscript ) 。 Networking optionsPacket socket 设置包协议Unix domain sockets 支持 unix 域套接字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号