Linux
文件系统的初始化
步骤 系统初始化
启动过程
一般来说,Linux系统中有两种不同的初始化
方法。
1)BSD系统初始化
2)系统初始化
大部分的分配套房使用init类似系统启动的Linux,这是系统启动,这比传统的BSD系统启动变得更容易、更灵活。
系统启动的主要思想是定义不同的级别。
配置文件/ etc / inittab定义系统启动
运行水平,做什么当你进入或切换到运行级别。每个运行级别对应的子
目录 / /钢筋混凝土D等。 / RCX D.
每个RCX。D目录是一个链接到一个文件,从S或K这些链接
脚本可以得到启动和停止的
参数,在开始的链接将启动参数,通常打开一个
服务,K将停止参数,通常停止服务。
下面是一个粗略的系统init初始化过程:
(1)init
进程执行的第一个脚本 / / RC等。D / rc.sysinit中,主要将在每一个
操作层面,包括启动开关
检查磁盘,分区,
设置主机名、检查和
安装文件系统,加载和初始化
硬件模块。
(2)
默认的运行级别
模式执行。这一步的内容主要体现在/ etc / inittab。inittab文件会告诉它什么级别的操作将进入,和在哪里可以找到运行级别的配置文件。
(3)执行 / / RC等。D/rc.local脚本文件。这也是最后一个脚本文件在初始化过程中执行的,所以
用户可以添加一些
命令之前需要
登录执行。
(4)执行登录
程序 注:
系统启动是一个模式,每个系统的初始化是不同的,但总的来说没有多大的
区别,BusyBox实行的是 /等/初始化第一启动脚本。D / RCS,这是不能改变的,不像上面。
LFS文件系统初始化实例
Inittab文件
从下面的内容中可以看出,第一个执行文件是。传递给文件的参数是一个数字。RC将合成的RCX的
路径。D目录从来电号码,然后执行所有脚本的链接。当然,这只是部分的
功能。
#开始 / / inittab等
编号:3:initdefault:
Si::sysinit: / / RC等。D / init. d / RC sysinit #可以设置初始化脚本
l0:0:
等待: / / RC等。D / D / RC 0的初始化。
L1:S1:等待:1
l2:2:等待: / / RC等。D / D / RC 2的初始化。
…
Ca:12345:ctrlaltdel: / sbin /
关机- T1 - R现在
苏:S016:一旦: / / sbin sulogin
1:2345:重生: / / sbin agetty tty1 9600
2:2345:重生: / / sbin agetty tty2 9600
…
#端 / / inittab等
etc目录结构
这只是其中的一部分。
。
只是fstab
只要能让
只是inputrc
只是轮廓
只是钢筋混凝土。
我们已经初始化了。
我们进行的只是checkfs
我们进行的只是cleanfs
…
我们只执行模块
我们进行的只是mountfs
我们进行的只是mountkernfs
我们只执行
网络 我们进行了钢筋混凝土#时启动,运行。
我们只是
重新启动 …
我们有之。D
我们进行的只是k80network -> .. / /网络D的初始化。
我们进行的只是k90sysklogd -> .. / / sysklogd D初始化。
我们进行的只是s60sendsignals -> .. / /
信号D初始化。
我们进行的只是s70mountfs -> .. / / mountfs D初始化。
我们进行的只是s80swap -> .. / /交换D初始化。
我们进行的只是s90localnet -> .. / / localnet D初始化。
我们进行s99halt -> .. / /停止D初始化。
我们有RC1。D
我们进行的只是k80network -> .. / /网络D的初始化。
我们进行k90sysklogd -> .. / / sysklogd D初始化。
我们有RC2。D
我们进行的只是k80network -> .. / /网络D的初始化。
我们进行k90sysklogd -> .. / / sysklogd D初始化。
我们有3。D
我们进行的只是s10sysklogd -> .. / / sysklogd D初始化。
我们进行s20network -> .. / D /网络初始化。
我们有4。D
我们进行的只是s10sysklogd -> .. / / sysklogd D初始化。
我们进行s20network -> .. / D /网络初始化。
我们有RC5。D
我们进行的只是s10sysklogd -> .. / / sysklogd D初始化。
我们进行s20network -> .. / D /网络初始化。
我们有6。D
我们进行的只是k80network -> .. / /网络D的初始化。
我们进行的只是k90sysklogd -> .. / / sysklogd D初始化。
我们进行的只是s60sendsignals -> .. / /信号D初始化。
我们进行的只是s70mountfs -> .. / / mountfs D初始化。
我们进行的只是s80swap -> .. / /交换D初始化。
我们进行的只是s90localnet -> .. / / localnet D初始化。
我们进行s99reboot -> .. / /重新初始化。D
D,rcsysinit。
我们有s00mountkernfs -> .. / / mountkernfs D初始化。
我们有s02consolelog -> .. / / consolelog D初始化。
我们有s05modules -> .. / /模块的初始化。D
…
只是udev
我们有规则。
我们进行55-lfs.rules
,udev.conf
- vimrc
网络脚本
# /斌/ SH!
/ / / RC sysconfig等
rc_functions $ { }
/etc/sysconfig/network
中的$ { 1 }
开始)
开始的所有网络接口#
文件$ { network_devices } / ifconfig *。
做
接口= {文件#美元# * / ifconfig。}
如果#跳过文件*(因为没有找到)
如果{接口}}
然后
继续
FI
in_boot = 1美元network_devices } { } {接口美元/下
多恩
;;
停止)
#反向列表
文件
文件$ { network_devices } / ifconfig *。
做
文件
多恩
停止所有的网络接口#
对于文件在$ } }
做
接口= {文件#美元# * / ifconfig。}
如果#跳过文件*(因为没有找到)
如果{接口}}
然后
继续
FI
in_boot = 1美元network_devices } { } {接口美元/下
多恩
;;
重新启动)
{ 0 }停止
1睡眠
$ { 0 }开始
;;
*)
回声用法:$ { 0 } {开始|停止|
重启}
1号出口
;;
ESAC
#端 / / RC等。D / D /网络初始化。