buildroot是一套自动化构建工具,比yocto简单。

项目地址:http://www.buildroot.org/

培训资料地址:http://free-electrons.com/

附带linux源码在线阅读地址:http://lxr.free-electrons.com/

配置编译完buildroot生成根文件系统后,根文件系统可以在开发板上运行。

可以只用builroot生成根文件系统,只要在配置时所选的linux版本与目标板所用一致即可。

而相应的在宿主机则生成了针对目标板的开发环境,也可以生成SDK供其他开发人员使用。

有时候还需要进行一些配置来使用额外的函数接口。

1、如:要使用三星硬件编码模块,在4412提供的linux3.0版本里,不但要求开发板上的系统要在开机后加载MFC固件,在使用MFC提供的API时也需要MFC的头文件和源文件才能使用API,这些文件不在板上提供的linux内核原文件里,而在该内核对应的安卓代码中,可以用linux中的find指令在其中进行查找,注意选择正确的源文件。要在本工程中使用MFC模块,有两种方法一种是将mfc模块头文件,源文件均放置在本工程文件夹中,在工程中进行包含。另一种是将头文件放在编译器默认的查找路径上,比如如果是本地开发,那么本地编译器会到/usr/include目录下查找,而如果是交叉编译,则交叉编译器也需要一个根文件系统,在根文件系统的/usr/include目录下去查找头文件,用buildroot创建的交叉编译工具链的根文件系统目录就是buildroot-2014.05/output/host/usr/arm-gainuo-linux-gnueabihf/sysroot/,当然还可以在编译时给GCC添加额外参数I,指定头文件查找路径。而如果因为商业性问题没有源文件只提供了链接库文件,那么同头文件一样,可以将链接库文件放置连接器默认的查找路径上,或者给GCC添加L参数指定库路径。而一般板商提供的编译器是找不到根文件系统路径的(我是不知道怎么弄的,如果交叉编译工具链和本地工具链共用主机的根文件系统路径,那么是很有可能因为版本问题导致头文件不兼容问题的,比较麻烦)。

  比较而言还是把特定工程的头文件和工程放在一起比较好。

buildroot把包括配置时选择的各种包需要的库都打包进生成的根文件系统里了,但这里面只有动态库.so。而静态库.a只存在于主机为开发而产生的usr/lib里面,这样在编译基于特定包函数的程序时,程序将静态编译,在目标机不需要动态库。

2、至于在配置时已选的包他们的头文件都已经放进交叉编译器默认的路径里面呢。

buildroot使用的更多相关文章

  1. buildroot使用详解

    为什么要使用buildroot? (文件系统搭建,强烈建议直接用buildroot,官网[http://buildroot.uclibc.org/]上有使用教程非常详细)文件系统通常要包含很多第三方软 ...

  2. buildroot 添加ssh,以及使用stftp 服务

    上一篇水了一下关于buildroot的基本操作,这一章水一下开启SSH服务以及配置sftp服务,以及静态IP的设置. 配置: make menuconfig Target packages  ---& ...

  3. buildroot 制作Linux文件系统初级使用教程

    buildroot 下载地址:https://buildroot.org/download.html 放在Linux文件下解压出来. 使用make menuconfig 进行配置相关的东西. 在使用这 ...

  4. iOS Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.30.14/UITableView.m:7962

      Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/Cac ...

  5. buildroot 使用小记 - 2 源文件目录结构

    官方下载下来的buildroot源码包在解压后,是一个名为buildroot的文件夹,它下面的目录/文件结构如下: Makefile - 顶级makefile,编译总入口 Config.in - 顶级 ...

  6. buildroot ntp 网络时钟同步

    /********************************************************************** * buildroot ntp 网络时钟同步 * 说明: ...

  7. buildroot httpd php

    /******************************************************************** * buildroot httpd php * 说明: * ...

  8. buildroot mysql

    /******************************************************************** * buildroot mysql * 说明: * 这两天要 ...

  9. 使用buildroot编译bind DNS服务器

    用buildroot来制作文件系统很方便,编译出来的文件系统是直接可用的,不用添加脚本等麻烦的工作,很多的库和app都可以直接添加到文件系统里边,如常用的udhcpc,tftp,apache,ligh ...

  10. buildroot linux filesystem 初探

    /****************************************************************************** * buildroot linux fi ...

随机推荐

  1. UvaLive 6600 Spanning trees in a secure lock pattern 矩阵行列式

    链接:https://icpcarchive.ecs.baylor.edu/index.php? option=com_onlinejudge&Itemid=8&page=show_p ...

  2. bzoj 1010 (单调决策优化)

    能够非常好的证明单调决策性质.用   记sum[i]=sigma(C[1],C[2].....C[k]);f[i]=sum[i]+i;  c=l-1; 有转移dp[i]=min( dp[j]+(f[i ...

  3. vue12 循环添加重复数据

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Android LruCache 压缩图片 有效避免程序OOM

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9316683 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工, ...

  5. phpMyAdmin出现找不到mysql扩展和Cannot log in to the MySQL server问题

    环境:Centos6.5,Apache2.4, PHP5.5, MySql5.6. phpMyAdmin版本:https://files.phpmyadmin.net/phpMyAdmin/4.4.1 ...

  6. tomcat-servlet-client

    headfirst的一个图,但解决了我的一个疑问

  7. Aix下查看内存命令

    1. 查看物理内存配置 # lsdev -Cc memory  查看配置的物理内存设备,下面为其输出示例:  L2cache0 Available L2 Cache   mem0 Available ...

  8. dos 实用命令搜集

    dos 命令: 1.netstat -an 2.XP下打开凭证管理:  control keymgr.dll 3.刷新DHCP协议,重新自动获取IP *   ipconfig/release 命令来丢 ...

  9. How Javascript works (Javascript工作原理) (十一) 渲染引擎及性能优化小技巧

    个人总结:读完这篇文章需要20分钟,这篇文章主要讲解了浏览器中引擎的渲染机制. DOMtree       ----|   |---->  RenderTree CSSOMtree  ----| ...

  10. ls---显示文件目录各项信息

    ls命令用来显示目标列表,在Linux中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件. 语法 ls(选项)(参数) 选项 -a:显示所有档案及目录(ls内定将档案名 ...