目前RHEL支持两种形式的启动介质:光盘形式的启动介质,USB形式的启动介质。
1.开机介质映像文件
RHEL的启动介质映像文件存储于第一张安装光盘的images/目录中,有两个映像文件:boot.iso;diskboot.img
boot.iso用来制作光盘形式的启动介质映像文件。
diskboot.img用来制作USB形式的启动介质映像文件。
值得注意的是,由于启动介质映像文件存储了与产品版本有关的信息,所以,必须使用相同版本的启动介质映像文件来制作该版本安装用的启动介质。RHEL5的启动介质映像文件制作的启动介质仅能安装RHEL5,不能安装其他RHEL。
2.制作光盘形式的启动介质
使用任何支持ISO的刻录软件来制作启动介质。在linux系统中制作光盘形式的启动介质,可以利用cdrecord工具。
3.制作USB形式的启动介质
如果制作USB存储磁盘形式的启动介质,可以使用dd或者cat命令:
[root@linux images]# dd if=diskboot.img of=/dev/sda1
[root@linux images]# cat diskboot.img > /dev/sda1
4.启动介质的启动流程
其实RHEL提供的启动介质就是一个非常精简的RHEL系统。所以,启动介质的启动流程,也与完整的RHEL的启动流程一样,只不过使用的软件包不同而已。完整的RHEL启动流程是:grub或者LILO启动后加载linux内核,内核启动后,通过init执行RC程序文件。
由于grub或lilo午饭支持光盘与USB存储盘,所以启动介质使用isolinux作为启动加载器,加载linux内核运行。当内核执行时,会加载存储于启动介质中的驱动程序,以便驱动必备的硬设备。启动介质加载内核后,便立即启动Anaconda以正式展开安装程序。
5.安装RHEL除了要准备一份安装用的启动介质外,还必须准备RHEL的安装来源。
安装来源ISO文件可以制作成光盘,也可以存放在本机硬盘的一个分区上(必须是一个普通的分区,尽可能不要使用LVM、软件磁盘阵列等磁盘空间),还可以放在远程安装服务器上。
在配置远程安装服务器时,要把安装来源中的文件全部存储到安装来源目录中。如果是DVD类型的安装光盘,则直接把该DVD的内容完整地复制出来即可。如果是CD类型的光盘,就得讲每一片CD中的内容复制到相同的目录中,在此过程中可能会询问是否覆盖原始的文件,选择覆盖即可。
6.Anaconda是RHEL的安装程序
Anaconda提供下列几种执行模式:Update模式(安装或更新RHEL),Kickstart模式(提供自动安装RHEL),Rescue模式(修复或救援RHEL)。
执行Anaconda会进行两个阶段的计划:启动Linux内核,初始化Linux系统。
由于Anaconda是在Linux内核之上执行的应用软件,因而必须先以Linux内核来启动计算机,才能顺利地执行Anaconda。因此Anaconda的第一段的主要工作便是计算机中启动Linux内核,并且初始化系统环境。
在RHEL系统中,是利用安装用启动介质来完成Anaconda的第一阶段的工作。在RHEL的启动介质中,包含一个Linux内核以及初始化内存磁盘的映像文件--initrd.img。通过安装用启动介质的Linux内核来启动计算机,然后加载initrd.img到内存中,并执行initrd.img中的init程序。
执行initrd.img中的init程序时,会进行下列几个工作。
(1)解析启动介质时所指定的参数。
(2)检测硬设备,并加载必要的驱动程序,以便驱动必要的硬设备。
完成上述动作后,安装用启动介质会试着去寻找并执行Anaconda的第二阶段(安装来源中的imgaes/stage2.img)。如果使用安装光盘的第一片作为启动介质,则直接加载光盘中的Anaconda第二阶段;否则将询问安装过程使用的语言、键盘种类,以及安装来源的位置,以便进入Anaconda的第二阶段。
(3)设置安装选项并进行安装与更新计划
进入第二阶段的安装计划后,Anaconda会开启一个安装接口,让你设置安装的选项。Anaconda随后会依据你设置的安装选项设置RHEL的执行环境。实际上,只有执行Update模式,Anaconda才会让你设置安装选项;如果是Kickstart模式或Rescue模式,则不会出现这些步骤。
完成设置安装选项后,Anaconda便会开始进行安装各种RPM软件包的动作。
与其他应用软件一样,,Anaconda也提供了一些启动参数。但不能在执行时指定参数。RHEL启动介质启动时,isolinux允许输入一些内核启动参数,而RHEL启动介质会保存这些在isolinux输入的参数,等到启动Anaconda时,再移交给Anaconda。因此,在利用安装用启动介质的isolinux启动加载器时,指定要给Anaconda使用的参数。