搭建arm交叉编译环境.doc_第1页
搭建arm交叉编译环境.doc_第2页
搭建arm交叉编译环境.doc_第3页
搭建arm交叉编译环境.doc_第4页
搭建arm交叉编译环境.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

搭建arm交叉编译环境V0.1ALL Rights Reserved, Copyright FUJITSU LIMITED 2013改版履历修改日期修改原因版本修改者2013/2/27初版制成V0.1WengFan目 录一 交叉编译器环境创建3二 使用交叉编译工具编译内核6三 使用交叉编译工具制作根文件系统8四 使用qemu运行10一 交叉编译器环境创建 编译器名字:codesourcery 下载地址:ftp:XXXX: arm-2011.03-41-arm-none-linux-gnueabi.bin运行可执行文件arm-2011.03-41-arm-none-linux-gnueabi.bin。命令:./ arm-2011.03-41-arm-none-linux-gnueabi.bin输入Y。接受许可协议。输入回车键,选择默认的配置。输入回车键,会默认安装到用户目录下的CodeSourcery/Sourcery_G+_Lite位置。这里建议选择输入回车选择默认配置。输入回车键,会默认在用户目录CodeSourcery/Sourcery_G+_Lite_for_ARM_GNU_Linux创建链接。这里建议选择输入回车选择默认配置。输出回车键确认安装信息。输入回车键开始安装。安装过程中的提示信息:输入回车键安装完成。二 使用交叉编译工具编译内核 测试内核版本:linux-7 下载地址:/pub/linux/kernel/v2.6/linux-7.tar.bz2按照以下步骤完成编译内核工作:1. 解压下载的kernel源码文件linux-7.tar.bz2。 命令:tar xvf linux-7.tar.bz2 2. 进入到源码的根目录下。 命令:cd linux-73. 配置编译内核的configue文件。命令:make ARCH=arm CROSS_COMPILE=arm-linux- versatile_defconfig4. 通过kernel界面配置内核选项。命令:make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig输入命令会会弹出kernel配置界面,进入到kernel Features选项配置界面,如下图所示:选择Use the ARM EABI to compile the kernel ,如下图所示:配置完成之后连续输入两次ESC键退出保存即可。5. 导入编译好的交叉编译工具目录。export PATH=/home/wengf/CodeSourcery/Sourcery_G+_Lite/bin:$PATH6. 编译内核命令:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-7. 生成内核编译完成之后在linux-7/arch/arm/boot/目录下的zImage为编译的内核文件。三 使用交叉编译工具制作根文件系统1. 准备busybox源码busybox版本:busybox-1.18.4.tar.bz2下载地址:/downloads/busybox-1.18.4.tar.bz22. 解压busybox源码命令:tar xvf busybox-1.18.4.tar.bz23. 配置busybox编译选项进入到busybox根目录。cd busybox-1.18.4配置选项命令:make menuconfig输入命令后,进入到图形化配置界面: 按如下进行配置Busybox Settings - | Build Options - | () Cross Compiler prefix (NEW) | 填写arm-none-linux-gnueabi-如下图所示:配置完成之后连续输入两次ESC键退出即可。5. 导入编译好的交叉编译工具目录。export PATH=/home/wengf/CodeSourcery/Sourcery_G+_Lite/bin:$PATH6. 编译命令:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-7. 安装命令:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- install输入命令后,会将编译好的busybox安装到busybox-1.18.4/_install目录下。8. 创建根文件系统目录和文件进入到编译好的busybox的_install目录。命令:cd _install创建生成根文件系统的shell脚本。命令: touch mkroot.shchmod 755 mkroot.sh在mkroot.sh脚本中输入以下内容: 1 #!/bin/sh 2 mkdir etc 3 cd etc 4 touch fstab 5 echo proc /proc proc defaults 0 0 fstab 6 touch inittab 7 echo :sysinit:/etc/init.d/rcS inittab 8 echo console:askfirst:-/bin/sh inittab 9 echo :ctrlaltdel:/bin/umount -a -r inittab 10 touch profile 11 echo echo -n Processing /etc/profile. profile 12 echo PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/u-updater profile 13 echo LD_LIBRARY_PATH=/lib:/usr/lib profile 14 echo export $PATH $LD_LIBRARY_PATH profile 15 echo echo Done profile 16 mkdir init.d 17 touch init.d/rcS 18 echo #! /bin/sh init.d/rcS 19 echo /bin/mount -a init.d/rcS 20 chmod +x init.d/rcS 21 cd . 22 cp $HOME/CodeSourcery/Sourcery_G+_Lite/arm-none-linux-gnueabi/libc/lib . -rf 23 mkdir proc 24 find . | cpio -c -o ./initrd.cpio注意:上述脚本中第22行是拷贝交叉编译的lib库。如果交叉编译器没有安装在默认位置,请手动更改lib库的位置。运行mkroot.sh脚本后,会在busybox的根目录下生成根文件系统文件initrd.cpio。四 使用qemu运行编译好内核文件zImage与根文件系统initrd.cpio之后,就可以使用qemu-system-arm来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论