1.目录一览
在openwrt目录下,运行命令:tree -L 1
目录结构如下:
├── bin
├── BSDmakefile
├── build_dir
├── config
├── Config.in
├── COPYING
├── dl
├── feeds
├── feeds.conf.default
├── include
├── key-build
├── key-build.pub
├── key-build.ucert
├── key-build.ucert.revoke
├── LICENSES
├── Makefile
├── package
├── README.md
├── rules.mk
├── scripts
├── staging_dir
├── tags
├── target
├── tmp
├── toolchain
└── tools
2.内容分析
2.1 目录分析
下面是对每个目录的解析
目录名 | 内容分析 |
---|---|
config | 这个目录包含了OpenWrt的配置文件,用于指定编译选项和功能的开启/关闭。 |
include | include目录包含了一些头文件,供源代码中的其他文件引用。 |
package | package目录是OpenWrt的核心部分,它包含了所有软件包的定义和构建规则。每个软件包都有一个单独的子目录,其中包含了软件包的Makefile、配置文件和补丁等。 |
target | target目录包含了OpenWrt支持的不同硬件平台的定义和配置文件。每个目标平台都有一个单独的子目录,其中包含了该平台的Makefile、配置文件和补丁等。 |
scripts | scripts目录包含了一些编译和构建过程中使用的脚本。 |
tools | tools目录包含了一些编译和构建过程中使用的工具,例如交叉编译工具链、打包工具等。 |
toolchain | toolchain目录包含了交叉编译工具链的定义和配置文件。 |
dl | 软件包下载后都放到了这个目录下 |
bin | 编译生成的firmware和各种ipk都会放到该目录下 |
feeds | 软件包套件的放置位置 |
build_dir | 这个目录包含了编译过程中生成的临时文件和工具链。 |
files.mk、rules.mk等 | 这些文件是用于整个OpenWrt系统构建过程中的一些全局规则和配置。 |
2.2 openwrt的工具集
- **opkg **
opkg 是 OpenWrt 中的软件包管理工具,类似于 Debian 的 apt 或者 RedHat 的 yum。它允许用户从 OpenWrt 软件仓库中安装、升级和删除软件包。
- uci
uci 是 Unified Configuration Interface 的缩写,是 OpenWrt 中的配置管理工具。它允许用户通过命令行或脚本方式修改系统配置,如网络配置、防火墙规则、无线网络设置等。
- iw
iw 是一个用于配置 Linux 无线设备的工具。在 OpenWrt 中,iw 工具通常用于配置和管理无线网络接口,包括扫描无线网络、连接无线网络、设置频道和传输功率等操作。
- ubus
ubus 是 OpenWrt 中的消息总线系统,用于在系统内部的进程之间进行通信。它提供了一种简单的 RPC(远程过程调用)机制,允许用户通过命令行或脚本调用系统服务和功能。
- logread
logread 是用于查看系统日志的工具。在 OpenWrt 中,通过 logread 可以查看系统的运行日志、内核消息、系统事件等信息,帮助用户进行故障诊断和故障排除。
3.总结
清楚源码目录,可更好的了解代码结构,熟悉编译流程。