OpenWRT学习总结

OpenWRT

启动过程

OpenWrt的启动流程:
1.Bootloader
2.linux
3./etc/preinit
4./sbin/init
5./etc/inittab
6./etc/init.d/rcS
7./etc/rc.d/S*
由于OpenWRT是一款基于Linux内核的操作系统,所以启动过程和其他Linux发行版操作系统类似:由uboot启动操作系统内核,其余步骤所有操作由内核来完成。

配置文件

/etc/config/dhcp 面向LAN口提供的IP地址分配服务配置
/etc/…/dropbear SSH服务配置
/etc/…/firewall 路由转发,端口转发,防火墙规则
/etc/…/network 自身网络接口配置
/etc/…/system 时间服务器时区配置
/tec/…/wireless 无线网络配置

在OpenWRT中配置文件的修改可以直接通过Vim编辑器来修改,也可以通过UCI来修改。
Openwrt管理这些配置文件有一种专门的数据管理方式,即UCI,我们可以直接调用UCI命令来修改这些配置文件。

UCI的语法使用举例:
建立list: uci add_list yuan.main.listen_http=0.0.0.0:80
建立option: uci set yuan.main.home=/www
uci set yuan.mian.ubus=/ubus
uci commit yuan
查看无名节点: uci show wireless.@wifi-device[0]

UCI配置文件中的各个部分按照大小或者功能的不同而分为package,section,option
其包含关系为:package->section->option

Ubus相关

一种进程间通信机制,他的模型和socket相似

ubus提供了一个server:ubusd
ubus提供了创建client端的接口,并提供了三种现成的客户端供用户使用:shell、lua、C
ubus对消息格式进行了定义,都必须封装成json消息格式
ubus对client消息处理抽象出“object”“method”。一个对象中包含多个方法。client需要向server注册收到特定json消息时的处理方法。

ubus的具体实现原理(参考了CSDN落尘纷扰的博文)

Openwrt命令行中ubus的调用:
无参:ubus call(对象+方法)
有参:ubus call 对象 + 方法 ‘{“”}’
注:对象和方法需要自己编程实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值