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
openWRT自学---针对backfire版本的主要目录和文件的作用的分析整理相关推荐
- /etc/ld.so.conf.d/目录下文件的作用
/etc/ld.so.conf.d/目录下文件的作用 2013-04-30 10:58 5835人阅读 评论(0) 收藏 举报 分类: Linux/Unix系统管理(51) 版权声明:本文为博主原创文 ...
- mycat中间件(四)mycat目录结构文件及作用
导言 目录结构 bin目录 mycat命令概述 conf目录 log目录 versiontxt文件 总结 导言 我们在前面两篇文章中,描述了如何搭建linux或windows环境下的mycat1.6版 ...
- discuz各个目录与文件的作用说明
discuz下面有很多文件夹以及文件,你们都知道他们是做什么的么?肯定不知道了吧. 但是我们有经常遇到这些文件,譬如在后台文件校验操作都遇到某些文件被修改,这时候也需要知道这些文件是有什么作用的. 今 ...
- [转]JSP文件管理器0.5版本,显示目录和文件,支持cmd操作,也可当jsp木马使用...
想慢慢完善一下这个 folder.jsp 小程序,增加一些功能,比如文件编辑,删除等 目录操作(建立新目录,删除目录等等) 程序写的比较乱,以后慢慢整理整理 欢迎大家多提宝贵意见. /** Jsp F ...
- tomcat各目录(文件)作用
主目录下有bin,conf,lib,logs,temp,webapps,work 7个文件夹,下面对他们分别进行介绍: 1.bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾 ...
- 微信小程序主要目录和文件的作用
project.config.json 项目配置文件,做一些个性化配置,例如界面颜色.编译配置等等 app.json 当前小程序的全局配置,包括了小程序的所有页面路径.界面表现.网络超时时间.底部 t ...
- Asp.NET Core 轻松学-项目目录和文件作用介绍
前言 上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令.Asp.Net Core MVC 项目文件目录 ...
- 嵌入式Linux驱动开发常用目录及文件梳理
前言: 在Linux中一切皆文件,在根文件系统中有许多的目录,学习了一段时间的嵌入式Linux驱动开发,本文对在驱动开发中常见的一些目录及文件的作用进行梳理和总结,以便日后的查询及复习. 1:根文件系 ...
- Linux下的十个好用的命令工具:查看系统版本,显示目录的大小,查看硬盘HDD/SSD,硬盘测速,ssh时自动输入密码,查看程序的内存使用情况,查看I/O的速度,查看ssh密码错误日志,查找文件
文章目录 1.查看系统版本 2.显示目录的大小 3.查看硬盘是HDD还是SSD 4.硬盘测速 5.在ssh的时候自动输入密码 6.查看程序的内存使用情况 7.查看I/O的速度 8.查看ssh密码错误日 ...
最新文章
- linux 下 vi 块编辑
- [Z]图灵奖获得者Richard Karp讲述Berkeley CS的发展史
- Scala调用Java静态成员及静态方法注意点——只能通过当前类名调用而不能借助子类调用父类静态成员/方法
- 如何在SAP云平台Neo环境里进行workflow(工作流)的开发
- 【状压DP】最优配对问题(jzoj 3420)
- python 数组和列表的区别
- linux怎么添加ubuntu源,细说 Ubuntu Linux 软件源
- SSH 远程连接服务慢的解决方案
- 协同过滤介绍和简单推荐系统的实现
- Android Studio禁止混淆JNI代码
- 学计算机加数模社团,优秀社团 | 数学建模协会
- android studio白屏,首次集成到Android studio的工程运行起来就是白屏
- 前端---HTML制作百度首页
- android 通知栏授权,Android通知栏权限是否开启
- 解决richedit的内容不能超过64k的方法
- 这篇文章有毒《持续更新中。。。》
- 【2022 网鼎杯】青龙组 crypto WriteUp
- SAP 登录的一些参数
- update from用法
- Java第十二天笔记01——网络编程
热门文章
- don't run elasticsearch as root
- Tensorflow(一) 基础命令
- 大数据技术 学习之旅_数据-数据科学之旅的起点
- 全志A33-ARM linux开机进入uboot命令行
- 如何快速把借呗额度提高到10万?
- 忧云:喻红艺术展观后
- Ruby与Google 2009编程之夏
- 可以编辑的标签控件CStatic
- pythonflask configlist.py_Python+Flask.0004.FLASK配置管理之三种方式加载外部配置
- java 堆内存分析_JVM内存堆布局图解分析