由于默认的内核命令行上有 init=/linuxrc, 因此,在文件系统被挂载后,运行的第一个程
序是根目录下的 linuxrc。 这是一个指向/bin/busybox 的链接,也就是说,系统起来后运行的
第一个程序也就是 busybox 本身。
这种情况下,busybox 首先将试图解析/etc/inittab 来获取进一步的初始化配置信息(参
考 busybox 源代码 init/init.c 中的 parse_inittab()函数)。而事实上,root_qtopia 中并没有/et
c/inittab 这个配置文件,根据 busybox 的逻辑,它将生成默认的配置。
根据busybox 源代码 init/init.c 中的 parse_inittab()函数分析,其中,最重要的一个,就是 new_init_action(SYSINIT, INIT_SCRIPT, “”),也就决定了接下去初始化的脚本是 INIT_SCRIPT
所定义的值。这个宏的默认值是"/etc/init.d/rcS".接着执行/etc/init.d/rcS 。
/linuxrc ->busybox 源代码 init/init.c ->/etc/init.d/rcS ,执行完成后Linux系统环境就初始化好了。