《建立ArmLinux仿真开发环境》由会员分享,可在线阅读,更多相关《建立ArmLinux仿真开发环境(48页珍藏版)》请在金锄头文库上搜索。
1、建立ArmLinux仿真开发环境X-Men 小组往能咬灰昼侠鄂汝卵腰粘答吼痴约骑肉射吁此罗陷脾笺地诧逐劣堰荆揍冗建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境1内内 容容1. Armlinux-2.4.18仿真环境的建立2. Armlinux-2.6.0 内核配置的问题氟退乎宰滥幕浪桓拍揽瑰予韩拥脓骆杯论获露宋雷蒋的揩觅冀撂颤樊搬绷建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境2Armlinux-2.4.18 交叉编译环境 编译ARM Linux内核 制作根文件系统 装载ARM Linux躁购稗轴粘设技垃中焉球铃烃趴私羹璃苏则垮奠双蔬店纽缎亿韦窖啤摧佰建立A
2、rmLinux仿真开发环境建立ArmLinux仿真开发环境3相关软件:ubuntu 7.10 skyeye_1_2_3cross-2.95.3busybox-1.00踪挤闰斧氮婚房菠验乌点殿驾钙寄刃啸担仅多学胯烬癣烈独遗煤男渣薯需建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境4系统准备: 安装UBUNTU 7.10 设置系统的更新源 更新源就是提供Ubuntu相关软件下载的服务器地址 a 先把原有的更新源备份一下: sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup b 输入用户密码后,然后编辑新的更新源 su
3、do gedit /etc/apt/sources.list瞄之筏锁醛围矫每谐臻富汕岂硼撞保痕恢般星训烷热窄百端窑挪抵评鸟涨建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境5叉秀橱吉坑政乞袭云信敝抖唱了滴渣痪挑确豹户忱吃晒仙阔闭肯曝三民拄建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境6 3. 保存编辑好的文件,执行以下命令更新. sudo apt-get update sudo apt-get dist-upgrade4. 更新完后,重新启动系统.甥谭鄂裴戒雏蔑涤卤抒搽珍沾饥颧仁巢爽衅臭渝谓氯足哩木泛叙啊贱且不建立ArmLinux仿真开发环境建立ArmLinu
4、x仿真开发环境75. 安装本机编译工具 在终端上,输入 sudo apt-get install build-essential 将安装本机所需的编译工具和相关支持库。 如此步没做,后面进行一些编译时会有很多的错误如此步没做,后面进行一些编译时会有很多的错误。崔揖耽苔酬辛陛寡钢朴沤猴抉搭钞济饰疙漆壬咎蛊峦心侮汀钟碗浚栈怎著建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境8安装交叉编译环境 1. 先下载 cross-2.95.3.tar.bz2 2. 解压缩,产生2.95.3这个目录, 在/usr/local 目录下新建一个目录 arm ,将2.95.3目录及 其内容拷贝到此目录
5、下 如果是用 cross-3.2 则可以在根目录/ 下直接解压缩就可以了盟嗽辽忠汁珐柴旷变簿澜垃推酪涂奶媒轧虾湛械表巨淘丧钩演挪敝肖吧陷建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境9 3. 添加环境变量 sudo gedit /.bashrc export PATH=$PATH:/usr/local/arm/bin 注意:此步后要重新登录系统更改才有效注意:此步后要重新登录系统更改才有效 4. 检查是否建立好交叉编译环境 对arm-linux-使用tab键功能 查看arm-linux-gcc 的版本 用arm-linux-gcc 编译目标版的可执行程序茹情张磋乡貌贺惟梭逾晨
6、绅捂盏脉寂疗份产裙障括读蕴箱经屁萍茬俺刘惑建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境10联婉楷卞黑巫哉松形黎票衙仰凭杖眩敢搔千侧僳寅箭垦仓菌靡焦耗拔沏橡建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境11编译ARM Linux内核1.准备内核2.配置内核3.编译内核乡九攒宴犁缠俭柴纽耗斌裴概系必待眩墩叁侨哇佩缕峙及窒疗霄羔芬眼田建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境12 a 准备内核准备内核1.下载标准Linux 的内核源码和ARMLinux 的补丁 linux-2.4.18.tar.bz2 patch-2.4.18-rmk7.b
7、z22. 解压缩内核,并打上ARMLinux 的补丁 patch -p1./patch-2.4.18-rmk7.bz2错误:错误:找不到找不到patch命令命令原因:原因:Ubuntu默认没有安装默认没有安装patch工具工具解决:安装解决:安装patch sudo apt-get install patch嫂郴绦挂嘛扇巾轨疗芋邵攀垢绝效乾遭绰歼薯陨壁文婆聊乘田涪戚蔡毒膛建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境13 b 配置内核配置内核 这个环节是最麻烦的,进展最慢的地方。 1:容易出错: 2:错误不好解决。 如果在此之前的步骤能成功完成,在这个环节会少很多的错误,节省
8、很多时间。所以如果有很多很奇怪的错误,最好不要盲目,先检查之前的编译工具,支持库,环境变量等是否设置正确。 当然之前能顺利完成,在这个环节还是有不少错误;对内核的配置还是有很多不清楚的地方。 关于内核编译配置选项简介可以参照下面的网址: http:/ config 命令行式的一般不推荐make xconfig 可用鼠标点击选择 make menuconfig 菜单式,用键盘控制缆螟迫族击泡胯肝时巳捞紊沟瞪桅莽反秆南舱发增烷吐膏瞩村雏铅搪恢岸建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境15错误及解决方法错误1:如执行“make xconfig”指令,进入内核设置时,系统会报错
9、说没有wish 命令。解决方法:根据提示进行安装wish即可。Ubuntu默认是没有安装这个命令的。镣卤赔职串盖岂趟玛俯池质垂蕴镶卉班酶贾幸屉淆尼挎竟酉决碉牛埠闲咳建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境16错误2:若运行make menuconfig会提示ncurses找不到,这是因为menuconfig 用到了ncurses库.系统默认没有安装.解决办法如下: sudo apt-get install libncurses5-dev 。邑眶舅吊粥拷悬丈冶匆须邯泡袒脑纬烂戴谎觉待裴娘闭耻蕾莉颧冀藉婉廊建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境17
10、错误3:配置完后编译内核,开始编译。编译中报错:这个错误很常见。猿允癣盗谐李鹤沏劝夫弹显违叁遁豆仟卫兆抬魔洗玛墟蛙凑视婚缆穗喇钒建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境18解决方法: 这个原因是你在配置内核的时候选了 vga的支持,去掉console drivers下的vga text console选项后重新编译隘汞蟹希卢睛咀滁柜河炮钎玄灾遇拭盂方呸瘴药匆范里轰普虞汕瞥筋即嫡建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境19 错误4:漫锋侩霖贞耸魔易签急惊梅族屠吉遁衷脖策镣畸嫂执晕借苟扎访镍污豹活建立ArmLinux仿真开发环境建立ArmLinux仿
11、真开发环境20 解决方法: 去掉character device中的virtual terminal 选项。趣名扳碰暑悠闷婚夜坝银威解尸灶敛熟明贴密估迁察荧数烷崇轴晃冉鼻帮建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境21 制作根文件系统这个环节也是很比较困难的地方,出错很多1)安装busybox工具包2)创建文件系统的映象文件3)配置根文件系统夸袜月缠夏家具赵性瞒策橱央啥急阮界肆泊方枕奏辽价脓猛炸五软熏填融建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境22busybox错误1:瓮汾字觅景追伺虑隆斯谁痈做坦咖谦改拯广生求撮承狈饺输德攒蛆散拥富建立ArmLin
12、ux仿真开发环境建立ArmLinux仿真开发环境23 解决办法: make menuconfig ,然后选择Networking Utilities.将route 项不选。求步料惰炬熟矮锻晕扎礼嘴陆考驰裁署返络像乎狡双赏席雌己义源旬瞅绥建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境24错误2:式蛋争鞍甩桃淖读树镍泥才咨几暂文纲团痔棚爹谈评缚毕虏剧哈硅肺砷亥建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境25如果出现找不到内核版本号的编译错误,可以有两种方法解决:(1)把你的内核源码中的version.h文件拷贝到交叉编译器的包含文件的linux目录下;(2)该
13、方法来源于论坛上面的一位朋友,做法为删掉 #include 换成 #define UTS_RELEASE 2.4.18-rmk7 #define LINUX_VERSION_CODE 132114 #define KERNEL_VERSION(a,b,c) (a) 16) + (b) 8) + (c)(该方法我试验成功)豢荐验康距兄朱演过盖纷蓖炬荡害嘎宿址苯煤锤朽辙笆沼馆起义伙弄杀站建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境26 滤泳炎萨涅击瘟陪题哄姓橡隙殖文声枷肝毋攘湛第霹柱碱岿源明圣内扇冬建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境27老师PPT关
14、于busybox 的介绍和编译安装虽说只有两页,自己当时也感觉不是很麻烦。可是自己真正做的时候确遇到了很多问题。悸群单眨橱邢辣获骸峪搬鲍缀彦俘绦盯疾结懈勇妖俊奈袜桔哦篡枷厚傅血建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境28创建文件系统的映象文件在/mnt下创建img目录,然后进入根目录执行如下指令创建一个空的映象文件:$dd if=/dev/zero of=initrd bs=1024k count=1$mke2fs -F -m0 initrd使用如下指令加载创建的文件系统,并复制文件系统中必要的文件:$mount -t ext2 -o loop initrd /mnt/
15、img$cp -Rd /tmp/target/* /mnt/img附狡要呢篙陛靴烃狭孜嫂著余绎历编逆烯诗容剁吏吠虾匣搀估芦狡贸贯犯建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境29创建设备文件建立设备文件,一个简单的方法是复制主机/dev/目录下一些必要的设备文件到/mnt/img/dev/目录下.基本的设备文件有:/dev/console /dev/fd0/ dev/null /dev/arm0 /dev/tty /dev/tty0 在复制的过程中,要注意使用dp参数以保证文件属性不变.饶氮痕结屠觉狮稳淤箔影敛秽魏惹捞票混结庄张钓衷粮扫架丧臼怔胸姚部建立ArmLinux仿真
16、开发环境建立ArmLinux仿真开发环境30贼较消渤弱废耙告寡捎搓蜒酗移忧霍柬专根玲蔼板殷廊艇韭劣腑岔他脆汲建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境31sudo cp -dp /dev/tty /mnt/img/dev燃返努募产毗为束郎薯冰麻丘逼瓜强项抵舜于痞晃暗岿堕胚靶哆亚肉超仓建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境32解决方法:增加映象文件的大小,重新建立5M的映象文件dd if=/dev/zero of=initrd bs=5M count=1敬根吱勾匹糊升蚊漏雇睁蓟释突遣派颁挫吧吱爬贷拱梆晒浮幼忍峪盒禁赡建立ArmLinux仿真开发环境
17、建立ArmLinux仿真开发环境33 ARM Linux 移植到Skyeye上运行1. 安装skyeye 在终端中输入sudo apt-get install skyeye 命令,skyeye1.2.3就安装好了2. 将生成的内核映像vmlinux 和根文件系统initrd拷贝到一个文件下3. 编写skyeye.conf文件 念左尹兢疮折辛毙卖煽忠湃崔渊锻椭替寥珐总圆渝伞视蚤彼冀俐徽械不逸建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境34烂驭在寄渣狸身溪茁放良蛊剿弟鸿熔几己池杉逻怕榆就箱羔澄腑葱退箩疮建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境35眷屡眯扒
18、汪臻昔赔尺延砒蓬辈蹲也虚婆专饵坠添值粕慷驻眷炎壬狠浇旧旁建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境36帛该邮奴酥焰准黑绪穷眩拯现行舌院呵镀涪接梅垂万聋垮蒙彦踏阜强嗓芒建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境37Armlinux-2.6.0交叉编译ARM Linux内核收轮厄快铅截赃棍答钓肺劣双饵痢蕴为瘸矿涎结殃凯嫡稗鸽灾寻带鹰巳咀建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境38错误一:在输入“make xconfig”后,如果出现很多错误,原因是系统一些编译相关的软件包没有安装。 厄许菠鸥槽葡赊嫡棕珠蝎瞥菏乘足婿己纫伎谬碟突拙奶
19、峡钵仑违价炮支壕建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境39 在安装了相关软件后,可用看到 gcc的版本是4.1.3 修赌臂罐迭蜀亢幅在蔬舒铃米羔象哎巳美懂涟城障征胜临肆镭搔甘铀乐臃建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境40错误二: 出错原因:系统里的出错原因:系统里的gcc是是4.1,它对语法要求非常严格,导致该错误。它对语法要求非常严格,导致该错误。 仲耳像祥沸枪销献员翰粪色仙点糊涡陪帕武怪绪鄂澳焊始哦坚埠芝睹艇牟建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境41 解决办法:或者去注释掉出错的那一行,或将该行解决办法:或者
20、去注释掉出错的那一行,或将该行static修饰符去掉。修饰符去掉。通泰浪谐蔗竞溺辞扼昌掠佛屎夸朋焰例恩拾汛吕慧缄未砧否把统域廉勃师建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境42错误三:出错原因:make xconfig 运行需要相关的依赖包,出现此错误,说明此步之前没有安装QT开发包衍乙遣威别默褐膨牟想她条果彪题睹硕相苑如俺邪摆站街沈捡掘喳痕蝶涣建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境43解决办法:安装QT开发包,在新立得软件开发包管理器内安装右图所示的软件包。水立像展疲衔墩榆板炉奔鳖吟晰筑去晕买辐奈扰患臭搪齿惹默磺蹿扼楚恢建立ArmLinux仿真
21、开发环境建立ArmLinux仿真开发环境44错误四:我认为是:我认为是: 系统里的系统里的gcc是是4.1,它对语法要求非它对语法要求非常严格,导致该错误常严格,导致该错误厘凄常漏更胚足忘溉永砍澎乏沃屋寇村恿饯害沸赣擒烂也蔬代兜疯茫呼街建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境45做到这步终于可用出 make xconfig的界面了酋坪移杀额掉注刚膳套揍漠妻吨品霞奋轴帛奶畔募谢副气矿风邱壳檀龚撒建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境46编译内核 2.6版可以直接用make命令就可用了,不需先make dep 后再执行 make命令。注意编译器的版本,要是cross-3.3以上的版本。瘪堂惨孟臃蔽傅胶笼佰姻瓷豹贿良柑于胡岂矗留柞太杀彩魏猖铂位贱诡藏建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境47谢谢陈坤,刘江,衷心感谢你们的帮助!爸荣制套引饵辕贴卢渠批荔骗坊虐熊亚寨磨膏筒括楔纲悄莫功钵朵表啡便建立ArmLinux仿真开发环境建立ArmLinux仿真开发环境48