特别说明:要编译backfire版本,一定要通过svn下载:svn co svn://svn.openwrt.org/openwrt/branches/backfire,而不能使用http://downloads.openwrt.org/backfire/10.03/中的源码包:backfire_10.03_source.tar.bz2

结合文档《OpenWrt_Dev_Tutorial.pdf》以及自己实际编译backfire的分析,得出如下结论:

基于backfire-10.03版本,在make之后,得到的目录组成为:

bin目录:make之后的新增目录,用来存放make的结果。比如我是用来编译BRCM47xx的,则此目录中会有:brcm47xx子目录,其中又包含:packages子目录(里面含有各种.ipk文件,以及一个Packages文件用来介绍此目录中的每个ipk文件)和可以烧入CPE的openwrt-brcm47xx-squashfs.trx文件。 疑问是:我只是编译了BRCM47xx,为何bin目录下还有类似:openwrt-wrt54g3gv2-vf-squashfs.bin这类的文件?

build_dir目录:make之后的新增目录。where all user--‐space tools will be cross--‐compiled. 从名字可以看出,此目录是用来进行编译的场所。这里面所包含的所有内容,都是dl目录下所存放的源码包解压缩并编译的结果。那么可以得出结论:dl里面下载的源码包受feeds.conf.default和package目录中各个子目录的Makefile控制,而真正要被编译的就被放到build_dir目录中解压缩并进行编译。--- 那么,应该也可以得出结论:如果不想下载,而想直接编译源码包,那就把源码包放到build_dir目录中就可以了。只是此目录中,根据dl目录下各个源码压缩包的归属性质,将它们分为四个子目录进行存放和编译:
    host目录:存放与目标对象无关的源码包,并编译之。当然,还有一些目录在dl中找不到对应项(比如:firmware-utils,patch-cmdline等等,这些从哪里来的?待查)
    linux-brcm47xx目录:与linux内核版本有关的源码包并编译之。这里面还包含了linux内核:linux-2.6.32.10
    target-mipsel_uClibc-0.9.30.1目录:与目标设备有关的源码包的编译结果。
    toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1目录:存放用于特定目标的体系结构的工具链目录。此目录中包含有:binutils,gcc,uClibc,甚至还有linux内核(而且是源文件,没有编译过的;为何这里再次重复出现?)dl目录:即download目录。也是make之后的新增目录。里面是根据package目录或者feeds.conf.default文件要求,在make的时候从网络上下载的源码包

docs目录:源码包就有的。即文档。这个也是需要编译的。

feeds目录:make之后的新增目录。里面存放的就是按照feeds.conf.default文件中列举的要处理的文件,所展开得到的目录。目录中存放的东西,和package目录中大致相似。指导如何下载和编译对应模块的。

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

package目录:源码包就有。里面是随openwrt主版本就提供的包。除了用户态的N多模块外,还有kernel目录,用来定义内核模块。---疑问:linux内核是在哪个目录中指定下载的?

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

staging_dir目录:make之后的新增目录。where the cross-­‐compilation tools will be installed. 我猜测此目录的作用是:build_dir是编译的地方,那么这里就是把build_dir的结果放在了staging_dir目录了---待确认

target目录:源码包就有的。用来指导如何编译firmware和内核,以及sdk的

tmp目录:操作make menuconfig后产生的临时目录

toolchain目录:源码包就有的。指导如何下载,编译toolchain的

tools目录:源码包就有的。指导如何下载,编译tools的

BSDmakefile文件:

Config.in文件:

feeds.conf.default文件:feeds下载的指导文件

LICENSE文件:

Makefile文件:make命令的总入口

README文件:

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

.config隐藏文件:make menuconfig后的config结果的存放文件。

.config.old隐藏文件:

.gitignore隐藏文件:

转载于:https://www.cnblogs.com/lagujw/p/3662829.html

openWRT自学---针对backfire版本的主要目录和文件的作用的分析整理相关推荐

  1. /etc/ld.so.conf.d/目录下文件的作用

    /etc/ld.so.conf.d/目录下文件的作用 2013-04-30 10:58 5835人阅读 评论(0) 收藏 举报 分类: Linux/Unix系统管理(51) 版权声明:本文为博主原创文 ...

  2. mycat中间件(四)mycat目录结构文件及作用

    导言 目录结构 bin目录 mycat命令概述 conf目录 log目录 versiontxt文件 总结 导言 我们在前面两篇文章中,描述了如何搭建linux或windows环境下的mycat1.6版 ...

  3. discuz各个目录与文件的作用说明

    discuz下面有很多文件夹以及文件,你们都知道他们是做什么的么?肯定不知道了吧. 但是我们有经常遇到这些文件,譬如在后台文件校验操作都遇到某些文件被修改,这时候也需要知道这些文件是有什么作用的. 今 ...

  4. [转]JSP文件管理器0.5版本,显示目录和文件,支持cmd操作,也可当jsp木马使用...

    想慢慢完善一下这个 folder.jsp 小程序,增加一些功能,比如文件编辑,删除等 目录操作(建立新目录,删除目录等等) 程序写的比较乱,以后慢慢整理整理 欢迎大家多提宝贵意见. /** Jsp F ...

  5. tomcat各目录(文件)作用

    主目录下有bin,conf,lib,logs,temp,webapps,work 7个文件夹,下面对他们分别进行介绍: 1.bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾 ...

  6. 微信小程序主要目录和文件的作用

    project.config.json 项目配置文件,做一些个性化配置,例如界面颜色.编译配置等等 app.json 当前小程序的全局配置,包括了小程序的所有页面路径.界面表现.网络超时时间.底部 t ...

  7. Asp.NET Core 轻松学-项目目录和文件作用介绍

    前言     上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令.Asp.Net Core MVC 项目文件目录 ...

  8. 嵌入式Linux驱动开发常用目录及文件梳理

    前言: 在Linux中一切皆文件,在根文件系统中有许多的目录,学习了一段时间的嵌入式Linux驱动开发,本文对在驱动开发中常见的一些目录及文件的作用进行梳理和总结,以便日后的查询及复习. 1:根文件系 ...

  9. Linux下的十个好用的命令工具:查看系统版本,显示目录的大小,查看硬盘HDD/SSD,硬盘测速,ssh时自动输入密码,查看程序的内存使用情况,查看I/O的速度,查看ssh密码错误日志,查找文件

    文章目录 1.查看系统版本 2.显示目录的大小 3.查看硬盘是HDD还是SSD 4.硬盘测速 5.在ssh的时候自动输入密码 6.查看程序的内存使用情况 7.查看I/O的速度 8.查看ssh密码错误日 ...

最新文章

  1. linux 下 vi 块编辑
  2. [Z]图灵奖获得者Richard Karp讲述Berkeley CS的发展史
  3. Scala调用Java静态成员及静态方法注意点——只能通过当前类名调用而不能借助子类调用父类静态成员/方法
  4. 如何在SAP云平台Neo环境里进行workflow(工作流)的开发
  5. 【状压DP】最优配对问题(jzoj 3420)
  6. python 数组和列表的区别
  7. linux怎么添加ubuntu源,细说 Ubuntu Linux 软件源
  8. SSH 远程连接服务慢的解决方案
  9. 协同过滤介绍和简单推荐系统的实现
  10. Android Studio禁止混淆JNI代码
  11. 学计算机加数模社团,优秀社团 | 数学建模协会
  12. android studio白屏,首次集成到Android studio的工程运行起来就是白屏
  13. 前端---HTML制作百度首页
  14. android 通知栏授权,Android通知栏权限是否开启
  15. 解决richedit的内容不能超过64k的方法
  16. 这篇文章有毒《持续更新中。。。》
  17. 【2022 网鼎杯】青龙组 crypto WriteUp
  18. SAP 登录的一些参数
  19. update from用法
  20. Java第十二天笔记01——网络编程

热门文章

  1. don't run elasticsearch as root
  2. Tensorflow(一) 基础命令
  3. 大数据技术 学习之旅_数据-数据科学之旅的起点
  4. 全志A33-ARM linux开机进入uboot命令行
  5. 如何快速把借呗额度提高到10万?
  6. 忧云:喻红艺术展观后
  7. Ruby与Google 2009编程之夏
  8. 可以编辑的标签控件CStatic
  9. pythonflask configlist.py_Python+Flask.0004.FLASK配置管理之三种方式加载外部配置
  10. java 堆内存分析_JVM内存堆布局图解分析