建立ArmLinux仿真开发环境_第1页
建立ArmLinux仿真开发环境_第2页
建立ArmLinux仿真开发环境_第3页
建立ArmLinux仿真开发环境_第4页
建立ArmLinux仿真开发环境_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

建立ArmLinux仿真开发环境X-Men小组1内容仿真环境的建立内核配置的问题2交叉编译环境编译ARMLinux内核制作根文件系统装载ARMLinux3相关软件:ubuntu7.10skyeye_1_2_34系统准备:安装设置系统的更新源更新源就是提供Ubuntu相关软件下载的效劳器地址a先把原有的更新源备份一下:b输入用户密码后,然后编辑新的更新源

56

3.保存编辑好的文件,执行以下命令更新.sudoapt-getupdatesudoapt-getdist-upgrade4.更新完后,重新启动系统.75.安装本机编译工具

在终端上,输入

sudoapt-getinstallbuild-essential

将安装本机所需的编译工具和相关支持库。

如此步没做,后面进行一些编译时会有很多的错误。8安装交叉编译环境

1.如果是用cross-3.2那么可以在根目录/下直接解压缩就可以了9

3.添加环境变量

sudogedit~/.bashrcexportPATH=$PATH:/usr/local/arm/bin

注意:此步后要重新登录系统更改才有效

4.检查是否建立好交叉编译环境

对arm-linux-使用tab键功能查看arm-linux-gcc的版本用arm-linux-gcc编译目标版的可执行程序1011编译ARMLinux内核准备内核配置内核编译内核12

a

准备内核下载标准Linux的内核源码和ARMLinux的补丁

2.解压缩内核,并打上ARMLinux的补丁

错误:找不到patch命令原因:Ubuntu默认没有安装patch工具解决:安装patchsudoapt-getinstallpatch13

b配置内核这个环节是最麻烦的,进展最慢的地方。1:容易出错:2:错误不好解决。如果在此之前的步骤能成功完成,在这个环节会少很多的错误,节省很多时间。所以如果有很多很奇怪的错误,最好不要盲目,先检查之前的编译工具,支持库,环境变量等是否设置正确。当然之前能顺利完成,在这个环节还是有不少错误;对内核的配置还是有很多不清楚的地方。关于内核编译配置选项简介可以参照下面的

14配置内核的方式三种方式:makeconfig

命令行式的一般不推荐makexconfig

可用鼠标点击选择

makemenuconfig

菜单式,用键盘控制15错误及解决方法错误1:如执行“makexconfig〞指令,进入内核设置时,系统会报错说没有wish命令。解决方法:根据提示进行安装wish即可。Ubuntu默认是没有安装这个命令的。16错误2:假设运行makemenuconfig会提示ncurses找不到,这是因为menuconfig用到了ncurses库.系统默认没有安装.解决方法如下:sudoapt-getinstalllibncurses5-dev。17错误3:配置完后编译内核,开始编译。编译中报错:这个错误很常见。18解决方法:这个原因是你在配置内核的时候选了vga的支持,去掉consoledrivers下的vgatextconsole选项后重新编译19

错误4:20

解决方法:

去掉characterdevice中的virtualterminal选项。21

制作根文件系统这个环节也是很比较困难的地方,出错很多1)安装busybox工具包2)创立文件系统的映象文件3)配置根文件系统22busybox错误1:23

解决方法:makemenuconfig,然后选择NetworkingUtilities.将route项不选。24错误2:25如果出现找不到内核版本号的编译错误,可以有两种方法解决:(1)把你的内核源码中的文件拷贝到交叉编译器的包含文件的linux目录下;(2)该方法来源于论坛上面的一位朋友,做法为删掉

#include<linux/version.h>换成

#defineUTS_RELEASE"2.4.18-rmk7"#defineLINUX_VERSION_CODE132114#defineKERNEL_VERSION(a,b,c)(((a)<<16)+((b)<<8)+(c))(该方法我试验成功)26

27老师PPT关于busybox的介绍和编译安装虽说只有两页,自己当时也感觉不是很麻烦。可是自己真正做的时候确遇到了很多问题。28创立文件系统的映象文件①在/mnt下创立img目录,然后进入根目录执行如下指令创立一个空的映象文件:$ddif=/dev/zeroof=initrdbs=1024kcount=1$mke2fs-F-m0initrd②使用如下指令加载创立的文件系统,并复制文件系统中必要的文件:$mount-text2-oloopinitrd/mnt/img$cp-Rd/tmp/target/*/mnt/img29创立设备文件建立设备文件,一个简单的方法是复制主机/dev/目录下一些必要的设备文件到/mnt/img/dev/目录下.根本的设备文件有:/dev/console/dev/fd0/dev/null/dev/arm0/dev/tty/dev/tty0在复制的过程中,要注意使用dp参数以保证文件属性不变.3031sudocp-dp/dev/tty/mnt/img/dev32解决方法:增加映象文件的大小,重新建立5M的映象文件ddif=/dev/zeroof=initrdbs=5Mcount=133

ARMLinux移植到Skyeye上运行1.安装skyeye

在终端中输入sudoapt-getinstallskyeye命令,就安装好了2.

将生成的内核映像vmlinux和根文件系统initrd拷贝到一个文件下3.

编写文件34353637交叉编译ARMLinux内核38错误一:在输入“makexconfig〞后,如果出现很多错误,原因是系统一些编译相关的软件包没有安装。

39在安装了相关软件后,可用看到gcc的版本是

40错误二:

出错原因:系统里的gcc是4.1,它对语法要求非常严格,导致该错误。

41解决方法:或者去注释掉出错的那一行,或将该行static修饰符去掉。42错误三:出错原因:makexconfig运行需要相关的依赖包,出现此错误,说明此步之前没有安装QT开发包43解决方法:

安装QT开发包,在新立得软件开发包管理器内安装右图所示的软件包。44错误四:我认为是:

系统里的gcc是

温馨提示

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

评论

0/150

提交评论