收藏 分享(赏)

搭建arm交叉编译环境.doc

上传人:hskm5268 文档编号:7305003 上传时间:2019-05-14 格式:DOC 页数:11 大小:1.26MB
下载 相关 举报
搭建arm交叉编译环境.doc_第1页
第1页 / 共11页
搭建arm交叉编译环境.doc_第2页
第2页 / 共11页
搭建arm交叉编译环境.doc_第3页
第3页 / 共11页
搭建arm交叉编译环境.doc_第4页
第4页 / 共11页
搭建arm交叉编译环境.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、1搭建 arm 交叉编译环境V0.1ALL Rights Reserved, Copyright FUJITSU LIMITED 20132改版履历修改日期 修改原因 版本 修改者2013/2/27 初版制成 V0.1 WengFan3目 录一 交叉编译器环境创建 3二 使用交叉编译工具编译内核 6三 使用交叉编译工具制作根文件系统 .8四 使用 qemu 运行 .104一 交叉编译器环境创建编译器名字:codesourcery下载地址:ftp:XXXX: arm-2011.03-41-arm-none-linux-gnueabi.bin运行可执行文件 arm-2011.03-41-arm-n

2、one-linux-gnueabi.bin。命令:./ arm-2011.03-41-arm-none-linux-gnueabi.bin输入 Y。接受许可协议。输入回车键,选择默认的配置。5输入回车键,会默认安装到用户目录下的 CodeSourcery/Sourcery_G+_Lite 位置。这里建议选择输入回车选择默认配置。输入回车键,会默认在用户目录 CodeSourcery/Sourcery_G+_Lite_for_ARM_GNU_Linux 创建链接。这里建议选择输入回车选择默认配置。6输出回车键确认安装信息。输入回车键开始安装。安装过程中的提示信息:7输入回车键安装完成。二 使用交

3、叉编译工具编译内核测试内核版本:linux-2.6.32.27下载地址:http:/www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.27.tar.bz2按照以下步骤完成编译内核工作:1. 解压下载的 kernel 源码文件 linux-2.6.32.27.tar.bz2。命令:tar xvf linux-2.6.32.27.tar.bz22. 进入到源码的根目录下。命令:cd linux-2.6.32.273. 配置编译内核的 configue 文件。命令:make ARCH=arm CROSS_COMPILE=arm-linux- vers

4、atile_defconfig4. 通过 kernel 界面配置内核选项。命令:make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig输入命令会会弹出 kernel 配置界面,进入到 kernel Features 选项配置界面,如下图所示:8选择 Use the ARM EABI to compile the kernel ,如下图所示:配置完成之后连续输入两次 ESC 键退出保存即可。5. 导入编译好的交叉编译工具目录。export PATH=/home/wengf/CodeSourcery/Sourcery_G+_Lite/bin:$PATH6

5、. 编译内核命令:make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-7. 生成内核编译完成之后在 linux-2.6.32.17/arch/arm/boot/目录下的 zImage 为编译的内核文件。9三 使用交叉编译工具制作根文件系统1. 准备 busybox 源码busybox 版本:busybox-1.18.4.tar.bz2下载地址:http:/ 解压 busybox 源码命令:tar xvf busybox-1.18.4.tar.bz23. 配置 busybox 编译选项进入到 busybox 根目录。cd busybox-1.18

6、.4配置选项命令:make menuconfig输入命令后,进入到图形化配置界面:按如下进行配置Busybox Settings - | Build Options -| () Cross Compiler prefix (NEW) | 填写 arm-none-linux-gnueabi-如下图所示:10配置完成之后连续输入两次 ESC 键退出即可。5. 导入编译好的交叉编译工具目录。export PATH=/home/wengf/CodeSourcery/Sourcery_G+_Lite/bin:$PATH6. 编译命令:make ARCH=arm CROSS_COMPILE=arm-non

7、e-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/sh2 mkdir etc3 cd

8、 etc4 touch fstab5 echo “proc /proc proc defaults 0 0“ fstab6 touch inittab7 echo :sysinit:/etc/init.d/rcS inittab8 echo console:askfirst:-/bin/sh inittab9 echo :ctrlaltdel:/bin/umount -a -r inittab10 touch profile11 echo “echo -n “Processing /etc/profile. “ profile12 echo “PATH=/bin:/sbin:/usr/bin:

9、/usr/sbin:/usr/local/u-updater“ profile13 echo “LD_LIBRARY_PATH=/lib:/usr/lib“ profile14 echo “export $PATH $LD_LIBRARY_PATH“ profile15 echo “echo “Done“ profile16 mkdir init.d17 touch init.d/rcS1118 echo “#! /bin/sh“ init.d/rcS19 echo “/bin/mount -a“ init.d/rcS20 chmod +x init.d/rcS21 cd 22 cp $HOM

10、E/CodeSourcery/Sourcery_G+_Lite/arm-none-linux-gnueabi/libc/lib . -rf23 mkdir proc24 find . | cpio -c -o /initrd.cpio注意:上述脚本中第 22 行是拷贝交叉编译的 lib 库。如果交叉编译器没有安装在默认位置,请手动更改 lib 库的位置。运行 mkroot.sh 脚本后,会在 busybox 的根目录下生成根文件系统文件 initrd.cpio。四 使用 qemu 运行编译好内核文件 zImage 与根文件系统 initrd.cpio 之后,就可以使用 qemu-system-arm来启动一个简单的系统了。命令如下:qemu-system-arm -M versatilepb -kernel zImage -initrd initrd.cpio -m 128M -append “console=ttyAMA0 root=/dev/ram rdinit=/linuxrc“ -nographic

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报