建立ArmLinux仿真开发环境

上传人:豆浆 文档编号:4350180 上传时间:2017-08-06 格式:PPT 页数:48 大小:626.50KB
返回 下载 相关 举报
建立ArmLinux仿真开发环境_第1页
第1页 / 共48页
建立ArmLinux仿真开发环境_第2页
第2页 / 共48页
建立ArmLinux仿真开发环境_第3页
第3页 / 共48页
建立ArmLinux仿真开发环境_第4页
第4页 / 共48页
建立ArmLinux仿真开发环境_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《建立ArmLinux仿真开发环境》由会员分享,可在线阅读,更多相关《建立ArmLinux仿真开发环境(48页珍藏版)》请在金锄头文库上搜索。

1、1,建立ArmLinux仿真开发环境,X-Men 小组,2,内 容,1. Armlinux-2.4.18仿真环境的建立2. Armlinux-2.6.0 内核配置的问题,3,Armlinux-2.4.18,交叉编译环境 编译ARM Linux内核 制作根文件系统 装载ARM Linux,4,相关软件:ubuntu 7.10 skyeye_1_2_3cross-2.95.3busybox-1.00,5,系统准备: 安装UBUNTU 7.10 设置系统的更新源 更新源就是提供Ubuntu相关软件下载的服务器地址 a 先把原有的更新源备份一下: sudo cp /etc/apt/sources.li

2、st /etc/apt/sources.list_backup b 输入用户密码后,然后编辑新的更新源 sudo gedit /etc/apt/sources.list,6,7,3. 保存编辑好的文件,执行以下命令更新. sudo apt-get update sudo apt-get dist-upgrade4. 更新完后,重新启动系统.,8,5. 安装本机编译工具 在终端上,输入 sudo apt-get install build-essential 将安装本机所需的编译工具和相关支持库。 如此步没做,后面进行一些编译时会有很多的错误。,9,安装交叉编译环境 1. 先下载 cross-2

3、.95.3.tar.bz2 2. 解压缩,产生2.95.3这个目录, 在/usr/local 目录下新建一个目录 arm ,将2.95.3目录及 其内容拷贝到此目录下 如果是用 cross-3.2 则可以在根目录/ 下直接解压缩就可以了,10,3. 添加环境变量 sudo gedit /.bashrc export PATH=$PATH:/usr/local/arm/bin 注意:此步后要重新登录系统更改才有效 4. 检查是否建立好交叉编译环境 对arm-linux-使用tab键功能 查看arm-linux-gcc 的版本 用arm-linux-gcc 编译目标版的可执行程序,11,12,编译

4、ARM Linux内核准备内核配置内核编译内核,13,a 准备内核下载标准Linux 的内核源码和ARMLinux 的补丁 linux-2.4.18.tar.bz2 patch-2.4.18-rmk7.bz22. 解压缩内核,并打上ARMLinux 的补丁 patch -p1./patch-2.4.18-rmk7.bz2错误:找不到patch命令原因:Ubuntu默认没有安装patch工具解决:安装patch sudo apt-get install patch,14,b 配置内核 这个环节是最麻烦的,进展最慢的地方。 1:容易出错: 2:错误不好解决。 如果在此之前的步骤能成功完成,在这个环

5、节会少很多的错误,节省很多时间。所以如果有很多很奇怪的错误,最好不要盲目,先检查之前的编译工具,支持库,环境变量等是否设置正确。 当然之前能顺利完成,在这个环节还是有不少错误;对内核的配置还是有很多不清楚的地方。 关于内核编译配置选项简介可以参照下面的网址: http:/ config 命令行式的一般不推荐make xconfig 可用鼠标点击选择 make menuconfig 菜单式,用键盘控制,16,错误及解决方法,错误1:如执行“make xconfig”指令,进入内核设置时,系统会报错说没有wish 命令。解决方法:根据提示进行安装wish即可。Ubuntu默认是没有安装这个命令的。

6、,17,错误2:若运行make menuconfig会提示ncurses找不到,这是因为menuconfig 用到了ncurses库.系统默认没有安装.解决办法如下: sudo apt-get install libncurses5-dev 。,18,错误3:配置完后编译内核,开始编译。编译中报错:这个错误很常见。,19,解决方法: 这个原因是你在配置内核的时候选了 vga的支持,去掉console drivers下的vga text console选项后重新编译,20,错误4:,21,解决方法: 去掉character device中的virtual terminal 选项。,22,制作根文

7、件系统这个环节也是很比较困难的地方,出错很多1)安装busybox工具包2)创建文件系统的映象文件3)配置根文件系统,23,busybox,错误1:,24,解决办法: make menuconfig ,然后选择Networking Utilities.将route 项不选。,25,错误2:,26,如果出现找不到内核版本号的编译错误,可以有两种方法解决:(1)把你的内核源码中的version.h文件拷贝到交叉编译器的包含文件的linux目录下;(2)该方法来源于论坛上面的一位朋友,做法为删掉 #include 换成 #define UTS_RELEASE 2.4.18-rmk7 #define

8、LINUX_VERSION_CODE 132114 #define KERNEL_VERSION(a,b,c) (a) 16) + (b) 8) + (c)(该方法我试验成功),27,28,老师PPT关于busybox 的介绍和编译安装虽说只有两页,自己当时也感觉不是很麻烦。可是自己真正做的时候确遇到了很多问题。,29,创建文件系统的映象文件在/mnt下创建img目录,然后进入根目录执行如下指令创建一个空的映象文件:$dd if=/dev/zero of=initrd bs=1024k count=1$mke2fs -F -m0 initrd使用如下指令加载创建的文件系统,并复制文件系统中必要

9、的文件:$mount -t ext2 -o loop initrd /mnt/img$cp -Rd /tmp/target/* /mnt/img,30,创建设备文件建立设备文件,一个简单的方法是复制主机/dev/目录下一些必要的设备文件到/mnt/img/dev/目录下.基本的设备文件有:/dev/console /dev/fd0/ dev/null /dev/arm0 /dev/tty /dev/tty0 在复制的过程中,要注意使用dp参数以保证文件属性不变.,31,32,sudo cp -dp /dev/tty /mnt/img/dev,33,解决方法:增加映象文件的大小,重新建立5M的映

10、象文件dd if=/dev/zero of=initrd bs=5M count=1,34,ARM Linux 移植到Skyeye上运行1. 安装skyeye 在终端中输入sudo apt-get install skyeye 命令,skyeye1.2.3就安装好了2. 将生成的内核映像vmlinux 和根文件系统initrd拷贝到一个文件下3. 编写skyeye.conf文件,35,36,37,38,Armlinux-2.6.0,交叉编译ARM Linux内核,39,错误一:在输入“make xconfig”后,如果出现很多错误,原因是系统一些编译相关的软件包没有安装。,40,在安装了相关软

11、件后,可用看到 gcc的版本是4.1.3,41,错误二:,出错原因:系统里的gcc是4.1,它对语法要求非常严格,导致该错误。,42,解决办法:或者去注释掉出错的那一行,或将该行static修饰符去掉。,43,错误三:,出错原因:make xconfig 运行需要相关的依赖包,出现此错误,说明此步之前没有安装QT开发包,44,解决办法:安装QT开发包,在新立得软件开发包管理器内安装右图所示的软件包。,45,错误四:,我认为是: 系统里的gcc是4.1,它对语法要求非常严格,导致该错误,46,做到这步终于可用出 make xconfig的界面了,47,编译内核 2.6版可以直接用make命令就可用了,不需先make dep 后再执行 make命令。注意编译器的版本,要是cross-3.3以上的版本。,48,谢谢,陈坤,刘江,衷心感谢你们的帮助!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号