在Ubuntu操作系统下安装飞思卡尔的LTIB.docx_第1页
在Ubuntu操作系统下安装飞思卡尔的LTIB.docx_第2页
在Ubuntu操作系统下安装飞思卡尔的LTIB.docx_第3页
在Ubuntu操作系统下安装飞思卡尔的LTIB.docx_第4页
在Ubuntu操作系统下安装飞思卡尔的LTIB.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

飞思卡尔的LTIB在Ubuntu下的安装指南LTIB(Linux Target Image Builder)上半部分主要是LTIB在Ubuntu11.10下的安装,分割线一下则是LTIB在Ubuntu9.04下的安装。其中Ubuntu11.10下安装并未成功,但是距离成功也应该不远了。9.04下则成功安装。首先,我不得不说,你在干着一件很蠢的事但是谁让我们是程序员呢!So,lets go!先讲讲我的环境,我本地是XP,上装了一个VirtualBox,这里面装的Ubuntu11.10,目的是搭建FreeScale的LTIB编译环境。我的LTIB是2.6.35的版本。这个破烂玩意折腾了我一周时间。所以写下来,用以给后人以指点。首先,至于安装Ubuntu和VBox,我就不废话了,网上一堆的东西,度娘和谷哥是你离不开的好朋友。Ubuntu安装完成后,首先先设置共享文件夹,设置方法如下:1. 启动虚拟机,点击 设备 安装增强功能 ,此时在 ubuntu 桌面上会加载工具包镜像。 2. 在虚拟机中启动终端,并进入该镜像目录。在 /media下既可以看到系统自动挂载的目录,目录名不定,进入。 3. 运行 VBoxLinuxAdditions-x86.run 命令。 sudo sh VBoxLinuxAdditions-x86.run /注释:我的安装目录中就不是这个文件名,所以你只要确定文件名字包含VBox Linux Addition即可 安装后可以重启 ubuntu 。此时你的Ubuntu就可以根据你的外部窗口大小自动调整自己的窗口大小了。 首先在 ubuntu 这个虚拟操作系统界面上找到 设备 - 分配数据空间 ,添加你想共享的文件夹。 挂载 windows 文件夹 cd /mnt sudo mkdir Ubuntu-android /该处的Android为挂载完成后XP系统中的在Ubuntu中的查看点 sudo mount -t vboxsf xp-android /mnt/Ubuntu-android 注: vboxsf 指的是 virtual box 的共享文件夹的意思 xp-android 为本地的目录名称,最好直接使用一级目录即D:xp-android。 挂载完成后,在XP中放个文件,然后在Ubuntu中进入/mnt/Ubuntu-android文件夹中,你就可以看见你的文件,那么恭喜你,挂在成功。这只是万里长征的第一步,还有很多路要你慢慢走呢。 然后把LTIB的source的那个tar包弄进去吧,位置随便放,一般来说放到自己家目录下最好,因为以后可能还会用得到。 然后tar xzvf LTIB*.tar.gz会出来一个文件夹,进去,执行install。 见到Y|N就选Y,见到协议了,就一直敲空格。最后安装目录还是安装到自己的家目录下,注意,那里的路径只要写/home/usrname(usrname为你的用户名)即可。安装完成后,你就能看到/home/usrname/ltib这个目录了。 然后,go into到ltib目录中,执行./ltib命令,此后,你就可以看到一系列的问题了,实在是苦不堪言的一些列问题。 首先,权限问题,你必须让你自己具有root权限,因为在编译ltib时,有些必须要有root权限才能编译,所以编辑/etc/sudoers文件,这个文件很重要,看仔细了,每一步都不能出错。 首先将自己切换为root,为这个文件更改权限,原权限为440,更改为740.然后vi这个文件,在最后一行添加一句: usrname ALL = NOPASSWD:/bin/rpm, /opt/freescale/ltib/usr/bin/rpm(usrname为你需要提升权限的用户名) 修改完成后,保存,退出,注意,不要退出root用户模式,因为你必须把权限改回去,改成440后,你才能退出到普通用户模式。 一旦忘记更改,你就会发现自己的很多命令用不了了,如sudo至于这个的解决办法,网上很多,简单说就是重启后,按住shift,进入安全模式,更改权限,就好了。 然后。你就可以执行ltib了,恭喜你,一系列的麻烦又来了总结一下,其实也无外乎就是一类为主,那就是包缺失。 所以,那么我们就来安装包吧,记住先使用:sudo apt-get install *这个命令,因为有几个包你安装的Ubuntu的sourceList中可能是可以更新的,那样你就可以省去很多麻烦了,这里我只说几个比较不好弄的,如有一个gcc-c+的包,死活都安装不上,其实这个包你可以使用sudo apt-get install g+完成。ncurses可以只用 sudo apt-get install libncurses5-dev进行安装。这些是你的系统的source中已经有这些包了,只是没有安装的,还有一些是彻底的没有的,那么你就只能去下载了。 一样有两个办法,一个是直接在Ubuntu中下载,使用wget命令,如wget wget /gnu/glibc/glibc-2.3.3.tar.gz,这样你就可以将glibc安装包下载到本地了,另一个就是在XP中下载安装包,建议去/这个网页下载所需要的安装包,一般以下载那些以.tar.gz结尾的安装包比较好。 下载完成后,将其通过共享文件夹送入Ubuntu中,先cp到/tmp这种文件夹中,这样安装完成后,你就可以不去理会他们了,他们可以自动在系统重启的时候被清理掉,注意,清理的只是安装程序,并不会清理掉你已经安装的这个包。解压后,进去你解压后的包中,执行./configure进行编译,完了之后执行make,再然后sudo make install ,然后包就安装完成了。 多试试,一般来说,都可以了,但是提防不住,还是有些包,你明明安装了,但是还是找不到,没什么奇怪的。解决办法是修改ltib。 确定安装后,如zlib,你明明安装了。但是就是说你没安装,怎么办?首先,进入litb目录中的有一个bin目录,和你执行./ltib是同一级目录中的,进入bin后有一个Ltibutils.pm文件,vi打开,底行模式输入/zlib回车,全文找到zlib,可见类似如下的代码: zlib = sub my f = (glob(/usr/lib/libz.so*), glob(/lib/libz.so*), glob(/lib64/libz.so*) ); f 1 ? 1 : 0 , zlib-devel = sub -f /usr/include/zlib.h 可见,zlib其实指向的是一个libz.so*的库文件,这个库文件可能位于/usr或者是/lib目录中,那么我们就来/usr和/lib下,分别使用find ./ -depth -name libz.so*命令来找找看这个库文件的路径,肯定能找到的。找到了吧,那就把这个路径写到Ltibutils.pm文件中,如新找到的路径是/usr/lib/i386-linux-gnu/libz.so下和/lib/i386-linux-gnu/libz.so的,那么我就可以把文件修改成如下这样。zlib = sub my f = (glob(/usr/lib/i386-linux-gnu/libz.so*), glob(/lib/i386-linux-gnu/libz.so*), glob(/lib64/libz.so*) ); f 1 ? 1 : 0 , zlib-devel = sub -f /usr/include/zlib.h ,保存退出,然后错误就Over了。如此类推,基本可以解决编译不过的问题了。但是在执行了约20分钟后,新的问题又出来了,好像是什么“-force-debian:unknown option”,这个我好不容易才找到的,拿出来,大家齐分享 下。主要是直接修改ltib这个文件,就是我们修改这个文件,我这人比较懒惰,直接把修改后的文件和源文件做了比较,好好看看可以看懂的。(ltib.bak为改动后文件)- ltib2011-12-17 18:49:30.000000000 +0800+ ltib.bak2011-12-09 15:10:02.000000000 +0800 -927,8 +927,6 $cmd .= -root $cf-rpmroot ; $cmd .= -dbpath $cf-rpmdb ; $cmd .= -prefix $cf-rpmipfx if $cf-rpmipfx;- $cmd .= -force-debian if $rpm = m/rpm-fs/ & uname -a = m/ubuntu/i;- $cmd .= -ignorearch -ivh ; $cmd .= -force unless $cf-conflicts | $cf-hostinst; $cmd .= -replacepkgs -replacefiles if $cf-hostinst; -2341,12 +2339,14 if(! -e $cf-rpmroot/$cf-rpmdb/Packages) system_nb(sudo $cf-rpm -root $cf-rpmroot -dbpath $cf-rpmdb -initdb+$cf-sudo $cf-rpm -root $cf-rpmroot -dbpath $cf-rpmdb -initdb |+$cf-sudo rpm -root $cf-rpmroot -dbpath $cf-rpmdb -initdb TXT elsif($do_rebuild) system_nb(sudo $cf-rpm -root $cf-rpmroot -dbpath $cf-rpmdb -define _tmppath $cf-tmppath -rebuilddb+$cf-sudo $cf-rpm -root $cf-rpmroot -dbpath $cf-rpmdb -define _tmppath $cf-tmppath -rebuilddb |+$cf-sudo rpm -root $cf-rpmroot -dbpath $cf-rpmdb -define _tmppath $cf-tmppath -rebuilddb TXT 看不懂的,我也简单说一下,就是在你的ltib文件中的大约2341和1339行左右将以减号开头的语句替换为以加号开头的语句。clear?很清楚了吧。哦,对了 $cmd .= -force-debian if $rpm = m/rpm-fs/ & uname -a = m/ubuntu/i; 这一句,你也最好加上,加到大约是927行,还有把rpm-build 0这句,加一个#号,注释掉,然后,跑跑吧,一般就该能跑了老实说,我老人家是没有跑起来,网上说这样就OK了,但是真的没行。然后出了一个什么错误我忘记了,因为我是在被ltib折磨疯了,所以我换了个9.04的安装了。你或许可以看看9.04的,可能对你有点启示。转载请注明:以上文由雨中纵歌完成。我是分割线首先,在虚拟机中配置文件共享的方式就不多说了,还有ltib的install就不废话了。主要说说在Ubuntu9.04中怎么怎么解决出现的问题。首先,第一点,现在Ubuntu9.04已经算是比较过时的了,很多网点都不再对其提供支持了,所以你需要更新一下源。具体方法如下:编辑你的源文件:Vi /etc/apt/sources.list将该文件的最后几行没有#号的注释掉,就是加上#号,在最后,添加这样两行:deb .tw/ubuntu/ jaunty main universe restricted multiversedeb-src .tw/ubuntu/ jaunty universe main multiverse restricted不要加#号哦!这样你就为你的系统重新换了一个源。这个源是我们找到的比较好的一个源。好啦,:wq。然后我们来更新一下整个系统:使用命令:sudo apt-get update然后等待更新完成,很快的。然后呢,还是可能会有很多问题,我们想了一个歪门,很管用的哦。你把我下面给出的这些命令全部执行一遍,然后,就差不多了。sudo aptitude -y install gettext libgtk2.0-dev rpm bison m4 libfreetype6-devsudo aptitude -y install libdbus-glib-1-dev liborbit2-dev intltoolsudo aptitude -y install ccache ncurses-dev zlib1g zlib1g-dev gcc g+ libtoolsudo aptitude -y install uuid-dev liblzo2-devsudo aptitude -y install tcl dpkg这样以来,你该安装的就安装完了。但是执行./ltib的时候还是会有问题,好不容易我们才找到解决办法。问题其实是这样的,我们的这个2.6.35的ltib的一个补丁包和系统中的不兼容了。所以把这个补丁包的名字改掉就OK了。到你的ltib目录下的dist/lfs-5.1/mtd-utils之中,你会看见两个东东,一个是mtd-utils-20060302.spec ,另一个就是 mtd-utils.spec 。这是你可以把前一个20060302的这个给做一个备份。然后把后一个直接mv为如下这个名字的文件 mtd-utils-201006.spec,还没完呢,因为系统为了打补丁方便,这个mtd-utils是一个封装,所以你需要把201006这个文件生成一个mtd-utils.spec的软连接。即ln -s mtd-utils-201006.spec mtd-utils.spec 这样就OK了,然后再执行一遍./ltib就基本可以了。对了,还有,每次在编译某一个错误的时候,要做的第一件事情是去/opt/freescale/ltib/usr/src/rpm/BUILD/下删掉编译错误的包,否则你重新编译,他就会在第一时间来着看,就算你改正确了,也还是一样会出错。你最好还是看看我的那片ltib在11.10中的安装,这样你就会安装的更加顺利。个人感觉,这个ltib的安装甚是复杂啊!不仅需要耐心,更需要多查找网络上的东东,结合着来,基本就OK了。下面是我一个兄弟搞的资料大全,供君参考:/index.php?title=UbuntuHelp:Freescale5329AndUclinux&variant=zh-cn#LTIB_installation/space.php?uid=7876309&do=blog&id=255329/index.php?title=UbuntuHelp:Freescale5329AndUclinux&variant=zh-cn#Bug/t5/Other-Microcontrollers/I-MX31-ltib-error/td-p/25748/index.php?title=UbuntuHelp:Freescale5329AndUclinux&variant=zh-cn#Root_directory_installation_.28in_NAND_Flash_-_JFFS2.29/t5/i-MX-Microprocessors/iMX25-install-ltib/m-p/52263/group/ltib/forum/topics/please-publ

温馨提示

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

评论

0/150

提交评论