您的位置 首页 新品

结构Linux的图形化装置程序(1)

这是一个向用户介绍如何构造Linux的图形化安装程序的专栏。介绍的内容包括:安装环境的定制,图形化启动,本地化支持,分区功能,如何支持reiserfs

这是一个向用户介绍怎么结构Linux的图形化装置程序的专栏。介绍的内容包含:装置环境的定制,图形化发动,本地化支撑,分区功用,怎么支撑reiserfs、raid、lvm,rpm包的装置,定制各种发动装备脚本等等。本文是这个系列文章的第一篇,主要是向您介绍怎么定制体系装置环境,包含生成装置内核,初始Ram盘的生成,最小化装置环境的定制。

自从Caldera推出了第一个Linux体系下的图形化装置程序以来,现在的干流Linux发布大多都运用图形化的装置程序进行体系环境的装置,比方RedHat的装置程序anaconda,Suse的装置程序yast2,Caldera的装置程序lizard,以及Mandrake的装置程序gi。

这些干流厂商的装置程序都有一个一起的特色,便是它们都是先结构一个齐备的最小化的Linux运转环境,定制Linux的发动进程,使得体系内核发动后,加载一个体系装载程序,这个程序将定制好的Linux运转环境部分或许悉数加载进入内存,然后将操控转移到图形化装置程序。最终再由此程序发动的图形环境(XFree86),设置对应的言语环境,发动对应的体系装置进程。

1 干流装置程序简介

Caldera的装置程序lizard是Linux国际的第一个图形化装置程序,它的悉数程序运用c++言语编制,图形化的风格是根据kde和qt的。值得一提的是,caldera在定制图形化装置时,修改了内核,完结了内核的图形化发动,一起其装置程序的硬件检测功用很强壮,能够检测到部分非即插即用的isa设备,并且还供给了相似html风格的协助体系。由于装置程序要求精粹的环境,而此刻通用的XWindows窗口管理器是无法满意需求的(太大并且占用资源太多),所以caldera中还供给了一个最小化的窗口管理器lwm。在caldera装置体系包的进程中,您还能够玩吃豆子游戏,这也是lizard的一大构思。

Redhat的装置程序anaconda可能是我们最了解的装置程序之一。它的悉数程序都是由Python完结。Python是一种面向对象的脚本言语,您能够在http://www.python.org取得它的相关材料。Redhat运用Python Gtk作为图形界面的开发工具。在您解开anaconda的源码包之后,您会发现一个anaconda的文件,这是程序履行的主文件。它供给了一个最小化的slang库以支撑文本方法的装置。Redhat的装置程序最大的特色便是很稳健,支撑的驱动程序较多,对硬件的支撑很强(这说明Redhat装置内核定制得十分好,并且得到了相当多的厂商支撑)。可是Redhat装置程序的功用不是特别强,比方关于reiserfs、lvm不供给支撑,不支撑中文装置(7.2可能会推出中文版)。也有许多厂商的装置程序是略微修改了RedHat源码构成的,比方VALinux、中科红旗等。

关于Mandrake的装置程序gi,它的悉数程序都是运用Perl编制,您能够从Mandrake的CVS服务器上下载最新的装置程序。Perl是一种功用强壮的脚本言语,能够十分便利的处理Linux上的各种装备脚本,它的图形界面运用Perl-GTK编制。Mandrake的装置程序是第一种供给中文装置的干流发布。它的装置程序的特色是新,支撑的功用相当多,包含装备杂乱的文件体系,支撑无线通讯设备,多种打印机支撑等等。

Redhat和Mandrake的装置程序都是由脚本构成的,它们尽管速度稍慢,可是其构成的装置程序一般都比较稳定,并且便于移植到其他平台上。Redhat的整个装置环境是保存在一个stage2.img的文件里。您可用指令:

mount -o loop stage2.img /mnt/tmp

将其挂接到指定的目录下,观察Redhat装置程序的结构。Mandrake的装置环境保存在mdkinst的目录下。

2 装置环境的构成

一个图形化的装置环境实际上便是一个最小化的Linux运转环境。一般由如下几部分构成:Linux体系装置内核,Linux体系的初始Ram磁盘,体系运转所需的一些shell指令和程序所必需的体系库,初始化程序,体系运转时有必要的外部指令,XFree86子体系,字体集和本地化的环境设置,体系的桌面风格和贴图,键盘映射,设备装备数据库,体系装置程序等部分。

体系内核vmlinuz存在体系的发动映像之中,在体系发动时调入,然后Linux调入初始Ram磁盘,由此Ram磁盘上的程序加载运转装置程序的第一阶段加载程序。这是个可履行程序,它一般履行加载硬盘驱动模块,将磁盘上的整个装置环境调入内存,并作为根分区挂接。

这时就有一个在内存中的最小化的Linux体系了,一段映像程序完毕运转,开释自己所占的内存,并将操控转移到真实的体系装置程序。这时体系装置程序开端发动XFree86子体系,设置正确的本地化环境,包含本地化环境变量,字体集,正确的键盘映射等,这时就答应用户进行交互,然后在用户的干涉下,完结整个体系的装置进程。

整个装置进程的一般流程:

2.1 定制装置内核

一个好的装置程序内核是和装置程序严密相关的,它有必要是齐备的和精简的。齐备的内核是指:假如装置程序要对某方面的功用进行支撑的话,有必要在内核中也供给相应的支撑。精简的内核是指:关于装置程序不需要的功用,内核必定不要支撑,并且能作为模块存在的,就必定要把它设置为模块。这样定制出来的内核很小,确保了定制的内核以及有必要的硬盘驱动模块能放入发动映像中。

例如,关于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 Support    对大于2GB的内存不供给支撑

挑选386兼容方法是为了确保装置程序具有杰出的兼容性,在某种程度上来说,速度的快慢并不是衡量装置程序的目标。一个好的装置程序,应该具有高稳定性和高兼容性。

General setup                一般选项

Networking support           内核级网络支撑

PCI support               内核级PCI总线支撑

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/298148.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部