OpenWrt inittab
OpenWrt 启动时会执行 rc.d/ 下的脚本. 这篇文章 介绍了启动脚本里的规则.
K50dropbear -> ../init.d/dropbear
K85odhcpd -> ../init.d/odhcpd
K89log -> ../init.d/log
K90network -> ../init.d/network
K98boot -> ../init.d/boot
K99umount -> ../init.d/umount
S00sysfixtime -> ../init.d/sysfixtime
S10boot -> ../init.d/boot
S10system -> ../init.d/system
S11sysctl -> ../init.d/sysctl
S12log -> ../init.d/log
S19firewall -> ../init.d/firewall
S20network -> ../init.d/network
S35odhcpd -> ../init.d/odhcpd
S50cron -> ../init.d/cron
S50dropbear -> ../init.d/dropbear
S50qos -> ../init.d/qos
S50telnet -> ../init.d/telnet
S60dnsmasq -> ../init.d/dnsmasq
S80trelay -> ../init.d/trelay
S90qdmsg -> ../init.d/qdmsg
S95done -> ../init.d/done
S96led -> ../init.d/led
S98sysntpd -> ../init.d/sysntpd
- rc.d/ 下的脚本都是链接到 init.d/ 下的.
- S开头的表示在开机时执行, K开头的表示在关机时执行. 数字序号用来控制各脚本的执行的顺序.
- 脚本里 boot() 函数会在开机时默认被执行
- start_service()
boot() 函数在开机时默认被调用
procd 解析 /etc/inittab 文件. 该文件内容如下:
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
::askconsole:/bin/ash --login
- sysinit 指明启动初始化时, 在 procd 内针对它有相应的回调函数. 该函数到 /etc/rc.d/ 下找脚本执行.
- /etc/init.d/rcS 的本意是指明处理该过程的脚本. OpenWrt 中在 procd 中已经预设后处理函数为 rcS().
- S 表示找 /etc/rc.d/ 下面名字以 'S' 开头的脚本.
- boot 就是执行该脚本中时以 boot 为参数. 执行脚本中的 boot 函数.
同里, 也可以知道 shutdown 里的处理过程:
- 找 /etc/rc.d/ 下名字以 'K' 开头的脚本.
- 以 shutdown 为参数执行该脚本, 即执行脚本中的 shutdown 函数.
OpenWrt inittab的更多相关文章
- [转]Openwrt的Inittab
转来一篇关于启动的文章,特意收藏.http://see.sl088.com/wiki/Inittab 文件位于/etc/inittab编辑方法vi /etc/inittab初始内容::sysinit: ...
- openwrt 的 inittab
文件位于 /etc/inittab, 内容如下: root@hbg:/# cat /etc/inittab ::sysinit:/etc/init.d/rcS S boot::shutdown:/et ...
- OpenWrt启动过程分析
openwrt是通过一系列shell脚本进行启动流程的组织,下面是启动流程的提纲.如 果想详细了解启动的过程,则需要仔细走读脚本文件. 1. 在make menuconfig 选择target平台 B ...
- openwrt增加串口登录需要密码
https://wiki.openwrt.org/doc/howto/serial.console.password Openwrt 串口默认是没有密码的.Openwrt启动后,一个默认的密码将被启用 ...
- openwrt启动过程(脚本)
来源: http://wiki.openwrt.org/doc/techref/preinit_mount#first.boot 基本的openwrt启动顺序为: 1.boot loader loa ...
- OpenWrt启动过程分析+添加自启动脚本【转】
一.OpenWrt启动过程分析 转自: http://www.eehello.com/?post=107 总结一下OpenWrt的启动流程:1.CFE->2.linux->3./etc/p ...
- [转] openwrt关闭调试串口
转自: http://wiki.wrtnode.com/index.php?title=Release_UART/zh-cn 由于mt7620n只有一个UART lite接口,在原生的OpenWrt中 ...
- openwrt procd启动流程和脚本分析
Linux内核执行start_kernel函数时会调用kernel_init来启动init进程,流程如下图: graph LR A[start_kernel] -->B(rest_init) B ...
- openWRT自学---初始化过程和主要脚本的分析
参考文档: http://wiki.openwrt.org/doc/techref/process.boot http://blog.csdn.net/jk110333/article/details ...
随机推荐
- 设置vim配置文件使得tab为4个空格
1 set ts=4 2 set expandtab 3 set autoindent
- Android几秒后自动关闭dialog
代码改变世界 Android几秒后自动关闭dialog AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext()); b ...
- 【Luogu】P2324骑士精神(IDA*)
题目链接 当guess>limit-deep的时候return就好了. guess是估价函数,值为不在自己地盘上的骑士个数.limit是本次迭代阈值.deep是已经走了多少步. 这个优化是显然的 ...
- SPOJ LCS2 Longest Common Substring II ——后缀自动机
后缀自动机裸题 #include <cstdio> #include <cstring> #include <iostream> #include <algo ...
- gevent 使用踩坑
简单介绍 gevent 基本概念: 调度器: hub 上下文切换管理: switch 主循环: loop 协程: greenlet gevent 特性: ...
- Redis的持久化——RDB
前面说到redis的三大特性:缓存.分布式内存数据库.持久化,所以今天将为大家介绍redis的两种数据持久化技术RDB和AOF, 先介绍RDB吧. 一.RDB是什么? 1.RDB全称redis dat ...
- Spoj-DWARFLOG Manipulate Dwarfs
Manipulate Dwarfs In a small village beyond seven hills and seven seas, Snow White lives together wi ...
- request response session的常用方法
.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例. 序号 方 法 说 明 1 object ...
- java 数据库连接的几个步骤
Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@你的主 ...
- android开发里跳过的坑——camera调用setDisplayOrientation设置预览显示旋转无效
问题原因,在surfaceview没有设置给camera之前调用了,所以,这个方法一定要在camera.setPreviewDisplay(surfaceHolder)这个之后,启动相机预览之前调用.