Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1624889
  • 博文数量: 511
  • 博客积分: 967
  • 博客等级: 准尉
  • 技术积分: 2560
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-06 14:19
文章分类

全部博文(511)

文章存档

2016年(11)

2015年(61)

2014年(257)

2013年(63)

2012年(119)

分类: Android平台

2013-12-20 17:02:55

buildroot可用于快速构建嵌入式交叉编译器和根文件系统。

支持多种处理器,arch,avr32,mips,x86等等,在arch/目录可查看。

buildroot可使用make menuconfig进行配置,选择需要编译到目标文件系统的包,相关的配置文件在configs目录下。

在board目录下可以添加一些构建文件系统所需的额外配置或库,这些在make menuconfig时指定,编译完成或拷贝到根文件系统中, 这个可以避免单独去编译安装第三方库文件,很方便。

dl目录用来存放编译过程需要使用的源码。

output目录,用来存放编译后的目标文件,像编译生成的交叉工具链在output/host/usr/目录,编译过程中解压后使用源码包在output/build/目录,编译后生成的目标文件系统和配置文件所需的库和应用程序在output/target/目录。



下载buildroot最新版buildroot-2013.08


解压源码包
tar xvzf buildroot-2013.08.tar.gz


拷贝一个现有的配置文件进行配置
cp configs/mini2440_defconfig .config


make menuconfig
可以配置字节序、指令集、浮点处理类型、CPU核心、uclibc版本、内核版本、主机名,登录密码、busybox版本、构建的交叉编译器版本、根文件系统的打包类型、目标文件系统需要用到各种包、board目录下的外部文件、等等。


编译
make
编译可能会出错,什么什么未安装,apt-get install安装好重新编译


如果是编译过程中需要下载什么包,但是停在那儿下载不了,需要重新配置buildroot的包下载地址
Build options  --->
Mirrors and Download locations  --->
下添加后重新编译即可



编译完成查看output/host/usr/目录下已经生成了交叉编译工具链
buildroot-2013.08/output/host/usr/bin# ./arm-buildroot-linux-uclibcgnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=./arm-buildroot-linux-uclibcgnueabi-gcc
COLLECT_LTO_WRAPPER=/opt/buildroot-2013.08/output/host/usr/libexec/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/lto-wrapper
Target: arm-buildroot-linux-uclibcgnueabi
Configured with: ./configure --prefix=/opt/buildroot-2013.08/output/host/usr --sysconfdir=/opt/buildroot-2013.08/output/host/etc --enable-shared --disable-static --disable-gtk-doc --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --target=arm-buildroot-linux-uclibcgnueabi --with-sysroot=/opt/buildroot-2013.08/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot --disable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --with-gmp=/opt/buildroot-2013.08/output/host/usr --with-mpfr=/opt/buildroot-2013.08/output/host/usr --enable-target-optspace --disable-libquadmath --enable-tls --enable-threads --with-mpc=/opt/buildroot-2013.08/output/host/usr --with-float=soft --disable-decimal-float --with-arch=armv4t --with-tune=arm920t --with-abi=aapcs-linux --with-float=soft --with-mode=arm --with-pkgversion='Buildroot 2013.08' --with-bugurl= --enable-languages=c --disable-largefile --disable-nls
Thread model: posix
gcc version 4.7.3 (Buildroot 2013.08)

output/target下已经生成了根文件系统
output/target# ls
bin  etc   lib    media  opt   root  sbin  THIS_IS_NOT_YOUR_ROOT_FILESYSTEM  usr
dev  home  lib32  mnt    proc  run   sys   tmp                               var
阅读(8055) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~