ChuannBlog

linux入门

启动

linux启动分五步

1.内核的引导

  1. 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
  2. 紧接着由启动设备上的grub程序开始引导linux,
  3. 当引导程序成功完成引导任务后,
  4. Linux从它们手中接管了CPU的控制权,然后CPU就开始执行Linux的核心映象代码,开始了Linux启动过程。
  5. 也就是所谓的内核引导开始了,在内核引导过程中其实是很复杂的,我们就当它是一个黑匣子,反正是linux内核做了一系列工作,最后内核调用加载了init程序,至此内核引导的工作就完成了。

2. 运行init

  1. init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。
  2. init 程序首先是需要读取配置文件 /etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。
  3. (你可以在你的linux上执行命令 cat /etc/inittab 这样获得)

     # inittab       This file describes how the INIT process should set up
     #               the system in a certain run-level.
     #
     # Author:       Miquel van Smoorenburg,
     #               Modified for RHS Linux by Marc Ewing and Donnie Barnes
     #
     # Default runlevel. The runlevels used by RHS are:
     #   0 - halt (Do NOT set initdefault to this)
     #   1 - Single user mode
     #   2 - Multiuser, without NFS (The same as 3, if you do not havenetworking)
     #   3 - Full multiuser mode
     #   4 - unused
     #   5 - X11
     #   6 - reboot (Do NOT set initdefault to this)
     #
     ###表示当前缺省运行级别为5(initdefault);
     id:5:initdefault:
     ###启动时自动执行/etc/rc.d/rc.sysinit脚本(sysinit)
     # System initialization.
     si::sysinit:/etc/rc.d/rc.sysinit
     l0:0:wait:/etc/rc.d/rc 0
     l1:1:wait:/etc/rc.d/rc 1
     l2:2:wait:/etc/rc.d/rc 2
     l3:3:wait:/etc/rc.d/rc 3
     l4:4:wait:/etc/rc.d/rc 4
     ###当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,init将等待其返回(wait)
     l5:5:wait:/etc/rc.d/rc 5
     l6:6:wait:/etc/rc.d/rc 6
     ###在启动过程中允许按CTRL-ALT-DELETE重启系统
     # Trap CTRL-ALT-DELETE
     ca::ctrlaltdel:/sbin/shutdown -t3 -r now
     # When our UPS tells us power has failed, assume we have a few minutes
     # of power left.  Schedule a shutdown for 2 minutes from now.
     # This does, of course, assume you have powerd installed and your
     # UPS connected and working correctly.
     pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
     # If power was restored before the shutdown kicked in, cancel it.
     pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
     ###在2、3、4、5级别上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,
     ###如果进程退出则再次运行mingetty程序(respawn)
     # Run gettys in standard runlevels
     1:2345:respawn:/sbin/mingetty tty1
     2:2345:respawn:/sbin/mingetty tty2
     3:2345:respawn:/sbin/mingetty tty3
     4:2345:respawn:/sbin/mingetty tty4
     5:2345:respawn:/sbin/mingetty tty5
     6:2345:respawn:/sbin/mingetty tty6
     ###在5级别上运行xdm程序,提供xdm图形方式登录界面,并在退出时重新执行(respawn)
     # Run xdm in runlevel 5
     x:5:respawn:/etc/X11/prefdm -nodaemon
    

Tips: 如果你看不懂这个文件,没有关系,随着你对linux的深入了解,你再回过头看这个文件你就会豁然开朗的。但是你现在必须要明白runlevel的各个级别的含义。

3. 系统初始化

4. 建立终端

5. 用户登陆系统