描述
OpenWrt是一个开放的linux平台,主要用于带wifi的无线路由上。类似于Ubuntu、Red Hat、之类的linux发行版本,它也有一套自己的启动流程。本文主要介绍了openwrt启动过程及详细分析。
1、概述
在linux的发展过程中,linux的启动程序也在发展,从sysv init到现在的upstart、systemd,通常该程序是进程号为1的进程,该程序在linux系统有着举足轻重的地方。在openwrt中,使用了另外一种启动程序叫做procd,本文的重点并不在于介绍procd,本文主要介绍并解析procd、preinit及各种脚本如何完成整个系统的初始化。
2、软件环境
Linux发行版:ubuntu14.04 LTS
Openwrt版本:barrier break 14.07 r42635 (linux kernel 3.10.49)
硬件:MPR-A2模块(rt5350)
在查看linux内核代码及根文件系统下的脚本之前,需要对openwrt进行配置,运行make menuconfig,在Target System中选择Ralink RT288x/RT3xxx,Subtarget中选择RT3x5x/RT5350based boards,Target Profile选择HAME MPR-A2,然后make完成openwrt的编译。打完patch的内核代码在build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_rt305x/目录下,根文件系统目录在build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/root-ramips/。