OpenWrt 的 procd 如何以及何时在 etc/init.d 中运行 init 脚本?

问题描述

我在看一个静态的 OpenWrt 固件。 在 OpenWrt 初始化时,procd 应该运行 S 中所有带有 /etc/rc.d 前缀的脚本,这些脚本是指向 /etc/init.d 中实际脚本的链接。我想知道是谁触发了这些脚本...

我看到在 /etc/inittab 上有这一行 ::sysinit:/etc/init.d/rcS S boot/etc/init.d/rcS 文件不存在,所以谁实际在 /etc/rc.d 上运行脚本以及它何时发生在 init 上?

我尝试搜索他们的所有文档,但仍然无法弄清楚... 有什么想法吗?

谢谢。

解决方法

您好,openwrt 使用程序 procd 运行 /etc/init.d/* 来初始化所有系统。 openwrt的启动顺序是:

 /init - > /sbin/init -> /etc/preinit -> /sbin/procd -> /etc/rc.d/*

其实openwrt一直支持rcS,但是openwrt没有使用这个功能。