Linux 开机流程分析

一) Linux的开机流程

 

【step 1】  加载BIOS硬件信息,寻找启动磁盘(Boot Disk);

 

【step 2】   读取MBR中的内核加载程序(Kernel Loader, 一般是LILO或者GRUB),这个程序的作用就是加载存储在某个位置的操作系统内核;

 

【step 3】  加载操作系统核心Kernel。内核的主要工作就是检测所有的硬件设备,并为它们加载驱动程序。

 

     驱动程序有两种,即静态驱动程序(static driver)和动态驱动程序(dynamic driver)。前者以内核镜像文件的形式存在,后者则存储在文件系统上。此时,文件系统尚未挂载到系统中,所以只有静态驱动程序能被使用来驱动硬件设备。

     内核另一个任务是以只读方式挂载根文件系统。挂载根目录系统的过程请参看本文的第三部分。根文件系统必须包含如下几个目录,也就是说下面几个目录只能放在根目录下面:(1)/etc/;(2)/bin/;(3)/sbin/;(4)/lib/;(5)/dev/。如果这5个目录不在根目录下面,会导致系统启动失败。

     挂载了根文件系统后,系统就能安装适当的内核模块,启用某些功能,并且能调用之前所说的动态驱动程序来驱动默写硬件设备;系统还能启动存储于根文件系统中的init服务,以便让它来接受后续的启动工作。

 

【step 4】  Kernel执行进程/sbin/init,并取得默认的运行级别(run level),在Red Hat中,init从/etc/inittab中获取run level。

 

  【step 4.1 】init执行/etc/rc.d/rc.sysinit文件

      这个script的主要功能是进行Linux系统环境的配置,诸如界面文字字体、时间、系统记录等。这里实现的功能比较多,期间还要加载Linux系统的一些内置功能及变量,如PATH或umask。

  如:

   * 设置主机名

      if [ -f /etc/sysconfig/network ]; then
             . /etc/sysconfig/network
      fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值