OpenWRT开发之——目录分析与make过程

OpenWrt 目录下的 trunk 结构如下:

[trunk]$ ls
bin/         Config.in  feeds.conf.default  rules.mk     tmp/
BSDmakefile  dl/        include/            scripts/     toolchain/
build_dir/   docs/      LICENSE             package/     staging_dir/ tools/
config/      feeds/     Makefile            README       target/

1.目录介绍

有几个重要目录:package, target, build_dir, staging_dir, bin, dl, ...

---include 目录是存放 *.mk 文件。这里的文件上是在Makefile里被include的

---build_dir/host 目录是建立工具链时的临时目录

---build_dir/toolchain-<arch>* 对应硬件的工具链的目录

---staging_dir/toolchain-<arch>*  是工具链的安装位置

---target/linux/<platform> 目录里面是各个平台(arch)的相关代码

---target/linux/<platform>/config-3.10 文件就是配置文件了

---dl 目录是‘download‘的缩写, 在 编译前期,需要从网络下载的数据包都会放在这个目录下,这些软件包的一个特点就是,会自动安装在所编译的固件中,也就是我们make menuconfig的时候,为固件配置的一些软件包。如果我们需要更改这些源码包,只需要将更改好的源码包打包成相同的名字放在这个目录下,然后开始编 译即可。编译时,会将软件包解压到build_dir目录下。

---build_dir/ 目录下进行解压,编译和打补丁等。

---package/ 目录里面包含了我们在配置文件里设定的所有编译好的软件包。默认情况下,会有默认选择的软件包。

在openwrt中ipk就是一切, 我们可以使用:

$ ./scripts/feeds update #来对软件包进行更新.
$ ./scripts/feeds search nmap #查找软件包‘nmap‘
Search results in feed ’packages’: 
nmap       Network exploration and/or security auditing utility
$ ./scripts/feeds install nmap #安装‘nmap‘这个软件

---feeds/packages 为执行./scripts/feeds install 之后的package。

---bin 目录下生成了很多bin文件,根据不同的平台来区分。

---bin/<platform>/package 目录里面有很多ipk后缀的文件,都是package目录下的源码在build_dir目录下编译后的生成的结果。

注:以上摘自:[openwrt框架分析]

2.包的make过程

比如:lua包,mips架构。

make步骤:

  1. 在 make 时,make 读取到 package/utils/lua/Makefile 文件内容。
  2. 如果git或svn源,那么就会在 tmp/dl/ 目录下将源代码 clone 下来。然后,将 clone 下来的源码删除 .git 或 .svn 目录删除,然后压缩成 lua-1.5.1.tar.gz 文件,并复制到 dl/ 目录下。
  3. 在编译前段,将 dl/ 目录下的 lua-1.5.1.tar.gz 文件解压到 build_dir/target-mips_<board>/ 目录下。
  4. 进入 build_dir/target-mips_<board>/lua-1.5.1/
  5. ./configure,make,make install。
  6. make install 会将生成的二进制文件安装到 build_dir/target-mips_<board>/lua-1.5.1/ipkg-ar71xx/ 目录下。
  7. 最后将 build_dir/target-mips_<board>/lua-1.5.1/ipkg-ar71xx/ 打成包成lua-5.1.5-1_ar71xx.ipk,并复制到 bin/ar71xx/packages/base/ 。
时间: 2024-11-03 21:08:37

OpenWRT开发之——目录分析与make过程的相关文章

嵌入式linux开发uboot移植(二)——uboot工程源码目录分析

嵌入式linux开发uboot移植(二)--uboot工程源码目录分析 本文分析的uboot为uboot_smdkv210,是三星官方发布的基于S5PV210评估开发板对应的uboot. 一.uboot源码目录结构解析 1.cpu 本文件夹下的子文件与处理器相关,每个文件夹代表一种CPU系列.每个子目录中都包括cpu.c.interrupts.c.start.S文件. cpu.c主要用于初始化CPU.设置指令Cache和数据Cache等 interrupt.c主要用于设置系统的各种中断和异常 s

Ionic开发2:目录分析及创建组件

上一篇我们创建好了一个新项目. 现在用VScode打开这个目录并且观察: node_modules :node 各类依赖包 resources :android/ios 资源(更换图标和启动动画) src:开发工作目录,页面.样式.脚本和图片都放在这个目录下 www:静态文件 platforms:生成 android 或者 ios 安装包路径( platforms\android\build\outputs\apk:apk 所在位置)执行 cordova platform add android

OpenWRT开发之——远程debug

想要用gdb对OpenWrt进行远程调试.首先得在OpenWrt目标机上安装gdbserver. 1. 安装gdbserver gdbserver 可以用 ipk 包进行安装. 在OpenWrt的trunk目录下,运行 make menuconfig,进行系统进行裁剪. gdbserver在 Development 目录下. 将gdbserver选为M,保存退出. 可以打开 .config 进行查看: 可以看到 CONFIG_PACKAGE_gdbserver=m. 好了,再 make V=s

uboot移植——uboot源码目录分析

uboot移植(一)--uboot源码目录分析 本文分析的uboot是九鼎官方提供的,是对应s5pv210开发板x210bv3的uboot 一:uboot的概念及移植的原理. uboot就是在内核运行前的一段小程序,用来初始化硬件设备,建立内存空间映射图.从而将系统的软硬件带到合适的状态,主要功能就是为了启动内核,它将内核从flash中拷贝到ddr中,然后跳转到内核入口中,交由内核控制权,uboot严重依赖硬件,因此一个通用的uboot不太可能. 移植原理:uboot中有很多平行代码,各自属于各

android版微信5.3安装目录分析及主界面高仿

一.安装目录分析 最近在做手机项目时,涉及很多本地文件管理方面的内容,比如用户的头像.下载的图片.视频等等,将这些文件缓存在本地,必须设计一个合理的组织方式,这样才能便于管理和后面的扩展及维护.这期间先后看了微视和美拍的本地文件组织方式,基本属于大家都在采用的方式,即一个大的cache文件夹,然后里面是按照类别划分的子文件夹,分别存放图片.视频等.随后又看了一下微信的组织方式,觉得微信的组织方式有点意思.同时也产生了几个疑问,到现在也没闹明白. 微信的安装目录位于Tencent文件夹内,该文件夹

软件开发注意事项分析

件开发是一个非常严肃的过程,一点点的错误就会导致软件无法正常运行.那么,在软件开发过程中我们应该注意哪些事项呢?现在我们就来仔细地分析一下吧! 注意事项一:软件开发过程中要对各阶段认真对待,如果有疑问或者不确定之处一定要提出,切不可仅凭自己的经验来理解. 注意事项二:软件开发过程中要保证编码符合规约,在进行实际的编程之前一定要做到对规约非常熟悉,这样才能够保证节省时间.而一旦出错想要查错就有难度了. 注意事项三:写程序时要注意随时写随时进行注解的习惯,这样以后再查错时就会非常明白,不用再将思路进

启动Tomcat一闪而过——分析及解决过程

转自http://www.cnblogs.com/godtrue/p/4339045.html 启动Tomcat一闪而过--分析及解决过程 嗯,昨天将有关JDK的知识稍微整理了一下,现在稍微整理一下有关Tomcat的! 1:Tomcat是什么? Tomcat是当今世界上使用最为广泛的.开源免费的Servlet/JSP容器,其主要功能是用于发布JavaWeb应用. 更多的信息请参看: http://tomcat.apache.org/ 2:怎么选择Tomcat的版本 规则是看我们选择使用的技术是什

LR学习笔记2-LoadRunner目录分析

1.为什么要做目录分析?对于初学者来说:安装完软件,只是傻瓜式应用,那么就会忽略掉LR自带的分析方法和方式,学习这个可以帮助我们更好的掌握. 主要学习完本节要做到: --了解软件安装后目录结构的必要性 --简单分析主要目录 2.下面进入重点内容: --analysis templates--分析模板,我的在安装目录在:D:\Program Files (x86)\HP\LoadRunner\AnalysisTemplates\DefaultTemplate1 --bin目录,可执行程序注意这里的

国内主流新一代用户行为分析系统选型过程分享

企业在选择用户行为分析工具时,大都不清楚如何选择适合自己业务的用户行为分析工具.笔者自己公司之前网站分析用百度统计APP分析用友盟,公司是做电商行业的,最近公司提出要精细化运营,用数据驱动业务增长,因此在10月份分别考察了国内做得比较出色的几家公司:数极客(阿里系).神策数据(百度系)和GrowingIO(LinkedIn系)三家公司的用户行为分析产品. 我在选型过程中将各家公司的功能和服务对比文档进行整理,从团队背景和产品定位.数据接入方式.定量分析功能.定性分析功能.二次开发与数据应用.服务