OpenWRT procd启动过程了解


    init和procd进程都来源于procd程序编译(busybox的没有编译)
    init最终会通过execv执行procd,这样procd就直接代替了init进程
    procd会调用解释/etc/inittab文件并执行初始化动作,其中最重要的一步是sysinit(::sysinit:/etc/init.d/rcS S boot)
    sysinit内部实现最终会依次调用/etc/rc.d/*下的脚本
    S00sysfixtime:处理系统墙上时间
    S00wifi_fw_mount:WIFI_FW挂载
    S08boot-ftm:wifi工厂测试模式
    S10boot:最重要的初始化文件,主要的工作再细分为 - 
        文件系统挂载、基本目录创建
        内核模块加载
        默认配置文件/etc/config/*创建 - (通过/etc/uci-defaults/*目录下的脚本创建【其中最重要的脚本之一在/lib/functions/uci-defaults.sh】,只做一次)
        reload_config通过对比配置文件md5值触发配置重新生效 - reload通过ubus直接与procd通信,procd接收到后会实现生效部分
    S15qca-hostapd、S15qca-wpa-supplicant启动wifi相关进程
    S19firewall防火墙加载
    ...
    本身这些脚本文件都各自设置了一些特殊的环境变量,用于标识是否由procd统一管理、以及触发器的注册等,这些比较复杂,后续再逐一的进行了解

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值