当按键时,则触发button_hotplug_event函数(gpio-button-hotplug.c):调用button_hotplug_create_event产生uevent事件,调用button_hotplug_fill_even填充事件(JSON格式),并最终调用broadcast_uevent发出uevent广播信息,后由内核netlink_br...
使用脚本,添加到/etc/hotplug.d/: if["$ACTION"="ifup"-a"$INTERFACE"="wan6"];thenip-6 routeadd`ip-6 route show default|sed-n -e's/default from //' -e 's/ via .*$//g' -e '/64$/p'`dev br-lan metric128#根据默认路由获取ipv6网段前缀,添加指向br-lan,metric(跃点数)128比原来...
调用button_hotplug_create_event产生uevent事件,调用button_hotplug_fill_event填充事件(JSON格式),并最终调用button_hotplug_work发出uevent广播。 上述广播,被守护进程procd中的hotplug_handler (procd/plug/hotplug.c)收到,并根据etc/hotplug.json中预先定义的JSON内容匹配条件,定位到对应的执行函数,具体如下所示,命中...
这样坑爹的网关,在转发 NAT 包的时候会有问题,需要把去掉from 2402:f000:x:x::/64这一部分的以后的默认路由添加到路由表中。可以新建一个/etc/hotplug.d/iface/99-ipv6,它的内容是 # WinSCP #!/bin/sh [ "$ACTION" = ifup ] || exit 0 iface=wan [ -z "$iface" -o "$INTERFACE" = "$iface...
/sbin/kmodloader--启动kmodloader加载/etc/modules-boot.d/里面的module。 waitpid--循环等待kmodloader结束。 uloop_init--用于初始化事件循环的函数。负责处理定时器、信号、socket 事件等。 preinit execvp--启动/sbin/procd。在procd中,启动一个hotplug程序,配置文件为/etc/hotplug-preinit.json。
openwrt编译目录为:package/network/config/netifd1. Shell脚本:/sbin/ifup,/sbin/ifdown(link to ifup),/sbin/ifstatus,/sbin/devstatus2. init.d脚本:/etc/init.d/network3. hotplug2脚本:/etc/hotplug.d/iface/00-netstate,/etc/hotplug.d/iface/10-sysctl4. udhcpc脚本:/usr/share/udhcpc/default.script...
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设备,如下: ...
建立文件/etc/hotplug.d/iface/30-update3322,并且可执行,内容如下: # cat /etc/hotplug.d/iface/30-update3322 NAME=wget CONFIG=ddns COMMAND=/usr/bin/$NAME [ "$ACTION" = "ifup" -a "$INTERFACE" = "wan" ] && { [ -x $COMMAND ] && [ -r /etc/config/$CONFIG ] && { ...
$(INSTALL_DIR) $(1)/etc/hotplug.d/ntp $(INSTALL_DIR) $(1)/etc/hotplug.d/tftp $(INSTALL_DATA) ./files/dnsmasqsec.hotplug $(1)/etc/hotplug.d/ntp/25-dnsmasqsec $(INSTALL_DIR) $(1)/usr/share/dnsmasq $(INSTALL_CONF) ./files/dhcpbogushostname.conf $(1)/usr/share/dnsmasq/ $(INS...
重启之后,需要重新添加网关,如果要做到路由器开机自动添加该网关,可以在/etc/hotplug.d/iface/下新建一个文件90-ipv6,给予可执行权限,内容为(注意替换为自己的网关地址) #!/bin/sh[ "$ACTION" = ifup ] || exit 0 route -A inet6 add default gw 2001:1234:1234:1234::1...