buildroot认知
来源:互联网 发布:软件产品质量验收标准 编辑:程序博客网 时间:2024/05/17 08:09
什么是buildroot
Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。你可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。
buildroot目录结构
1.buildroot/package/下面放着应用软件的配置文件,每个应用软件的配置文件有Config.in和soft_name.mk其中soft_name.mk(这种其实就Makefile脚本的自动构建脚本)文件可以去下载应用软件的包。
2.buildroot/output/是编译出来的输出文件夹,里面的build/目录存放着解压后的各种软件包编译完后的现场。host/目录放着制作好的编译工具链,target/ 目录是用来制作rootfs的,里面放着Linux系统基本的目录结构,以及各种编译好的应用库和bin可执行文件。Images/目录下就是最终生成的可烧写到板子上的各种image。
3.buildroot/dl存放下载的源码包及应用软件的压缩包
4.buildroot/fs放各种文件系统的源代码
5.buildroot/fs/skeleton放生成文件系统镜像的地方,及板子里面的系统
6.buildroot/linux/ 存放着Linux kernel的自动构建脚本。
7.buildroot/configs放置开发板的一些配置参数,
8.buildroot/dl/目录存在从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包,以节约时间。
9.buildroot/docs/ 存放相关的参考文档。
10.buildroot/arch/ 目录存放CPU架构相关的配置脚本,如arm/mips/x86 ,这些CPU相关的配置,在制作工具链,编译boot和内核时很关键。
buildroot工作原理
Buildroot原则上是一个自动构建框架,虽然说u-boot、linux kernel这些经典的开源软件包的构建脚本,官方社区都在帮你实现了,但是有时候你还是需要加入你自己特有的app_pkg软件包,用以构建自己的应用。
Buildroot提供了函数框架和变量命令框架(下一篇文章将介绍细节),采用它的框架编写的app_pkg.mk这种Makefile格式的自动构建脚本,将被package/pkg-generic.mk 这个核心脚本展开填充到buildroot主目录下的Makefile中去。最后make all执行Buildroot主目录下的Makefile,生成你想要的image。package/pkg-generic.mk中通过调用同目录下的pkg-download.mk、pkg-utils.mk文件,已经帮你自动实现了下载、解压、依赖包下载编译等一系列机械化的流程。你只要需要按照格式写Makefile脚app_pkg.mk,填充下载地址,链接依赖库的名字等一些特有的构建细节即可。
总而言之,Buildroot本身提供构建流程的框架,开发者按照格式写脚本,提供必要的构建细节,配置整个系统,最后自动构建出你的系统。
buildroot/packages里面有丰富的应用软件的配置文件,可以通过make menuconfig,出现图形化界面进行选择丰富的开源软件包的编译和构建。
- buildroot认知
- Buildroot
- Buildroot
- Buildroot
- Buildroot
- buildroot
- Buildroot
- buildroot
- buildroot
- 认知
- 认知
- 认知
- 认知
- 认知
- 认知
- 认知
- 认知
- OpenWrt Buildroot
- linux怎样使用top命令查看系统状态
- 原生JS实现漂浮广告的一种方法(Demo)
- Ajax-load
- HTML5基础加强css样式篇(css过度效果:界面的浮层遮罩和消失)(十九)
- python __slots__ 使你的代码更加节省内存
- buildroot认知
- VS2012+PCL1.7.2+OpenNI
- jsp报错:Multiple annotations found at this line
- heap_init
- poj 1006 Biorhythms
- Springmvc中web.xml的配置详解
- python爬虫(9)获取动态搞笑图片
- Java经典算法四十例编程详解+程序实例
- arm汇编—ldr加载指令,ldr伪指令