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

第2章 OpenWrt源码目录结构

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

初始目录

文件夹说明
tools包含了获取和生成编译工具的指令,里面的Makefile都包含$(eval $(call HostBuild)),表明获取或生成的这些工具都是在主机中使用
toolchain交叉编译软件包,包括binutils, gcc, libc等
include包含了一些mk文件
scripts用于软件包管理的脚本
config存放着整个系统的配置文件
docs是对源码的说明文档
target定义了firmware和kernel的编译过程
package软件包的源码及Makefile

生成目录

文件夹说明
dl软件包下载后都放到了这个目录下
build_dir在编译过程中,软件包都会解压到该目录
staging_dir编译完成的软件,这里的子目录结果跟build_dir相同
feeds软件包套件的放置位置
bin编译生成的firmware和各种ipk都会放到该目录下

典型目录和文件说明

  • 根目录下的feeds.conf.default
    示例如下,定义了需要下载那些软件包以及下载仓库
    在这里插入图片描述

安装软件的指令如下,只有将软件包安装成功,在执行make menuconfig时,才能找到与软件包对应的选项

[openwrt@localhost trunk]$ ./scripts/feeds update -a
[openwrt@localhost trunk]$ ./scripts/feeds install -a
  • /logs 编译过程中的出错信息,注意只要编译出错了才会出现该目录

  • /rules.mk
    定义了Makefile中使用的一些通用变量和函数

  • /bin/targets/ramips/‘board’/
    升级软件包即保存在该目录

  • /bin/targets/ramips/‘board’/packages
    编译成Module的驱动程序会保存在该目录

  • /bin/packages/mipsel_24kc/base/
    应用层的ipk会保存在该目录

获取更多内容请关注“万物互联技术”微信公众号

在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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.csdn.net/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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值