下载busybox
解压busybox
查看busybox内容
init程序
概述
busybox中最重要的程序是init。
init进程是由内核启动的第一个,也是唯一一个用户进程,进程ID为1。
init进程根据配置文件决定启动哪些程序。
init进程是后续所有进程的发起者,例如:init进程启动/bin/sh程序后,才能在控制台输入各种命令。
Linux内核如何启动init进程
代码在/usr/src/linux/init/main.c中。如下所示
一旦try_to_init_process运行创建进程成功,它将不会返回,而是通过操作内核栈进入用户空间。
上述并不是运行了四个init进程,而是根据优先级,一旦某一个运行成功,就不往下继续执行了。
busybox中的init程序
代码在./init/init.c中,如下所示。