如何初始化Linux文件系统

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初始化。


We had S05modules - >../init.d/modules





只是udev


我们有规则。D


我们进行55-lfs.rules


, udev.conf


- vimrc


网络脚本


# /斌/ SH!


/ / / RC sysconfig等


rc_functions $ { }


/ / sysconfig /网络等


中的$ { 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 /网络初始化。