ltib安装过程中遇到好多问题,从网上转来的好多份总结

最近调试MPC5125的板子,第一步LTIB都装不过去,挫败感十足。

LTIB的安装镜像来自于freescale的ltib-mpc5121ads-200906,是用于Ubuntu 10版本之前的,现在就算装10.04也无法联网更新了,所以只能把服务器装为Ubuntu 12.04版本的,遂厚脸皮去问freescale的技术人员,得到答复,安装步骤如下:

a) 通过Ubuntu的自我更新进行更新;

b) 安装相关包;

sudo apt-get install patch g++ rpm zlib1g-dev m4 bison libncurses5-dev libglib2.0-dev gettext build-essential tcl intltool libxml2-dev liborbit2-dev libx11-dev ccache flex uuid-dev liblzo2-dev

c) 在Ubuntu中加载LTIB镜像并./install,此步骤仅完成LTIB安装第一步;

d) 修改visudo以增加用户权限,终端下打开/usr/sbin/visudo,增加如下命令:

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

为Ubuntu所设置的个人用户名,非root

注意事项:如果该步导致sudoers文件出问题,需重启通过recovery mode -> root 进行恢复;

e) 修复Ltibutils.pm的问题。用vi或者gedit打开LTIB目录/bin/Ltibutils.pm,在对应行中插入/i386-linux-gnu。具体为,

563行:‘glibc-devel‘ => sub { -f ‘/usr/lib/i386-linux-gnu/libm.so‘ || -f ‘/usr/lib64/libz.so‘ },

583行:zlib => sub { my @f = (glob(‘/usr/lib/i386-linux-gnu/libz.so*‘),

584行:glob(‘/lib/i386-linux-gnu/libz.so*‘),

保存退出;

f) 安装LTIB补丁,该补丁主要用于解决LTIB在Ubuntu 12.04下lkc等包的安装问题,下载地址点我。打补丁方法为:终端进入到补丁所在文件夹,输入命令:

sh install-patches.sh

为目标文件夹。完成后会提示DONE,会有一处错误;

g) 进入LTIB目录,终端运行./ltib,成功后会提示Build Succeeded。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

一、LTIB简介

LTIB(Linux Target Image Builder)工程是一个使用在不同的目标平台下,用于开发和部署BSP(Board Support Packages)的简单工具。使用该工具,用户能够为其目标平台开发符合GNU/Linux标准的映像。

LTIB支持PPC,ARM,Coldfire等多种目标架构。包含超过200个用户使用的工具包以及通用跨平台的根文件系统。LTIB支持bootloader和内核映像的构建。编译时可对交叉编译工具进行选择。支持RAMDISK和JFFS2 Flash映像的创建。

二、安装

2.1、下载安装包与安装环境

从freescale官方网站下载 MPC837XERDB_20091207_ltib.iso。我使用的系统是centos5.5。

2.2、安装过程

1)、挂载iso光盘

进入root用户,使用命令mount挂载。

mount - o loop /yourisodirc/MPC837XERDB_20091207_ltib.iso /mnt/cdrom

这样就将iso镜像挂到了/mnt/cdrom下,要保证mnt下有cdrom目录。

2)、创建安装目录与文件拷贝

在你要安装ltib的路径下创建安装目录,比如ltib。

mkdir /home/yourcount/ltib

复制文件到你的目录。

cp -rf /mnt/cdrom/* /home/yourcount/ltib

3)、安装

进入ltib目录,执行./install,根据提示输入相应的路径。完成后就会在相应的目录下生成如图所示文件:

[[email protected] ltib-mpc837xerdb-20100107]$ ls

bin     COPYING  doc              ltib    RELEASE_INFO  rootfs          rootfs.ext2.gz.uboot  rpm

config  dist     host_config.log  README  release_logs  rootfs.ext2.gz  rootfs_image          tmp

在该目录下执行

./ltib --preconfig config/platform/mpc837xerdb/defconfig-8377e --batch

等待安装完成

在该目录下执行

./ltib --preconfig config/platform/mpc837xerdb/defconfig-8377e --batch

4)、bug修正

在安装过程中会遇到如下问题:

Processing: sparse

====================

Died at ./ltib line 1380.

traceback:

main::build_host_rpms:1380

main::host_checks:1435

main:542

Started: Mon Oct 29 10:02:03 2012

Ended: Mon Oct 29 10:02:04 2012

Elapsed: 1 seconds

These packages failed to build:

mtd-utils-20060302

Build Failed

我们进入root用户,修改/mtd-utils-20060302-cf-byteswap_h-1.patch,

vi /opt/freescale/pkgs/mtd-utils-20060302-cf-byteswap_h-1.patch

注掉 lines 46, 47 and 48 :

+//#if !defined _BYTESWAP_H && !defined _NETINET_IN_H +//# error "Never use directly; include instead." +//#endif

然后删除“/opt/freescale/ltib/usr/src/rpm/BUILD/mtd”这个目录

再运行./ltib --preconfig config/platform/mpc837xerdb/defconfig-8377e --batch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

mtd-utils编译出错,导致ltib编译不过的解决办法!

LTIB Basics Installing the BSP Please follow the steps below to install LTIB on your host machine.

. As root, mount the ISO image on your machine ------------------------------------ $ mount -o loop <target-bsp.iso> <mount point> ------------------------------------ . As a non-root user, install LTIB ------------------------------------ $ <mount point>/install ------------------------------------

The BSP EULA will be presented for acceptance. To continue installing accept the license. Then, input the desired LTIB install path. Be sure the user has the correct permissions for the install path.

There are no uninstall scripts. To uninstall LTIB yhou need to remove the /opt/freescale/pkgs, /opt/preescale/ltib and <install_path>/ltib directories manually.

Running LTIB ~~~~~~~~~~~~ To run LTIB, change to the directory into which you installed it and run ./ltib.

--------------------------------- $ cd <install_path>/ltib

####ltib完成install之后首次必须执行./ltib

[email protected]:~/ltib-mpc8315erdb-20080630$ ./ltib

Installing host support packages.

This only needs to be done once per host, but may take up to an hour to complete ...

If an error occurs, a log file with the full output may be found in: /home/linux/ltib-mpc8315erdb-20080630/host_config.log

Exiting on error or interrupt Please see >> /home/linux/ltib-mpc8315erdb-20080630/host_config.log for details

####查看出错的打印消息 [email protected]:~/ltib-mpc8315erdb-20080630$ cat host_config.log                  Updating lpp from local packages

Processing platform: Host support packages ============================================ using /home/linux/ltib-mpc8315erdb-20080630/config/platform/host/ltib.preconfig

Processing: fake-provides ===========================

Processing: mkspooflinks ==========================

Processing: bison ===================

Processing: flex ==================

Processing: texinfo =====================

Processing: autoconf ======================

Processing: libtool =====================

Processing: lkc =================

Processing: wget ==================

Processing: uclinux-cksum ===========================

Processing: genext2fs =======================

Processing: genromfs ======================

Processing: gen_init_cpio ===========================

Processing: u-boot-tools ==========================

Processing: mtd-utils ======================= Build path taken because: no prebuilt rpm,

Cowardly refusing to clobber existing directory:  /opt/freescale/ltib/usr/src/rpm/BUILD/mtd      Remove this by hand if you really want to rebuild this package from scratch

scbuild/scdeploy already unpacked package

Processing: mtd-utils ======================= Build path taken because: build key set, no prebuilt rpm,

rpmbuild --dbpath ///opt/freescale/ltib/var/lib/rpm --target i686 --define ‘_unpackaged_files_terminate_build 0‘ --define ‘_target_cpu i686‘ --define ‘__strip strip‘ --define ‘_topdir /opt/freescale/ltib/usr/src/rpm‘ --define ‘_prefix /opt/freescale/ltib/usr‘ --define ‘_tmppath /home/linux/ltib-mpc8315erdb-20080630/tmp‘ --define ‘_mandir /opt/freescale/ltib/usr/share/man‘ --define ‘_sysconfdir /opt/freescale/ltib/etc‘ --define ‘_localstatedir /var‘ -bc --short-circuit  /home/linux/ltib-mpc8315erdb-20080630/dist/lfs-5.1/mtd-utils/mtd-utils.spec      Building target platforms: i686                                                                                Building for target i686                                                                                       Executing(%build): /bin/sh -e /home/linux/ltib-mpc8315erdb-20080630/tmp/rpm-tmp.18676                          + 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 <bits/byteswap.h> directly; include <byteswap.h> 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/linux/ltib-mpc8315erdb-20080630/tmp/rpm-tmp.18676 (%build)

RPM build errors:     Bad exit status from /home/linux/ltib-mpc8315erdb-20080630/tmp/rpm-tmp.18676 (%build) Build time for mtd-utils: 0 seconds

Failed building mtd-utils Died at ./ltib line 1225. traceback:                main::build_host_rpms:1225   main::host_checks:1279      main:489

Started: Mon Feb 14 16:59:43 2011 Ended:   Mon Feb 14 16:59:50 2011 Elapsed: 7 seconds

These packages failed to build: mtd-utils

Build Failed

解决办法

参考链接:

http://forums.freescale.com/t5/CodeWarrior-for-ColdFire-and/Tlib-build-for-8349-MDS/m-p/32167?view=by_date_ascending

直接修改源码:sudo vi /opt/freescale/ltib/usr/src/rpm/BUILD/mtd/include/bits/byteswap.h

注释一下三行(20-22):

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

//# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."

//#endif

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

第一个问题:关于安装过程中需要超级权限,而ltib安装又不让用root用户安装,所以只有修改/etc/sudoers文件,

sudo visudo

在最后一行添加 username ALL=NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm

需要添加的内容我是得到的过程是:

开始我在最后一行添加 username ALL=(ALL) ALL

执行./ltib

自动提示出来你需要添加的内容 我的当然就是username ALL=NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm

再次执行 sudo visudo 修改最后一行的内容。

第二个rpm-build的问题:我的解决办法跟下面描述的不一样,rpmbuild是安装上了,但是我的原因是因为我使用sudo  apt-get install rpm  默认安装的rpm版本太高是rpm4.7。最后我重新下载了rpm_4.4.2.3-1_i386.deb,由于安装包有相当多的依赖关系我总共下载了

librpm4.4_4.4.2.3-1_i386.deb

libbeecrypt6_4.1.2-7_i386.deb

libneon27_0.28.2-6.1_i386.deb

libcomerr2_1.41.3-1_i386.deb

相关下载deb包的地址:http://www.debian.org/distrib/packages

以后遇到的问题安装下面文章解决方法均的到解决。

以下转自:http://blog.chinaunix.net/u2/70351/showart_2005242.html

Howto Install Ltib in Fedora 10

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

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

准备工作

首先到Freescale的网站上下载自己平台的BSP包,下载地址为:


http://www.freescale.com/webapp/sps/site/overview.jsp?code=CW_BSP

我下载的是MPC8349EA_MDS_K26_20061221-LTIB.iso,这是为MPC8349EA开发板提供的BSP。

安装Ltib

下载了BSP的ISO文件后,挂载这个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段修改make为make 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 <bits/byteswap.h> directly; include <byteswap.h> 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 <bits/byteswap.h> directly; include <byteswap.h> instead."

+#endif

by

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

+//# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."

+//#endif

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

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

使用Ltib

附录

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

http://forums.freescale.com/freescale/board/message?board.id=CWCFCOMM&thread.id=2044&view=by_date_ascending&page=1

2.

时间: 2024-10-15 01:31:33

ltib安装过程中遇到好多问题,从网上转来的好多份总结的相关文章

hadoop安装过程中出现的错误

此次来记录一下我在安装Hadoop安装过程中出现的错误,安装过程参照慕课网林子雨教程进行安装,在尝试过程中出现的错误如下: 1.在安装Ubuntu时,新建虚拟电脑时,并没有在版本的输入框中有Ubuntu(64bit)的显示,得在电脑图标出现之前,进入blos开启CPU的虚拟化,然后才能正常显示 2.配置JAVA_HOME环境变量时,用vim进行在文件中语句输入,操作不会,后来知道用E键编辑,用i键插入,然后esc退出编辑,wq键保存文件并退出,完成文件更改 3.在将hadoop解压到/usr/l

SQL安装过程中“针对SQL Server 注册表的一致性验证“出错解决方式

1.打开注册表,查找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\0804],分别打开Counter 和Help 2.打开Counter,把滚动条拉倒最后,然后记下最大的那个值(不同计算机不一样的),记下后关闭窗口 3.同样的打开Help,滚动到最后记最大的那个值(你们的值不一定跟我一样的哦!!!),记下后关闭窗口 4,再重新定位到Perflib的节点上, 5.双击Last Counter然后在

20170514002Oracle 11g R2安装过程中遇到的报错及解决办法

Oracle 11g R2安装过程中遇到的报错及解决办法 1.提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #su – Oracle  //切换到oracle用户 $./runInstaller  //执行安装程序 xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时, 做为应用程序来说,hostA

Oracle RAC安装过程中碰到的“坑”和关键点(二)

(1) 依赖包的安装 Linux下安装Oracle,除了系统配置参数,我觉得依赖包的安装是另一个比较琐碎的操作. 本次安装碰到了几个包的问题: (a) rpm -Uvh gcc-4*提示: 02. error: Failed dependencies: 03.    cloog-ppl >= 0.15 is needed by gcc-4.4.7-4.el6.x86_64 04.    cpp = 4.4.7-4.el6 is needed by gcc-4.4.7-4.el6.x86_64 不

Slackware安装过程中遇到的问题

在此记录Slackware安装过程中遇到的问题以及一些杂项.... 1.关于grub安装:如果在安装过程中未安装lilo,可在退出setup,但在重启之前安装grub. chroot /mnt grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg 2.安装后引导出现kernel panic no syncing:vfs unable to mount root fs on... 解决方法:首先chroot from cd(下文提到如

Debian7.6安装过程中遇到的问题

一 sudo命令不能用 1 使用su切换到root用户,命令: su 2 使用名:vim /etc/sudoers添加sudoer用户,命令: vim /etc/sudoers 找到root=(ALL:ALL)ALL,在下面添加: %你的用户名=(ALL)ALL 如果不想输入密码,可如下书写: %你的用户名 ALL=(ALL) NOPASSWD: ALL 二 中文系统切换为英文系统 1 获得root权限,编辑local文件,命令: vim /etc/default/local 2 把已经存在的内

Office 2010 安装过程中出错

今天在安装office2010 的时候一直提示:"安装过程中失败",具体错误信息如下图: 注册表也按照网上的进行了删除,也用微软的清理工具清理过了,杀毒软件也关闭了,Windows Install服务业特意开启了,但还是失败. office卸载工具下载地址:http://download.csdn.net/detail/xunzaosiyecao/7289875 解决方法: 安装的时候,不安装共享和工具就可以成功了. 小注: 安装成功后,如果后面的使用中用到了共享与office工具,在

GODADDY SSL 证书安装过程中的问题

GODADDY 证书安装过程中的问题 1.  注册账号 2.  申请证书 3.  进入SSL 证书  选择"管理" 打开后 可以根据自己的需求下载相应的证书 4.  我这里下载的Nginx的,一个是证书,另一个gd_bundle-g2-g1.crt下载完后上传到WEB服务器上然后配置nginx 如下: listen       443 ssl; server_name  youdomain; ssl                                     on; ssl

MySQL5.7 安装过程中出现 attempting to start service 过不去

MySQL5.7 安装过程中出现 attempting to start service 过不去. 1,机制打开服务,把MySql服务名启动(我的是MySqlAliyun) 启动失败:提示1067错误. 2,在mysql安装目录(C:\Program Files\MySQL\MySQL Server 5.7)下把my-default.ini复制为my.ini 在my.ini取消basedir和datadir的注释: #设置basedir指向mysql的安装路径 basedir= C:\Progr