Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174268
  • 博文数量: 48
  • 博客积分: 2085
  • 博客等级: 大尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-20 15:22
文章分类

全部博文(48)

文章存档

2013年(1)

2012年(1)

2011年(1)

2010年(16)

2009年(29)

分类:

2012-04-06 15:41:38

原文地址:如何在Fedora 10上安装Ltib 作者:mistyrain

Howto Install Ltib in Fedora 10

Author: misty (qibing83(a)yahoo.com.cn)

本文档是说明如何在Fedora 10系统上安装Freescale 提供的Ltib安装包。LtibLinux Target Imagine Build)是可以为不同平台开发和配置BSP的工具。Freescale为不同的平台(包括PowerPCColdFireARM等)提供来不同的Ltib,可以使用户很方便地移植Uboot,移植Linux内核,以及制作文件系统,使用Ltib只需要进行简单的配置,就可以帮我们完成其余的工作。

准备工作

首先到Freescale的网站上下载自己平台的BSP包,下载地址为:
我下载的是MPC8349EA_MDS_K26_20061221-LTIB.iso,这是为MPC8349EA开发板提供的BSP

安装Ltib

下载了BSPISO文件后,挂载这个iso文件,
下面操作的假设条件:
MPC8349EA_MDS_K26_20061221-LTIB.iso/home/qibing/目录下;
安装ltib/home/qibing/ppc/目录下;
#”表示当前是以root权限操作;
$”表示当前是以普通用户权限操作;

#cd /home/qibing

#mount -o loop MPC8349EA_MDS_K26_20061221-LTIB.iso /mnt

$cd /mnt

$./intall
注:当提示输入ltib的安装路径时,输入/home/qibing/ppc

$cd /home/qibing/ppc

$cd ltib

下面就要安装ltib了,但是在Fedora 10上按照的时候会有很多问题,我以走过这个流程的身份先把将要遇到的问题提出来,并解决这些问题,这样下面的安装过程才顺利。

如果这时运行./ltib则会遇到两个问题:

1. ltib安装是普通用户权限,但是部分操作需要root用户权限。按照提示进行如下操作,

#/usr/sbin/visudo
然后在文件最后添加如下内容:

qibing ALL = NOPASSWD:/bin/rpm, /opt/freescale/ltib/usr/bin/rpm

注:visudo实际就是编辑文件/etc/sudoers文件

2. 提示缺少rpm-build包。

通过$rpm -qrpm-build命令查看rpm-build包已经安装了,这可能是ltib的问题或者其他函数的问题,解决方法是(从论坛上摘录的):

From the directory where you type "./ltib" type "gedit ltib" if you have a Gnome install. I'm not sure what the KDE editor is, or use VI if you want edit in the console text mode. Search for "pre_install_deps". This is the table that "check_basic_deps" refers to. Look for a line that contains " rpm-buld 0". Comment out the line by adding "#" to the left of the line. Save and you should be good to go.



如果这时继续运行./ltib安装,则还会有问题,我自己的error log文件弄丢了,这是网上摘录的:

cp ./initscan.c scan.c
touch .bootstrap
gcc -c -I. -I. -g -O ccl.c
gcc -c -I. -I. -g -O dfa.c
gcc -c -I. -I. -g -O ecs.c
gcc -c -I. -I. -g -O gen.c
gcc -c -I. -I. -g -O main.c
gcc -c -I. -I. -g -O misc.c
gcc -c -I. -I. -g -O nfa.c
bison -y -d ./parse.y
make: *** [parse.c] Segmentation fault
error: Bad exit status from /home/nabendu/ltib-mpc8349emds-20061221/tmp/rpm-tmp.81449 (%build)


RPM build errors:
Bad exit status from /home/nabendu/ltib-mpc8349emds-20061221/tmp/rpm-tmp.81449 (%build)
Build time for flex: 13 seconds

Failed building flex
Died at ./ltib line 1395.

Started: Fri May 16 00:56:58 2008
Ended: Fri May 16 01:29:53 2008
Elapsed: 1975 seconds

These packages failed to build:
flex
Build Failed

解决的方法是:在运行./ltib之前,修改”dist/lfs-5.1/bison/bison.spec”文件,在%Build段修改makemake CFLAGS=-O0。然后再运行./ltib

接着会遇到下面的问题,
+ umask 022


+ cd /opt/freescale/ltib/usr/src/rpm/BUILD


+ cd mtd


+ make -C util


make: Entering directory `/opt/freescale/ltib/usr/src/rpm/BUILD/mtd/util'


gcc -I../include -O2 -Wall -g -c -o ftl_format.o ftl_format.c -g -Wp,-MD,.ftl_format.c.dep


In file included from /usr/include/endian.h:61,


from /usr/include/sys/types.h:217,


from ftl_format.c:38:


../include/bits/byteswap.h:21:3: error: #error "Never use directly; include instead."


make: *** [ftl_format.o] Error 1


make: Leaving directory `/opt/freescale/ltib/usr/src/rpm/BUILD/mtd/util'


error: Bad exit status from /home/qibing/ppc/ltib-mpc8349emds-20061221/tmp/rpm-tmp.88474 (%build)






RPM build errors:


Bad exit status from /home/qibing/ppc/ltib-mpc8349emds-20061221/tmp/rpm-tmp.88474 (%build)


Build time for mtd-utils: 0 seconds




Failed building mtd-utils


Died at ./ltib line 1395.




Started: Thu Jul 23 22:06:36 2009


Ended: Thu Jul 23 22:06:37 2009


Elapsed: 1 seconds




These packages failed to build:


mtd-utils


Build Failed
解决方法是:修改“/opt/freescale/pkgs/mtd-utils-20060302-cf-byteswap_h-1.patch文件,下面是网上论坛中摘录的解决方法:
Hi,

I had the same problem under Ubuntu 9.04. I solved it by modifying the lines 46, 47 and 48 of the "/opt/freescale/pkgs/mtd-utils-20060302-cf-byteswap_h-1.patch" file.



+#if !defined _BYTESWAP_H && !defined _NETINET_IN_H

+# error "Never use directly; include instead."

+#endif



by



+//#if !defined _BYTESWAP_H && !defined _NETINET_IN_H

+//# error "Never use directly; include instead."

+//#endif



(very cheap solution, but ... it works :-) )



然后删除掉“/opt/freescale/ltib/usr/src/rpm/BUILD/mtd”这个目录,最后再运行./ltib,最后安装成功^_^

使用Ltib





附录

1. 安装时出现错误的解决方法参看下面链接

2.



阅读(1649) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~