openwrt启动过程(脚本)

时间:2022-04-09 03:45:42

来源:  http://wiki.openwrt.org/doc/techref/preinit_mount#first.boot

基本的openwrt启动顺序为:

  1、boot loader loads kernel

boot loader 加载内核

2、kernel loads whilst scaning the mtd partition rootfs for a valid superblock for mounting the SquashFS partition (which contains /etc). More info at technical.details

内核加载同时扫描mtd分区rootfs,查找一个有效的超级块区用来存放squashfs分区(这个分区中包含了/etc目录)

  3、kernel calls /etc/preinit (the kernel considers this to be the init (or root) process

内核调用/etc/preinit

    4、/etc/preinit prepares system for multiuser mode

/etc/preinit为系统准备好多用户模式

    5、/etc/preinit exec/sbin/init which becomes the init (or root) process and launches multiuser

/etc/preinit 执行/sbin/init(/sbin/init变为起始进程)

    6、/sbin/init launches processes according to /etc/inittab.

/sbin/init顺序执行/etc/inittab中的进程

7、Typically the first process launched is /etc/init.d/rcS which causes the scripts in /etc/rc.d which begin with 'S' to be launched (in glob sort order). The /etc/rc.d directory is populated with symlinks to the scripts in /etc/init.d. Each script in /etc/init.d accepts enable and disable arguments for creating and removing the symlinks.

执行顺序是按照/etc/iit.d/rcS中以“S”开头的后面跟的数字顺序。 /etc/rc.d是/etc/init.d的链接文件。

8、These script initialize the system and also initialize daemons that wait for input, so that when all the scripts have executed the normal system is active. On first boot this initializing includes the process of preparing the root filesystem for use.