电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

如何构建嵌入式Linux系统VIP免费

如何构建嵌入式Linux系统_第1页
1/23
如何构建嵌入式Linux系统_第2页
2/23
如何构建嵌入式Linux系统_第3页
3/23
目录构建嵌入式Linux系统1.取本实验相关的软件包到ftp下载以下软件包:文件名备注binutils-2.16.1.tar.bz2gcc-4.0.2.tar.bz2glibc-2.3.6.tar.bz2glibc-linuxthreads-2.3.6.tar.bz2linux-2.6.15.4.tar.bz2linux-libc-headers-2.6.12.0.tar.bz2制作交叉编译工具链所需的源码包crosstool-0.43.tar.gz制作交叉编译工具链的脚本和补丁crosstool.tar.bz2已制作好的交叉编译工具链,需要解包到/opt目录使用linux-2.6.27.tar.bz2内核2.6.27patch-2.6.27-aka针对2440开发板制作的内核patchzImage已编译好的内核,可直接下载到开发板rootfs-basic.tar基本根文件系统打包,由于有设备文件,所以解包需要root权限rootfs-basic.cramfs采用cramfs文件系统格式的基本根文件系统映像,可直接下载到开发板busybox-1.9.1.tar.bz2busybox源码包,嵌入式根文件系统基本命令集sqlite-3.4.0.tar.gzsqlite源码包,嵌入式数据库libcgi-1.0.tar.gzlibcgi源码包,用于编写CGI程序的C函数库qtopia-core-opensource-src-4.2.2.tar.gzQtopiaCore源码包,Qt的嵌入式版本2.交叉编译工具链要做嵌入式Linux开发,首先需要有交叉编译工具链(crosscompilingtoolchain),也就是在主机(x86PC)上可编译生成目标板可执行文件(ARM指令)的编译工具。和普通的编译工具链一样,交叉编译工具链也包括编译、链接、修改目标文件的各种程序,如gcc、glibc、ld、gas、objdump、readelf等等。交叉编译工具链本身也是需要编译生成的,要得到一套完整的交叉编译工具链需要编译以下源码包:binutilsgccglibclinux(内核)linux-libc-headersglibc-linuxthreads这些源码包具有非常强的版本依赖关系,如果源码包的版本不匹配,在编译过程中会出现各种各样的问题,有些问题需要对源码做些修改或者打补丁,有些问题则是没有解决办法的,只能更换匹配较好的版本。编译的步骤也是比较复杂的,主要有以下几步:0.根据目标平台配置内核源代码,生成内核头文件1.编译binutils2.编译器的自举(bootstrap),也就是先编译出gcc的部分功能(没有glibc支持,只有C编译器没有C++编译器)3.编译glibc4.编译完整的gcc首先从stool下载crosstool-0.43.tar.gz,在主目录下解包~$tarxfcrosstool-0.43.tar.gz;cdcrosstool-0.43现在选择一种源码包的版本组合,各种版本组合的兼容性可以参考l/crosstool-0.43/buildlogs/,在此我们选择在arm平台上glibc版本较高,兼容性较好的一个组合:gcc-4.0.2cgcc-4.0.2glibc-2.3.6binutils-2.16.1linux-2.6.15.4hdrs-2.6.12.0修改crosstool-0.43目录下的脚本demo-arm.sh,取消这一行开头的#号注释符:#eval`catarm.datgcc-4.0.2-glibc-2.3.6.dat`shall.sh--notest同时将原本没有注释的这一行注释掉(前面加#号):eval`catarm.datgcc-4.1.0-glibc-2.3.2-tls.dat`shall.sh--notest注意该脚本开头有TARBALLS_DIR=$HOME/downloadsRESULT_TOP=/opt/crosstool这说明,该脚本运行时,自动从和下载相关的源码包到主目录的downloads目录下,如果你已经下载过这些源码包,将它们拷到downloads目录下就可以不必再次下载了。对应于我们选择的版本组合,downloads目录下的源码包有:binutils-2.16.1.tar.bz2gcc-4.0.2.tar.bz2glibc-2.3.6.tar.bz2glibc-linuxthreads-2.3.6.tar.bz2linux-2.6.15.4.tar.bz2linux-libc-headers-2.6.12.0.tar.bz2整个编译结束后,交叉编译工具链将放在/opt/crosstool目录下,因此脚本需要在/opt下建子目录,如果不希望使用root权限运行该脚本,则需要事先给/opt目录设置写权限:~$sudochmoda+w/opt然后修改arm.dat,其中有TARGET=arm-unknown-linux-gnu这是按标准的命名规则为工具链命名的,但是通常我们都采用更简单的命名,很多软件的Makefile中交叉编译器默认也都采用简单的命名,为此我们把它改为TARGET=arm-linux。由于编译过程需要用到patch、bison、flex,确认你的系统中安装了这些软件包。在编译过程中可能还会遇到脚本的兼容性问题,如果你的Linux发行版将sh指向dash(例如Ubuntu),应将其改指向bash:$cd/bin$sudoln-sfbashsh虽然用dash执行脚本时非...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

如何构建嵌入式Linux系统

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部