在Linux系统启动过程中,/Linuxrc、/etc/init.d/rcS、/etc/init.d/rc.local、/etc/init.d/profile这几个文件会依次加载,从而完成系统的初始化、设定一些必要信息、执行用户的自启动脚本等工作。
-
/Linuxrc
执行/sbin/init进程初始化文件。
主要工作是把已安装根文件系统中的/etc 挂载为ramfs,并拷贝/mnt/etc/目录下所有文件到/etc,这里存放系统启动后的许多特殊文件;
接着Linuxrc重新构建文件分配表inittab;
之后执行系统初始化进程/sbin/init。
注意/Linuxrc这个文件不是系统必须的;
如果系统中没有这个文件的话,则默认首先运行/sbin/init,且其他的功能可在/etc/rcS文件中实现。 -
/etc/init.d/rcS
这个文件基本上是系统必须的文件。
它依次序执行文件中的命令,主要完成各个文件系统的mount,再执行/usr/etc/rc.local;
rcS执行完以后,init就会在一个console上按照inittab的指示开一个shell,或者是开getty+login,这样用户就会看到提示输入用户名的提示符。
下图为基于AM3517嵌入式Linux系统的/etc/rcS文件的部分内容:
完成文件系统的mount之后,可以通过命令设置用户名、配置网络、执行其他初始化文件、更改系统目录权限等,另外也可以不调用rc.local而直接调用profile文件完成系统环境变量的设置。