分类: LINUX
2018-09-15 14:36:56
原文地址:文件系统中执行顺序 作者:embededgood
文件系统中执行顺序说明:
在文件系统中,配置文件主要存放在 /etc 目录里面。
开机从 /linuxrc 脚本运行的话需要在内核传递参数里设置 init="/linuxrc" ,因为默认是启动 /sbin/init 初始化脚本的。在我做的文件系统里采用这种方法,所以设置 init="/linuxrc" 。
由于内核编译的问题,注意自己选择的启动方式,选择/linux与默认的启动当然不同,所以要注意这一点。
如果不采用 linuxrc 的话就会执行 /sbin/init 脚本( busybox init ),它会去分析 /etc/inittab 脚本(如果没有的话就使用它默认的来代替,一般没必要自己为它编写这个脚本,用它默认的就行),
然后会执行 /etc/init.d/rcS 命令(在我制作的文件系统里就把配置都写入了这个文件)。
在rcS文件中将调用etc/fstab挂载相应文件,rcS完成后转回分析etc/inittab脚本,然后会执行/usr/etc/rc.local,在rc.local第一句将调用 /usr/etc/profile文件。
最后又回到/etc/inittab脚本去运行sbin/init后启动sh终端。
至于 rcS 、rc.local这个目录的编写主要是安排哪些目录挂载哪些次级文件系统,比如 /proc 要挂载 proc 文件系统、 /sys 要挂载 sysfs 、 /dev/shm 要挂载 tmpfs 、 /tmp 要挂载 ramfs 等等。
另外,可以在这个脚本里执行一些命令,比如设置 ip 地址、建立符号链接(我为 usb 设备的挂载特意建立了 /dev/sda1 的符号链接)、设置主机名等等。 Busybox init 还会调用 /etc/profile 来设置 PATH ,具体请看文件。