电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

根文件系统_rcS

根文件系统_rcS_第1页
1/8
根文件系统_rcS_第2页
2/8
根文件系统_rcS_第3页
3/8
由于 init=/linuxrc,因此,在文件系统挂载后,运行的第一个程序就是根目录下的 linuxrc,而这是一个指向/bin/busybox 的链接,也就是说,系统起来后运行的第一个程序就是busybox 本身。 busybox首先将试图解析/etc/inittab来获取进一步的初始化配置信息(参考 busybox源代码 init/init.c 中的 parse_inittab()函数)。而事实上,root_qtopia 中并没有/etc/inittab 这个配置文件,根据 busybox的裸机,它将生成默认的配置。其中最重要的一个,就是new_init_action(SYSINIT,INIT_SCRIPT,""), 也 就 决 定 了 接 下 来 初 始 化 的 脚 本 是INIT_SCRIPT 所定义的值,这个宏的默认值是"etc/init.d/rcS"。 下面是文件系统中/etc/init.d/rcS 的内容,也是我们要分析的重点1.PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:2.runlevel=S3.prevlevel=N4.umask 0225.export PATH runlevel prevlevel##为启动环境设置必要的环境变量;1./bin/hostname FriendlyARM##设置机器名字;1./bin/mount -n -t proc none /proc2./bin/mount -n -t sysfs none /sys3./bin/mount -n -t usbfs none /proc/bus/usb4./bin/mount -t ramfs none /dev##挂载"虚拟"文件系统"/proc"和"/sys",并且在/dev 目录下挂载一个 ramfs,相当于把原本nandflash 上的只读的/dev 目录"覆盖"上一块可写的空的 SDRAM。##这里要注意的是,/sys 和挂载了 ramfs 的/dev 是正确创建设备节点的关键。对于 2.6.29内核来说,已经没有 devfs 的支持,创建设备节点只有通过两种办法由文件系统完成:1)制作文件系统镜像前用 mknod 手动创建好系统所有的(包括可能有的)设备节点,并把这些节点文件一起做进文件系统镜像中;2)在文件系统初始化过程中,通过/sys 目录所输出的信息,在/dev 目录下动态的创建系统中当前实际有的设备节点。 显然,方法 1)有很大的局限性,仅限于没有设备动态增加或减少的情况,不适用于很多设备热插拔的情况,比如 U 盘,SD 卡等等。方法 2)是目前大多数 PC 上的 linux的做法(基于 udev 实现)。这种方法有 2 个前提:/sy s 目录挂载和一个可写的/dev 目录。这也就是为什么我们这里需要挂载/sys 和 ramfs 在/dev 目录上,事实上,这种方法最早就是为热插拔设计的,你可以理解为当系统启动时,所有设备一下子全部"插入"了进来。 这里有一点要说明的是,在文件系统初...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

根文件系统_rcS

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部