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

特别说明:要编译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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言交流系统 phxnet团队 创新实训 项目博客 (五)

3DMax方面所涉及的专业知识: (1)一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的。 (2)骨骼架设:首先对导入到3DMax中的人物模型进行架设骨骼…

linux 安装python-opencv

三种方法: 1. pip 安装 : pip install opencv-python ,最新版为opencv3安装后>>> import cv2 >>> print cv2.__version__参考:http://www.cnblogs.com/lclblack/p/6377710.html 2. anaconda的conda安装 ,可以指…

《你的灯亮着吗》读书笔记Ⅲ

转载于:https://www.cnblogs.com/yue3475975/p/4586220.html

golang协程测试

package main import ( "fmt" "time") const NUMBER 1000000 func test() { for { }} func main() { fmt.Println(time.Now().UnixNano()) for i : 0; i < NUMBER; i { go test() } fmt.Println(time.Now().UnixNano()) for { }} 启动100W个协程&#…

nvidia显卡对比分析

本文章转载自&#xff1a;http://www.cnblogs.com/lijingcong/p/4958617.html 科学计算显卡的两个主要性能指标&#xff1a;1、CUDA compute capability&#xff0c;这是英伟达公司对显卡计算能力的一个衡量指标&#xff1b;2、FLOPS 每秒浮点运算次数&#xff0c;TFLOPS表示每…

零基础不建议学前端_web前端开发零基础怎样入门-哈尔滨前端学习

web前端开发零基础怎样入门-哈尔滨前端学习&#xff0c;俗话说&#xff0c;知己知彼&#xff0c;百战百胜。要想学好web前端&#xff0c;首先要了解什么是web前端&#xff0c;下面由小编来给大家介绍一下&#xff1a;1什么是web&#xff1f;Web就是在Http协议基础之上, 利用浏览…

描述项目的典型用户与场景

描述项目的典型用户与场景 名字&#xff1a;小威 年龄&#xff1a;22 职业&#xff1a;学生 收入&#xff1a;无正式收入 知识层次和能力&#xff1a;大学 生活/工作情况&#xff1a;卖东西赚外快 动机&#xff0c;目的&#xff0c;困难&#xff1a;卖东西东西时需要计数 用户比…

SpringBoot的配置项

2019独角兽企业重金招聘Python工程师标准>>> spring Boot 其默认是集成web容器的&#xff0c;启动方式由像普通Java程序一样&#xff0c;main函数入口启动。其内置Tomcat容器或Jetty容器&#xff0c;具体由配置来决定&#xff08;默认Tomcat&#xff09;。当然你也可…

北大OJ百练——4075:矩阵旋转(C语言)

百练的这道题很简单&#xff0c;通过率也达到了86%&#xff0c;所以我也就来贴个代码了。。。下面是题目&#xff1a; 不过还是说一下我的思路&#xff1a; 这道题对一个新来说&#xff0c;可能是会和矩阵的转置相混淆&#xff0c;这题并不是要我们去求矩阵的转置。 这题&#…

编译py-faster-rcnn全过程

编译py-faster-rcnn&#xff0c;花费了好几天&#xff0c;中间遇到好多问题&#xff0c;今天终于成功编译。下面详述我的整个编译过程。 【注记&#xff1a;】其实下面的依赖库可以安装在统一的一个本地目录下&#xff0c;相关安装指南&#xff0c;可以参考《深度学习&#xf…

翻译python语言命令_有道词典命令行快速翻译,Python编程的利器

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。以下文章来源于Python实用宝典&#xff0c;作者Python实用宝典在编程时经常会遇到需要将中文词汇翻译成英文的情况。比如变量名的定义、取一个合适的函数…

不是世界不好,而是你见得太少

转载于:https://www.cnblogs.com/yymn/p/4590333.html

MonoBehaviour.FixedUpdate 固定更新

function FixedUpdate () : void Description描述 This function is called every fixed framerate frame, if the MonoBehaviour is enabled. 当MonoBehaviour启用时&#xff0c;其 FixedUpdate 在每一帧被调用。 FixedUpdate should be used instead of Update when dealing …

用Heartbeat实现web服务器高可用

用Heartbeat实现web服务器高可用heartbeat概述: Heartbeat 项目是 Linux-HA 工程的一个组成部分&#xff0c;它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件&#xff0c;在 Heartbeat 项目里&#xff0c;由 heartbeat 模块实现了这两个功能。端口号…

scp创建远程目录_在Linux系统中使用Vim读写远程文件

大家好&#xff0c;我是良许。 今天我们讨论一个 Vim 使用技巧——用 Vim 读写远程文件。要实现这个目的&#xff0c;我们需要使用到一个叫 netrw.vim 的插件。从 Vim 7.x 开始&#xff0c;netrw.vim 就被设置为默认安装的标准插件了。这个插件允许用户通过 ftp、rcp、scp、htt…

softmax logistic loss详解

softmax函数–softmax layer softmax用于多分类过程中&#xff0c;它将多个神经元的输出&#xff0c;映射到&#xff08;0,1&#xff09;区间内&#xff0c;可以看成概率来理解&#xff0c;从而来进行多分类&#xff01; 假设我们有一个数组z(z1,z2,...zm),则其softmax函数定…

poj3254 Corn Fields

Description Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares. Regrettably, some of the squares are infertile and ca…

Android获取程序路径 (/data/data/appname)

Android获取文件夹路径 /data/data/ http://www.2cto.com/kf/201301/186614.html String printTxtPath getApplicationContext().getPackageResourcePath() "/files/" fileName;> /data/app/com.example.fileoperation-2.apk/files/printMenu.txt String print…

javascript做极简时钟特效,再简单没思路你也做不出来

点击查看时钟特效极简主义&#xff0c;程序员javascript打造极简时钟特效对于javascript特效的学习&#xff0c;重要的是逻辑思路&#xff0c;所以这个时钟特效不是很华丽&#xff0c;但是功能都展现出来了&#xff0c;而学习javascript并不是单纯的扣代码&#xff0c;很多人都…

ubuntu中怎么打开python_如何在Linux Ubuntu 16.04下安装及打开PyCharm

下载安装 PyCharm下载好的文件的名称可能是 ‘pycharm-community-2017.2.3.tar.gz’首先打开终端&#xff0c;然后通过下面的命令进入下载文件所在的文件夹&#xff1a;cd ~/Downloads或者如果文件夹是中文cd ~/下载然后&#xff0c;通过运行下面的命令找到你下载的文件的名字&…