文章目录
1.背景介绍
BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。
busybox源码下载,可以制作根文件系统
https://busybox.net/downloads/
busybox版本:busybox-1.35.0.tar.bz2
tar -xvf busybox-1.35.0.tar.bz2
2.busybox总体介绍
uboot启动了内核,而根文件系统则作为内核与应用程序的桥梁存在,由内核启动:
1.解析etc配置文件等,启动应用程序;
2.启动shell界面,启动login用户登录;
3.指令的实现,包括ls pwd等等;
busybox的启动流程:
内核在最后会加载sbin/init应用程序,linuxrc 与sbin/init这两个的作用其实是一样的,一般使用busybox进行制作,即busybox里面的init_main函数,一般在使用中都是busybox的软链接。
加载etc/inittab文件,启动相应的应用程序,主要通过函数init_main进行实现,解析etc/inittab文件,进行账号登录,最终启动shell。源码分别为login_main 和ash_main(shell是可以通过配置文件选择的,这个是busybox默认的shell)