第2章 OpenWrt源码目录结构分析

文章详细介绍了OpenWrt源码的初始目录和编译后的生成目录,包括tools、include、scripts、config、package等目录的功能,以及编译过程中dl、build_dir、staging_dir等目录的作用。同时提到了feeds.conf.default用于定义软件包下载仓库,编译错误日志位于/logs,而编译后的firmware和ipk位于bin目录下。

第2章 OpenWrt源码目录结构

目录结构如下图所示,第一行是下载完源码后即存在的目录,第二行是编译固件后生成的,我们将这两类分别称作源码初始目录和生成目录在这里插入图片描述

初始目录

文件夹 说明
tools 包含了获取和生成编译工具的指令,里面的Makefile都包含$(eval $(call HostBuild)),表明获取或生成的这些工具都是在主机中使用
toolchain 交叉编译软件包,包括binutils, gcc, libc等
include 包含了一些mk文件
scripts 用于软件包管理的脚本
config 存放着整个系统的配置文件
docs 是对源码的说明文档
target 定义了firmware和kernel的编译过程
package
OpenWrt是一个开源的嵌入式操作系统,主要用于路由器和其他网络设备。通过分析OpenWrt源码,我们可以了解其编译过程和目录结构OpenWrt源码包括多个子目录,其中最重要的是根目录下的Makefile文件。这个Makefile文件是执行make命令时的入口。在Makefile中,可以定义编译选项、目标和依赖关系。 在Makefile中,有一个名为"world"的目标,它是整个编译过程的入口。在这个目标中,根据是否定义了"OPENWRT_BUILD"变量,会执行不同的逻辑。如果"OPENWRT_BUILD"变量未定义,会执行第一个逻辑;如果定义了,会执行第二个逻辑。 整个编译过程涉及到多个子目录的目标生成。每个子目录都有自己的Makefile文件,用于定义该子目录下的编译选项、目标和依赖关系。通过递归调用子目录的Makefile,可以完成整个OpenWrt的编译过程。 在编译过程中,还包括了内核的编译过程、固件的生成过程和软件包的编译过程。这些过程都在相应的子目录中完成。 总结来说,通过分析OpenWrt源码,我们可以了解其编译过程和目录结构。Makefile文件是整个编译过程的入口,通过递归调用子目录的Makefile,完成各个子目录的目标生成。同时,还包括了内核的编译过程、固件的生成过程和软件包的编译过程。 #### 引用[.reference_title] - *1* *2* *3* [openwrt源码框架解析](https://blog.youkuaiyun.com/daidi1989/article/details/53336845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值