因为我们基于贵公司的板子开发,所以关于这个问题还需要和版主讨论明白,便于二次开发。
在很早的时候,kernel 使用 RAM Disk, kernel 会在 RAM Disk 中寻找 linuxrc。执行完linuxrc 后,返回内核空间init进程,init进程再依次去寻找 /sbin/init, ,.. 等等。
但是,后来,使用了 RAM FS, kernel 会在 ramfs 的根目录下寻找 init, 然后 init 继续一系列的工作,包括最后 execve /sbin/init 等,一旦执行了这个init, 系统不再返回内核空间。
但是看贵公司的内核的配置中,CONFIG_BLK_DEV_RAM 是没有设置的,那么说明没有使用 RAM Disk,而是使用了 RAM FS,看到 FriendlyARM.ini 中,指定了 init=/linuxrc, 但是如果移植 iinit 系统也会报错找不到 init。所以猜测是 linuxrc 调用了 init, 但是由于你们的linuxrc没有源码,所以请版主帮助解答一下。
谢谢!