启动/init脚本,挂载tmpfs,并切换到/sbin/init运行。 启动/sbin/init,然后依次启动/etc/preinit和/sbin/procd。 如需要在/sbin/procd之前处理工作,需要在/lib/preinit按序号添加脚本。 /sbin/procd根据/etc/inittab执行,包括/etc/rc.d中的启动脚本。 在/etc/init.d中按照规则添加启动脚本,启动守护进程。 总体执...
openwrt hotplug cat /proc/sys/kernel/hotplug /sbin/hotplug cat /sbin/hotplug-call #!/bin/sh #Copyright (C) 2006-2010 OpenWrt.org export HOTPLUG_TYPE="$1" . /lib/functions.sh PATH=/usr/sbin:/usr/bin:/sbin:/bin LOGNAME=root USER=root export PATH LOGNAME USER export DEVICENAME="${DE...
3.网络检测添加LED闪烁(/sbin/hotplug-call) 3.1 zdetect网络检测模块 在zrouter/zpackages/zihome/utils/zdetect/src/zdetect.c里面会发送hotplug event当网络变化的时候: static void inet_hotplug(const char* action) { char *argv[3]; int pid; pid = fork(); if (pid < 0) { dbg_printf(MSG_INF...
复杂的需要交给/sbin/hotplug-call来处理。 以下面的代码片段为例: [ "exec", "/sbin/hotplug-call", "tty" ] hotplug-call会遍历/etc/hotplug.d/tty文件夹。该文件夹中的脚本,一般以NN_XXX的方式命名。其中的NN为数字。hotplug-call会按照NN的大小,从小到大依次执行文件夹中的所有脚本。 U盘的热插拔处理 ...
1、OpenWrt启动过程分析推荐精选总结一下OpenWrt的启动流程:1.CFE-2.linux-3./etc/preinit-4./sbin/init -5./etc/inittab -6./etc/init.d/rcS-7./etc/rc.d/S* -8.OpenWrt是一个开放的linux平台,主要用于带wifi的无线路由上。类似于Ubuntu、Red Hat、之类的linux发行版本,它也有一套自己的启动流程...
[ "exec", "/sbin/hotplug-call", "tty" ] hotplug-call会遍历/etc/hotplug.d/tty文件夹。该文件夹中的脚本,一般以NN_XXX的方式命名。其中的NN为数字。hotplug-call会按照NN的大小,从小到大依次执行文件夹中的所有脚本。 U盘的热插拔处理 U盘驱动可分为两个层次: ...
HOTPLUG=/sbin/hotplug-call elif [ -x /sbin/hotplug2 ]; then mount -t tmpfs tmpfs /dev -o size=512K mknod /dev/console c 5 1 /sbin/hotplug2 --coldplug --set-rules-file /etc/hotplug2-init.rules /sbin/hotplug2 --no-coldplug --persistent --set-rules-file /etc/hotplug2 -init.rul...
1.gpio-button-hotplug(内核层发送hotplug到procd) gpio-button-hotplug为kernel的一个package,位于package/kernel/gpio-button-hotplug/ 要把CONFIG_PACKAGE_kmod-gpio-button-hotplug=y选项打开 1.1驱动 "gpio-keys"和"gpio-keys-polled"就是两个platform设备,如下: ...
这⾥我偷了个懒,直接将OpenWrt源代码中的package/kernel/gpio-button-hotplug复制到SDK的package⽂件夹下,岂料编译之后什么也没有⽣成。⽹上查了⼀下也没有找到什么办法,有的⽹页甚⾄说SDK不能⽤于编译内核模块。这⼀点让我很疑惑,因为普通的linux内核模块只需要linux-header就可以编译了,并不...
HOTPLUG=/sbin/hotplug-callelif [ -x /sbin/hotplug2 ]; then mount -t tmpfs tmpfs /dev -o size=512K mknod /dev/console c 5 1 /sbin/hotplug2 --coldplug --set-rules-file/etc/hotplug2-init.rules /sbin/hotplug2 --no-coldplug --persistent --set-rules-file/etc/hotplug2 -init.rules ...