文档章节

Linux系统启动流程

柳白子
 柳白子
发布于 2016/09/29 16:29
字数 554
阅读 12
收藏 1

power on
    BIOS
        1、首先检测外围设备
2、其次检测启动设备
3、最后读取与执行启动设备的第一个扇区
     HD
        读取硬盘上的第0道第一个扇区(MBR)
    Bootloader
        
        1、初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境
带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。
        2、Bootloader 常用的引导工具为grub , lilo
    Lilo|grub
        1、GRUB是引导装入器,负责装入内核并引导Linux系统。被广泛的用于替代LILO
        2 、支持在启动时使用命令行模式,MD5加密保护,可以从ext2/ext3 、
ReiseFS、JFS、FAT、minix及FFS文件系统启动
        3、配置文件为/boot/grub/grub.conf
    KERNEL  BOOT
        1、检测硬件设备
        2、设备驱动初始化
        3、访问initrd.img取得与启动相关的驱动
        4、将根分区以只读方式挂载
        5、载入初始进程(一般是init)
    init
        内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,启动启动第一个用户级程序INIT(INIT的进程编号始终为1)
            /etc/inittab  
                <定义了7个运行级别>
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
            /etc/rc.d/rc.sysinit
                Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,
包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动
swap分区、设定/proc等等。
            /etc/rc.d/rcX.d  
                根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务
    /etc/rc.d/rc.local
        rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。
    getty & login
    bash
     完成启动

© 著作权归作者所有

共有 人打赏支持
柳白子
粉丝 8
博文 118
码字总数 137799
作品 0
成都
私信 提问
Android Audio BSP工程师 需要清楚的基本知识点

原址 【前言】 这是我根据自己的工作经验所总结,有一定代表性,但可能不齐全。这只是个提纲。 【知识点】 按照在操作系统中的层次划分,从上到下依次为: 1、Android系统分层模型。知道 AP...

u010164190
2018/05/30
0
0
#23 centos5(RHEL)系列操作系统的启动流程、与命令mkinitrd、dracut的使用

centos(RHEL)系列操作系统的启动流程:Intel x86兼容架构; Linux的系统组成:内核 + 应用程序 GUN/Linux:单纯的指Linux内核; 从硬盘存储和启动操作系统的角度: Linux的系统组成:内核 ...

谁等了谁
2018/06/26
0
0
SUSE12公开课,第1期

2015年SUSE公开课日程: 第一期计划定于:2015年01月30日下午,内容为 “深入Linux启动流程 + systemd管理实践” 第二期计划定于:2015年02月13日下午,内容为 “Linux批量部署 + Brtfs文件系...

萧少聪Scott
2015/01/22
265
0
SUSE12公开课,第1期

2015年SUSE公开课日程: 第一期计划定于:2015年01月30日下午,内容为 “深入Linux启动流程 + systemd管理实践” 第二期计划定于:2015年02月13日下午,内容为 “Linux批量部署 + Brtfs文件系...

萧少聪Scott
2015/01/22
0
0
Android基础之Android系统启动

Android系统的启动操作流程由Linux系统启动与Android应用系统启动两个阶段组成。 Linux系统启动 Android操作系统启动次序分别为系统上电,Bootloader引导,Linux内核启动,init初始化系统服务...

柳哥
2014/11/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux 服务管理 Crontba、Ntpdate、Logrotate、Supervisor

crond linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。 另外, 由于使用者自己也可以设置计划任务,所以,...

狼王黄师傅
36分钟前
1
0
Sobel算子和Scharr滤波器

Sobel算子在数学上的本质是微分,对离散信号,是求邻域内的增量。 基本原理:在图像上,对图像信号在某点进行微分,表示图像的某个特征(如,强度、色调或者饱和度)在该点的变换程度。以强度...

yepanl
53分钟前
1
0
Jenkins API 使用

Jenkins 是一款流行的开源持续集成工具,可以用来做一些软件开发的自动化工作,如打包,测试,自动部署等。 Jenkins 中有 view 和 job 的概念, view 相当于组, job 则是具体的任务。 view...

YanWen
54分钟前
5
0
聊聊jest的NodeChecker

序 本文主要研究一下jest的NodeChecker NodeChecker jest-common-6.3.1-sources.jar!/io/searchbox/client/config/discovery/NodeChecker.java public class NodeChecker extends AbstractS......

go4it
今天
3
0
深入分析String.intern和String常量的实现原理

背景 字符串类型在实际应用场景中使用非常频繁,如果为每个字符串常量都生成一个对应的String对象,明显会造成内存的浪费,针对这一问题,虚拟机实现一个字符串常量池的概念,提供了如下实现...

群星纪元
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部