分析openwrt系统初始化过程
发布时间
阅读量:
阅读量
openwrt固件完成启动后,系统将进入uboot环境,随后加载内核并启动init进程。值得注意的是,该init进程被集成于procd进程中,其对应的启动代码如下:
int
main(int argc, char **argv)
{
pid_t pid;
sigaction(SIGTERM, &sa_shutdown, NULL);
sigaction(SIGUSR1, &sa_shutdown, NULL);
sigaction(SIGUSR2, &sa_shutdown, NULL);
early();//初始化根文件系统中的需要的文件和设置,early.c
cmdline(); //从proc/cmdline获取命令行启动参数
watchdog_init(1); //初始化watchdog, watchdog.c
pid = fork();
if (!pid) {
char *kmod[] = { "/sbin/kmodloader", "/etc/modules-boot.d/", NULL };
if (debug < 3) {
int fd = open("/dev/n
全部评论 (0)
还没有任何评论哟~
