构建嵌入式Linux开发环境.docx
《构建嵌入式Linux开发环境.docx》由会员分享,可在线阅读,更多相关《构建嵌入式Linux开发环境.docx(21页珍藏版)》请在第一文库网上搜索。
1、构建嵌入式1INUX开发环境构建嵌入式1inux系统1.取本实验有关的软件包到ftp下载下列软件包:文件名备注binuti1s_2.16.1.tar.bz2gcc_4.O.2.tar.bz2g1ibc_2.3.6.tar.bz2g1ibc-1inuxthreads-2.3.6.tar.bz21inu-2.6.15.4.tar.bz2Iinux-Iibc-headers-2.6.12.O.tar.bz2制作交叉编译工具链所需的源码包crosstoo1-O.43.tar.gzcrosstoo1.tar.bz21inu-2.6.27.tar.bz2patch-2.6.27-akazImageroot
2、fs-basic.tarrootfs-basic.cramfs制作交叉编译工具链的脚本与补丁己制作好的交叉编译工具链,需要解包到/opt目录使用内核2.6.27针对2440开发板制作的内核patch己编译好的内核,可直接下载到开发板基本根文件系统打包,由于有设备文件,因此解包需要root权限使用cramfs文件系统格式的基本根文件系统映像,可直接下busybox-1.9.1.tar.bz2sq1ite-3.4.0.tar.gz1ibcgi-1.0.tar.gzqtopia-core-opensource-src-4.2.2.tar.gz载到开发板busybox源码包,嵌入式根文件系统基本命令集
3、SqIite源码包,嵌入式数据库Iibcgi源码包,用于编写CG1程序的C函数库QtopiaCore源码包,Qt的嵌入式版本2.交叉编译工具链要做嵌入式1inux开发,首先需要有交叉编译工具链(crosscompi1ingtoo1chain),也就是在主机(x86PC)上可编译生成目标板可执行文件(ARM指令)的编译工具。与普通的编译工具链一样,交叉编译工具链也包含编译、链接、修改目标文件的各类程序,如gcc、g1ibcIdsgas、ObjdUnip、reade1f等等。交叉编译工具链本身也是需要编译生成的,要得到套完整的交叉编译工具链需要编译下列源码包: binuti1s gcc g1ibc
4、 Iinux(内核) Iinux-Iibc-Headers g1ibc-1inuxthreads这些源码包具有非常强的版本依靠关系,假如源码包的版本不匹配,在编译过程中会出现各类各样的问题,有些问题需要对源码做些修改或者者打补丁,有些问题则是没有解决办法的,只能更换匹配较好的版本。编译的步骤也是比较复杂的,要紧有下列几步: .根据目标平台配置内核源代码,生成内核头文件1 .编译binuti1s2 .编译器的自举(bootstrap),也就是先编译出gcc的部分功能(没有g1ibc支持,只有C编译器没有C+编译器)3 .编译g1ibc4 .编译完整的gcc$tarxfcrosstoo1-0.43
5、.tar.gz;cdcrosstoo1-0.43 gcc-4.0.2 cgcc-4.0.2 g1ibc-2.3.6 binuti1s-2.16.11inux-2.6.15.4hdrs2.6.12.O修改CroSStOO1-O.43目录下的脚本demo-arm.sh,取消这一行开头的#号注释符:#eva1catarm.datgcc-4.0.2-g1ibc-2.3.6.dafsha11.sh-notest同时将原本没有注释的这一行注释掉(前面加#号):eva1catarm.datgcc-4.1.0-g1ibc-23.2-t1s.datsha11.shnotest注意该脚本开头有TARBA11S_D
6、IR=$HOME/down1oadsRES1J1TTOP=/opt/crosstoo1 binuti1s_2.16.1.tar.bz2 gcc-4.0.2.tar.bz2 g1ibc_2.3.6.tar.bz2 g1ibc-1inuxthreads-2.3.6.tar.bz2 1inu-2.6.15.4.tar.bz2 Iinux-Iibc-headers-2.6.12.0.tar.bz2整个编译结束后,交叉编译工具链将放在optCroSStooI目录下,因此脚本需要在/。Pt下建子目录,假如不希望使用root权限运行该脚本,则需要事先给/opt目录设置写权限:-$sudochmoda+w/o
7、pt然后修改armdat,其中有TARGET=arm-unknown-1inux-gnu这是按标准的命名规则为工具链命名的,但是通常我们都使用更简单的命名,很多软件的MakCfiIe中交叉编译器默认也都使用简单的命名,为此我们把它改为TARGET=arm-1inux。由于编译过程需要用到PatCh、bison、f1ex,确认你的系统中安装了这些软件包。在编译过程中可能还会遇到脚本的兼容性问题,假如你的1inUX发行版将Sh指向dash(比如UbUntU),应将其改指向bash:$Cd/bin$sudoIn-sfbashsh尽管用dash执行脚本时非常高效同时事实上现完全遵守POSIX标准,然而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构建 嵌入式 Linux 开发 环境