在做Openwrt中IPv6的过渡方案6in4的过程中,遇到了启动中的一些问题,加上 siaisjack 的文章 《OpenWrt启动过程分析+添加自启动脚本》 中的一些内容,重新整理一下。(本人菜鸟,欢迎批评指正)
启动流程预览
- CFE
- LINUX
- init相关
- /etc/preinit
- /sbin/init
- /etc/inittab
- /etc/rc.d/S*
CFE
引导内核启动的程序,即Common Firmware Environment,简称CFE,它是BroadCom公司专用的bootloader。其开发者为Mitch Lichtenberg。CFE是博通公司基于MIPS芯片的bootloader,就如同u-boot是启动内核的引导程序一样。CFE支持基本的设备访问,其设计理念是满足引导程序所具有的基本功能,如:Flash设备等存储设备的访问、基本的UI接口。(源自 百度百科)
它的任务只是创造一个简单的环境,让系统先运行起来。除了能够跳转到特定地址上启动操作系统(如Linux)外,它还能让你download东西到上面,比如download一个linux,然后启动它。另外,值得一提的是,CFE在启动之后会有1,2秒的时间等待由tftp上传的内核并烧写到flash上,这就给一些操作系统损坏但CFE还能工作的"砖头"板一个起死回生的机会。请注意一旦linux启动之后,将由linux全部接管系统。(siaisjack)
话不多说,看图:

本文详细解析Openwrt的启动过程,从CFE引导、Linux内核启动到init相关步骤,包括/etc/preinit、/sbin/init、/etc/inittab和/etc/rc.d/S*的执行。内容涵盖启动流程、内核参数查看以及自启动脚本的配置方法。

7492

被折叠的 条评论
为什么被折叠?



