AIX多用户模式启动过程

一般情况下,系统正常启动时,会直接进入到多用户模式,也就是正常(Normal)模式下,为应用程序正常运行做好了准备。

把机器前面板上的钥匙扳到Normal位置时,或者在机器启动过程中不按任何键,就会让系统从硬盘启动。当用户打开机器电源(冷启动)或通过shutdown热启动来重启系统时,要经过一系列的处理过程才能为用户准备好系统。这个启动过程分为三个阶段:

只读存储器(Ros)内核初始化阶段(Read Only Storage Kernel Init Phase)

基本设备配置阶段,即rc.boot第一引导阶段。

系统引导阶段,包括rc.boot的第2和第3个引导阶段

ROS内核初始化阶段:

以基于pci的rs/6000机器为例,ROS内核初始化阶段包括下面几个步骤。

(1)首先由OCS调用微处理器检查系统的主板是否有问题,然后将控制权交给只读存储器ROS,执行系统加电自检。

(2)ROS初始化载入程序(IPL)检查用户自定义引导设备列表,如果用户自定义引导列表不正确或者没有找到引导设备,就会检查默认的引导列表。无论使用哪一个引导列表,只会在引导列表中找到第一个设备用来引导系统。如果在NVRAM中找到了引导列表,将检查位于总线上的所有适配器和设备。无论是否找到自定义引导列表,将继续循环检查设备,直到找到一个能够用于启动系统的设备为止。

(3)当找到第一个可以引导的设设备后,就会检测引导设备上第一个记录或物理扇区号(PSN)。如果它是合法的引导记录,则把它读入内存,并附加到初始装入程序的控制块上。然后根据引导记录中包含的引导逻辑卷(BLV)长度和BLV地址把BLV装入内存。

(4)从引导设备中顺序地引导逻辑卷(即引导镜像)读入到内存,建立RAM文件系统。引导逻辑卷有内核、一个RAM文件系统和基本用户设备信息组成。

(5)控制权移交给在RAM文件系统中开始系统初始化的内核。

(6)系统初始化的内核运行Init程序(其进程号为1),init进程继续去执行rc.boot脚本第一个引导阶段。

至此,结束了硬件检测阶段。

基本设备配置阶段:

到现在为止,系统已经完成硬件检测,找到BLV,建立起RAM文件系统,启动了RAM文件系统中的进程init,但是rootvg还没有被激活。从现在开始,MCA机器和PCI机器的引导过程完全相同。

rc.boot第一个引导阶段主要完成基本设备配置,它是由RAMFS上的init进程执行带1参数的rc.boot程序。这个阶段的工作过程如下:

RAMFS中PID为1的init进程 --->执行rc.boot的第1引导阶段----->执行cfgmgr -f 配置基本设备 ----->执行bootinfo -b 命令

rc.boot第一个引导阶段包括下面的步骤:

一、RAMFS(RAM文件系统)中的init进程执行引导脚本rc.boot 1.在这个过程中,rc.boot程序调用restbase命令,把引导逻辑卷上简单的ODM数据库复制到RAMFS。如果这个操作失败,则会在LED上显示548;

二、然后rc.boot程序执行cfgmgr -f命令,让cfgmgr从简化的ODM数据库中读取Config_Rules类。在congfig_rules类中,属性phase为1的设备被认为是基本设备,基本设备是为访问rootvg所需的全部设备。rc.boot1 这个阶段执行cfgmgr命令来配置基本设备,以方便在下一个rc,boot阶段能够激活rootvg;

三、在rc.boot第一个引导阶段最后,执行bootinfo -b命令来检测最后一次引导设备,这时LED显示511;

rc.boot第二个引导阶段

RAMFS中的进程init接着执行带2的参数的rc.boot程序,进入到rc.boot的第二个引导阶段,这个阶段的工作过程如下:

执行ilp_varyon命令来激活rootvg ----> 安装/dev/hd4文件系统 ----->安装/usr文件系统---->安装/var文件系统;执行/copycore命令;卸载/var文件系统----->执行swapon命令,以激活/dev/hd6----->执行mergedev命令把RAMFS中的/dev复制到磁盘----->用cp Cu* /mnt /etc/objrepos命令把RAMFS中的ODM复制到磁盘----->卸载/usr文件系统和/dev/hd4 ---->安装/文件系统;然后再安装/usr和/var文件系统---->把引导信息复制到alog中

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20212.html