Linux操作系统根文件系统的启动分析

2019-04-26 08:23:56来源:华彩软件站 阅读 ()

新老客户大回馈,云服务器低至5折

一般的系统是先启动/sbin/init,但是也可通过启动参数指定init=来确定,如:我的系统就是制定的init=/linuxrc,因为文件系统是采用busybox的,而linuxrc。也是一个指向busybox的文件,不过不确认它指向具体哪个指令。不过可能是/sbin/init。





init进程的主要任务是按照inittab文件所提供的信息创建进程,由于进行系统初始化的那些进程都由init创建,所以init进程也称为系统初始化进程。





如我的inittab:



::sysinit:/etc/init.d/rcS



::respawn:-/bin/login



::restart:/sbin/init





::ctrlaltdel:/bin/reboot



::shutdown:/bin/umount -a -r



::shutdown:/sbin/swapoff -a





inittab的格式如下:



id:rstate:action:process





1.id字段是最多4个字符的字符串,用来唯一标志表项。





2.rstate(run state)字段定义该记录项被调用时的运行级别,rstate可以由一个或多个运行级别构成,也可以是空,空则代表运行级别0~6。当请求init改变运行级别时,那些rstate字段中不包括新运行级别的进程将收到SIGTERM警告信号,并且最后被杀死;只有a、b、c启动的命令外(a、b、c不是真正的运行级别)





3.action字段定义了该进程应该运行在何种状态下:





boot 在系统启动时运行,忽略runlevel



bootwait 在系统启动时运行,init等待进程完成。忽略runlevel



ctrlaltdel 当Ctrl+Alt+Del三个键同时按下时运行,把SIGINT信号发送给init。忽略 runlevel



initdefault 不要执行这个进程,它用于设置默认runlevel



kbrequest 当init从键盘中收到信号时运行。这里要求键盘组合符合KeyBoardSigral(参见/usr/share/doc/kbd-*关于键盘组合的文档)



off 禁止进入,因此该进程不运行



once 每一个runlevel级别运行一次



ondemand 当系统指定特定的运行级别A、B、C时运行



powerfail 当init收到SIGPWR信号时运行



powerokwait 当收到SIGPWD信号且/etc/文件中的电源状态包含OK时运行



powerwait 当收到SIGPWD信号,并且init等待进程结束时运行



respawn 不管何时终止都重新启动进程



sysinit 在运行boot或bootwait进程之前运行



wait 运行进程等待输入运行模式



process 字段包含init执行的进程,该进程采用的格式与在命令行下运行该进程的格式一样,





因此process字段都以该进程的名字开头,紧跟着是运行时,紧跟着是运行时要传递给该进程的参数。





比如/sbin/shutdown -t3 -r now,该进程在按下Ctrl+Alt+Del时执行,在命令行下也可以直接输入来重新启动系统。





4.Process字段中进程可以是任意的守候进程、可执行脚本或程序。





另外:在任何时候,可以在文件inittab中添加新的记录项,级别Q/q不改变当前的运行级别,重新检查inittab文件,可以通过命令init Q或init q使init进程立即重新读取并处理文件inittab.





他会先执行/etc/init.d/rcS



#! /bin/sh





/bin/mount -a



mdev -s





而mount -a会执行/etc/fstab



proc /proc proc defaults 0 0



none /tmp ramfs defaults 0 0



mdev /dev ramfs defaults 0 0



sysfs /sys sysfs defaults 0 0





挂载一些ramfs。

 


原文链接:http://www.huacolor.com/article/31698.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Windows下删除文件没有权限解决方法

下一篇:破解Linux的root密码方法|如何破解Linux的root密码