OpenWrt下载编译以及在VMWare上运行
本文记录以下OpenWrt的入门知识,包括源码编译,make menuconfig
配置,feeds
包下载以及生成可以运行在VMWare上的镜像。
然后在VMWare上运行,并配置静态IP,然后可以使用SSH工具远程连接到OpenWrt系统中。
专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等
本文记录以下OpenWrt的入门知识,包括源码编译,make menuconfig
配置,feeds
包下载以及生成可以运行在VMWare上的镜像。
然后在VMWare上运行,并配置静态IP,然后可以使用SSH工具远程连接到OpenWrt系统中。
本文主要描述在openwrt环境下,使用blobmsg_parse
接口解析双层BLOBMSG_TYPE_TABLE
出现的Segmentation fault问题。带解析的数据来源于ubus call system info
返回的值。
UCI,Unified Configuration Interface,统一配置接口,是一个集中配置OpenWrt服务的系统。
UCI是OpenWrt中基于NVRAM配置的继承者,是OpenWrt主要系统功能配置的用户接口,包括网络、无线、日志以及远程访问等等。
OpenWrt在/lib/functions.sh
和/lib/config/uci.sh
提供了一组标准的shell接口来操作UCI配置,这样可以在Shell脚本中处理UCI配置。尤其是在/etc/init.d
目录下的配置文件中。
本文主要探索/lib/config/uci.sh
脚本中的uci_load
接口是如何将UCI配置加载到内存中的。
OpenWRT提供了一些列shell标准接口(config_load, config_get, config_get_bool, config_cb, option_cb, list_cb, config_foreach, config_list_foreach
,以便在shell脚本中高效地读取和处理uci配置。
这主要用于在/etc/init.d
中写启动脚本。
OpenWRT在/lib/functions.sh
文件中提供了访问uci配置的shell接口,因此在使用这些接口之间需要直接或间接(包含rc.common
)的方式包含该文件。