OpenWrt:目录结构

tooltoolchain目录:是编译固件image,获取内核头文件,二进制编译器和调试器,c库文件,需要用到的通用工具。

include目录:编译时的头文件索引,是一些编译用的通用脚本和include宏定义。比较重要的包括package.mk文件(几乎每个package目录中的模块的makefile中都提到它)。

scripts目录:对openwrt的包进行管理的perl脚本,存放各类脚本的目录,比如:feeds脚本使用.scripts/feeds update -a或者.scripts/feeds install -a就可以对feeds.conf.default中列举的文件进行处理了。

target目录:包含了特定平台的文件,固件镜像和内核构建过程的索引,以及生成编译器的编译工具。其中linux目录下为各个平台arch的相应的内核patches,配置文件等,imagebuilder目录则扫描如何生成这个平台的固件。用来指导如何编译firmware、内核以及sdk

package目录和feeds目录:在openwrt中,基础的软件包目录为package,扩展的软件包在feeds中,feeds中的软件扩展了openwrt的基本功能,它将所有的软件链接到package/feeds中。这些软件大多数都是编译成.ipk格式的。这里面有内核模块文件。有各种软件的源码,以及patch文件和Makefile用来下载源码的。里面是随openwrt主版本就提供的包。除了用户态的N多模块外,还有kernel目录,用来定义内核模块(feeds目录:make之后的新增目录。里面存放的就是按照feeds.conf.default文件中列举的要处理的文件,所展开得到的目录。目录中存放的东西和package目录中大致相似,指导如何下载和编译对应模块的)。

dl目录:编译工具、目标、package所需要的软件包将从网上下载放到dl目录中。

build_dir目录:一个临时目录,用来将所有需要编译的软件源码放到这个目录中进行编译。它包括以下三个目录:build_dir/host与编译目标无关的工具的临时文件夹;build_dir/*作为所有目标,package编译的临时目录;build_dir/toolchain-*编译特定体系的交叉编译链的文件夹。

staging_dir目录:用于存放构建目标系统镜像的工具软件,包括:staging_dir/host宿主系统使用的工具;staging_dir/*目标系统使用的软件软件包;staging_dir/交叉编译工具链。

bin目录:make之后的新增目录,用来存放make的结果。比如用来编译ramips的,则此目录中会有ramips子目录,其中又包含:packages子目录(里面含有各种.ipk文件,以及一个Packages文件用来介绍此目录中的每个ipk文件)和可以烧入路由器的***.bin固件。

Makefile文件:make命令的总入口。

rules.mk文件:定义了一系列在make时使用的规则。

.config隐藏文件:make menuconfig后的保存的配置文件。

.config.old隐藏文件:老的.config文件。

你可能感兴趣的:(openwrt)