使用buildroot创建自己的交叉编译工具链
关键字:buildroot 交叉编译
Author: chad
Mail: linczone@163.com
开发环境: deepin 14.03 + mini2440 (使用原厂linux2.6.29)
曾经,很长一段时间我一直有个疑惑:为什么我用at91sam9260交叉编译工具链编译的程序只能在at91sam9260上运行,在mini2440上就不能运行?相反,用使用于mini2440的交叉编译工具链编译的程序在at91上也不能运行?mini2440与at91sam9260都是arm平台,同样使用linux系统,为何二进制程序不能通用呢?
本文将解答这些疑惑。我们是不建议重复发明轮子的,但如果我们不自己发明一次,我们永远不知道轮子是怎么来的。
进行嵌入式Linux开发的第一步是创建交叉编译工具链,在过去很长的一段时间里,构建一套交叉编译工具链对于嵌入式开发者来说简直是一场恶梦,因为他们得手动跟踪各种源码包(及其更新包)之间的依赖关系。直到buildroot的出现改变了这一事实。
Buildroot是一个Makefiles和patches的命令集,它可以非常简单的为你的目标系统产生一个交叉编译工具链和根文件系统,整个创建过程就如同编译Linux内核一般。
1、下载buildroot
直接从官网下载最新的源码包:http://buildroot.net/downloads/
2、安装依赖库、软件包
下文摘自buildroot官网操作说明:
1. Build tools:
gcc (version 2.95 or any later)
g++ (version 2.95 or any later)
python (version 2.6 or 2.7)
2. dependencies packages:
下面的自己根据需要安装
ncurses5 ;menuconfig 使用
qt4 ;xconfig 使用
glib2, gtk2 and glade2 ;gconfig 使用