u-boot启动内核,内核启动应用程序。第1个应用程序就是init。
BusyBox就是许多命令的集合如ls、cd等。
你可以使用如下命令方式来验证
还有init也是busybox的链接
init程序:
0) 打开/dev/console。标准输入标准输出标准错误
1)执行第一个应用程序init(要么是命令行参数指定uboot参数init = linuxrc 要么是/sbin/init)
2)读取配置文件-inittab(指定后续运行的应用程序)
3)解析配置文件
4)根据配置文件启动执行用户的程序
配置文件inittab文件(/etc/inittab)
格式<id>:<runlevels>:<action>:<process>
id => /dev/id:用作终端,表示进程要用的控制台(标准输入输出错误)
actions:指定何时执行
process:要执行的程序,可以是可执行程序或是脚本
最小根文件系统:
/dev/console
/sbin/init 启动应用程序,也来源busybox
/etc/inittab 配置文件(定义应用程序
/etc/inittab配置文件指定的应用程序
C库 因为正常应用程序中的printf\scanf。
子目录makefile:
obj-y += xxx.o //xxx.c最后会编译进内核
obj-m += yyy.o //编译成加载模块
vmlinux = 真正的内核
uImage = 包头 + vmlinux
顶层Makefile包含了/arch/${ARCH}/Makefile。而uImage是在/arch/${ARCH}/Makefile 文件中