美文网首页
Android Linux杂记 -2-启动过程

Android Linux杂记 -2-启动过程

作者: 珍惜Any | 来源:发表于2020-08-21 12:42 被阅读0次

    Linux的开机启动过程可以分为4个步骤:启动驱动器、启动内核、初始化过程、启动用户登录界面。每个步骤中所执行的操作。


    image.png

    1)用户开机启动PC电源,CPU开始运行,从地址编号0xFFFF0开始自动执行程序代码。这个地址通常是ROM BIOS中的地址。BIOS首先利用POST(PowerOnSelfTest,上电自检)程序来对内部各个设备进行检查,并按照BIOS中设置的启动设备进行启动。Linux系统将Grub分两段进行引导,第一段存储于硬盘MBR中,第二段放置于操作系统内核所在的分区上。Grub根据MBR中第一段找到存放有Grub菜单等信息的第二段,然后继续引导,使得Linux获得启动权。

    2)Linux进行内核的引导。主要完成磁盘引导、读取机器系统数据、实模式和保护模式的切换、加载数据段寄存器以及重置中断描述符表等操作。

    3)init内核启动。加载内核之后,内核执行的1号进程就是init进程。init进程首先读取配置文件inittab,完成一系列初始化任务,确定用户的登录模式以及运行级别。由系统服务初始化脚本sysinit将Linux主机信息读入Linux系统,包括默认路径、主机名称、网络信息等内容。同时根据运行级别执行相应级别下的init.d脚本,具体目录为/etc/rc.d/rcN.d,其中N代表不同的级别。最后执行rc.local文件,返回init程序。

    4)启动用户登录界面。init初始化结束后,启动mingetty,打开终端用户登录系统。用户登录成功后运行Shell脚本。至此Linux启动完成。

    相关文章

      网友评论

          本文标题:Android Linux杂记 -2-启动过程

          本文链接:https://www.haomeiwen.com/subject/vhsujktx.html