设为首页 加入收藏

TOP

Fedora 13下建立arm交叉编译环境
2014-11-24 03:06:09 来源: 作者: 【 】 浏览:1
Tags:Fedora 建立 arm 交叉 编译 环境

终于把交叉编译环境、移植内核和制作root文件系统在arm开发板上顺利跑通了。期间有的步骤很顺利,更多的是被很多细节性的问题困住,比如最后一个不起眼的小问题导致文件系统无法加载,困扰了我一个星期,最终通过分析慢慢发现了这个bug。还有各源码包版本的问题,而且网上很多介绍都是基于旧版本的。我这里全部用我能找到的最新版本,当然,至于新旧版本到底哪个更好更合适,这是个智者见智的论题,不在本文讨论之列。我坚信很多人也遇到过或者即将遇到类似的错误和问题,因此我觉得把我过去两周做过的相关工作,详细地写下来,希望对大家有所帮助!


过程预览:


1,准备工作,包括下载源码包、补丁、建立文件夹和设置环境变量等


2,建立内核头文件


3,建立binutils


4,建立bootstrap gcc


5,建立glibc


6,建立完整版本gcc


7,测试hello world


现在就让我们开始吧!


1,准备工作


我使用的源码包和补丁 如下:


linux-2.6.34.tar.bz2


binutils-2.20.tar.gz


gcc-4.5.0.tar.bz2


gcc-4.5.0-startfiles_fix-1.patch


gmp-4.3.0.tar.bz2


mpc-0.8.2.tar.gz


mpfr-3.0.0.tar.bz2


glibc-2.11.tar.gz


glibc-linuxthreads-2.5.tar.bz2


glibc-ports-2.11.tar.bz2


glibc-2.11.2-gcc_fix-1.patch


至于怎么得到这些源码包,找google吧!


建立工作目录:


$ mkdir Embedded


$ cd Embedded


$ mkdir build-tools kernel tool


$ ls



build-tools kernel tool


各文件夹作用如下:


build-tools : 保存binutils、gcc 和 glibc的源代码和用来编译这些源代码的目录。


kernel : 保存内核源代码和补丁。


tools : 保存编译好的交叉编译工具和库文件。


设置环境变量:


这里设置环境变量只是为了方便,因为每个工具的config都需要输入类似的变量,不如放在环境变量里。


在命令行下打开vi ~/.bashrc,在文档最后输入下面几行,然后注销当前用户,重新登录


export PRJROOT=/home/jinglelong/MySoftware/Embedded
export TARGET=arm-linux
export PREFIX=$PRJROOT/tools
export TARGET_PREFIX=$PREFIX/$TARGET
export PATH=$PREFIX/bin:$PATH


各变量的具体意义如下:


PRJROOT : 整个工程的根目录,这里当然是Embeded了


TARGET : 目标文件对应的体系结构,arm-linux代表编译出来的target只能在arm体系结构中运行


PREFIX : 设置目标文件夹的路径前缀


TARGET_PREFIX : 设置目标文件夹的路径前缀路径


PATH : 添加可执行文件的路径,这里主要是只中间编译工具等


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下的PCI驱动编程 下一篇RedHat Enterprise Linux 5安装JD..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)