建立ArmLinu_仿真开发环境.ppt_第1页
建立ArmLinu_仿真开发环境.ppt_第2页
建立ArmLinu_仿真开发环境.ppt_第3页
建立ArmLinu_仿真开发环境.ppt_第4页
建立ArmLinu_仿真开发环境.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1 建立ArmLinux仿真开发环境 X Men小组 2 内容 1 Armlinux 2 4 18仿真环境的建立2 Armlinux 2 6 0内核配置的问题 3 Armlinux 2 4 18 交叉编译环境编译ARMLinux内核制作根文件系统装载ARMLinux 4 相关软件 ubuntu7 10skyeye 1 2 3cross 2 95 3busybox 1 00 5 系统准备 安装UBUNTU7 10设置系统的更新源更新源就是提供Ubuntu相关软件下载的服务器地址a先把原有的更新源备份一下 sudocp etc apt sources list etc apt sources list backupb输入用户密码后 然后编辑新的更新源sudogedit etc apt sources list 6 7 3 保存编辑好的文件 执行以下命令更新 sudoapt getupdatesudoapt getdist upgrade4 更新完后 重新启动系统 8 5 安装本机编译工具在终端上 输入sudoapt getinstallbuild essential将安装本机所需的编译工具和相关支持库 如此步没做 后面进行一些编译时会有很多的错误 9 安装交叉编译环境1 先下载cross 2 95 3 tar bz22 解压缩 产生2 95 3这个目录 在 usr local目录下新建一个目录arm 将2 95 3目录及其内容拷贝到此目录下如果是用cross 3 2则可以在根目录 下直接解压缩就可以了 10 3 添加环境变量sudogedit bashrcexportPATH PATH usr local arm bin注意 此步后要重新登录系统更改才有效4 检查是否建立好交叉编译环境对arm linux 使用tab键功能查看arm linux gcc的版本用arm linux gcc编译目标版的可执行程序 11 12 编译ARMLinux内核准备内核配置内核编译内核 13 a准备内核下载标准Linux的内核源码和ARMLinux的补丁linux 2 4 18 tar bz2patch 2 4 18 rmk7 bz22 解压缩内核 并打上ARMLinux的补丁patch p1 patch 2 4 18 rmk7 bz2错误 找不到patch命令原因 Ubuntu默认没有安装patch工具解决 安装patchsudoapt getinstallpatch 14 b配置内核这个环节是最麻烦的 进展最慢的地方 1 容易出错 2 错误不好解决 如果在此之前的步骤能成功完成 在这个环节会少很多的错误 节省很多时间 所以如果有很多很奇怪的错误 最好不要盲目 先检查之前的编译工具 支持库 环境变量等是否设置正确 当然之前能顺利完成 在这个环节还是有不少错误 对内核的配置还是有很多不清楚的地方 关于内核编译配置选项简介可以参照下面的网址 15 配置内核的方式 三种方式 makeconfig命令行式的一般不推荐makexconfig可用鼠标点击选择makemenuconfig菜单式 用键盘控制 16 错误及解决方法 错误1 如执行 makexconfig 指令 进入内核设置时 系统会报错说没有wish命令 解决方法 根据提示进行安装wish即可 Ubuntu默认是没有安装这个命令的 17 错误2 若运行makemenuconfig会提示ncurses找不到 这是因为menuconfig用到了ncurses库 系统默认没有安装 解决办法如下 sudoapt getinstalllibncurses5 dev 18 错误3 配置完后编译内核 开始编译 编译中报错 这个错误很常见 19 解决方法 这个原因是你在配置内核的时候选了vga的支持 去掉consoledrivers下的vgatextconsole选项后重新编译 20 错误4 21 解决方法 去掉characterdevice中的virtualterminal选项 22 制作根文件系统这个环节也是很比较困难的地方 出错很多1 安装busybox工具包2 创建文件系统的映象文件3 配置根文件系统 23 busybox 错误1 24 解决办法 makemenuconfig 然后选择NetworkingUtilities 将route项不选 25 错误2 26 如果出现找不到内核版本号的编译错误 可以有两种方法解决 1 把你的内核源码中的version h文件拷贝到交叉编译器的包含文件的linux目录下 2 该方法来源于论坛上面的一位朋友 做法为删掉 include换成 defineUTS RELEASE 2 4 18 rmk7 defineLINUX VERSION CODE132114 defineKERNEL VERSION a b c a 16 b 8 c 该方法我试验成功 27 28 老师PPT关于busybox的介绍和编译安装虽说只有两页 自己当时也感觉不是很麻烦 可是自己真正做的时候确遇到了很多问题 29 创建文件系统的映象文件 在 mnt下创建img目录 然后进入根目录执行如下指令创建一个空的映象文件 ddif dev zeroof initrdbs 1024kcount 1 mke2fs F m0initrd 使用如下指令加载创建的文件系统 并复制文件系统中必要的文件 mount text2 oloopinitrd 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 sudocp dp dev tty mnt img dev 33 解决方法 增加映象文件的大小 重新建立5M的映象文件ddif dev zeroof initrdbs 5Mcount 1 34 ARMLinux移植到Skyeye上运行1 安装skyeye在终端中输入sudoapt getinstallskyeye命令 skyeye1 2 3就安装好了2 将生成的内核映像vmlinux和根文件系统initrd拷贝到一个文件下3 编写skyeye conf文件 35 36 37 38 Armlinux 2 6 0 交叉编译ARMLinux内核 39 错误一 在输入 makexconfig 后 如果出现很多错误 原因是系统一些编译相关的软件包没有安装 40 在安装了相关软件后 可用看到gcc的版本是4 1 3 41 错误二 出错原因 系统里的gcc是4 1 它对语法要求非常严格 导致该错误 42 解决办法 或者去注释掉出错的那一行 或将该行static修饰符去掉 43 错误三 出错原因 makexconfig运行需要相关的依赖包 出现此错误 说明此步之前没有安装QT开发包 44 解决办法 安装QT开发包 在新立得软件开发包管理器内安装右图所示的软件包 45 错误四

温馨提示

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

评论

0/150

提交评论