Ltib安装指南

最近使用freescale的嵌入式方案编写qt应用程序,配置交叉编译环境花费了好大时间,网上的ltib教程不完全,东拼西凑的,终于成功编译。在此分享 兼保存。




1      资源准备

硬件:i.mx53

环境:ubuntu 12.04.4,

ltib源代码:L2.6.35_11.05.01_ER_source_bundle.tar.gz

https://cache.freescale.com/secured/bsps/L2.6.35_11.05.01_ER_source_bundle.tar.gz?__gda__=1405582895_25b0749a91da29f8156b0827e8a5cb89&fileExt=.gz

LTIB补丁:ubuntu-ltib-patch.tgz,该补丁主要用于解决LTIB在Ubuntu 12.04下lkc等包的安装问题

https://community.freescale.com/servlet/JiveServlet/downloadBody/93454-102-3-2834/ubuntu-ltib-patch.tgz

2      安装支持库

sudo apt-get install patch g++ rpm zlib1g-dev m4 bison libncurses5-devlibglib2.0-dev gettext build-essential tcl intltool libxml2-dev liborbit2-devlibx11-dev ccache flex uuid-dev liblzo2-dev xsltproc libfreetype6-devlibfontconfig1-dev libdbus-glib-1-dev libgtk2.0-dev libxtst-dev orbit2 libghc6-gtk-dev

3      修复安装包

如使用已修复包,跳过此步

3.1    修复Ltibutils.pm

Ltib目录下的bin/Ltibutils.pm

用vi或者gedit打开LTIB目录/bin/Ltibutils.pm,具体修改如下,

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*'),

保存退出;

3.2    修复ltib文件

修改ltib目录下的ltib文件,第2388行删除--force-debian参数

3.3    修复mux_server.spec

Ltib目录下的/dist/lfs-5.1/mux_server目录:

mux_server.spec文件的25行修改为mux_server.c -o mux_server-lpthread

3.4    修复lkc-1.4-lxdialog.patch

/opt/freescale/pkgs目录下:

将lkc-1.4-lxdialog.patch里面的3112行的

mconf_LIBS= -lncurses

mconf: $(mconf_OBJ) $(lxdialog_LIB)

            $(CC) $(LDFLAGS) $(mconf_LIBS) $^ -o S@

 

修改为

 

mconf_LIBS=

 

mconf: $(mconf_OBJ) $(lxdialog_LIB)

            $(CC) $(LDFLAGS) $(mconf_LIBS) $^ -o S@ -lncurses

 

生成md5文件

md5sum lkc-1.4-lxdialog.patch >lkc-1.4-lxdialog.patch.md5

3.5    修复mtd_utils

/opt/freescale/pkgs/下的mtd-utils-201006.tar.bz2,需先解压修改,在重新打包

/opt/freescale/pkgs/mtd-utils/ubi-utils/old-utils/src

修改如下:

目录下的error.c第72行函数里需要将77与83行注释掉

pfi2bin.c 319行函数处理ret变量,注释第322行,第327行改为fwrite(buf, 1, size, f);

libubigen.c文件中的204行处理不正确的++语法,改为(u->v->copy_flag)++;

 

生成md5文件

md5sum mtd-utils-201006.tar.bz2 > mtd-utils-201006.tar.bz2.md5

 

 

3.6    修改fontconfig 包

进入"ltib/dist/lfs-5.1/fontconfig/fontconfig.spec",

找到 ./configure行

改为:

./configure --prefix=%{_prefix} --host=$CFGHOST--build=%{_build} \

            --with-arch=$GNUTARCH--sysconfdir=%{_sysconfdir}     \

  --with-freetype-config=$DEV_IMAGE/usr/bin/freetype-config

make

 

3.7    修改gst-plugins-bad

下载gst-plugins-bad-0.10.11.tar.bz2,

http://bitshrine.org/gpp/gst-plugins-bad-0.10.11.tar.bz2

拷贝至/opt/freescale/pkgs/

 

生成md5文件

md5sum gst-plugins-bad-0.10.11.tar.bz2 > gst-plugins-bad-0.10.11.tar.bz2.md5

 

3.8    安装包内自带补丁

这里指的是L2.6.35_11.05.01_ER_source_bundle里的Linux 1105 patchs.tar.gz

1)       解压Linux 1105 patchs.tar.gz

2)       将根目录下的kernel-2.6.35.spec.in 和 u-boot.spec.in拷贝至ltib目录下的/config/platform/imx

3)       拷贝kernel_patches_based_on_11.05.01下的所有文件至/opt/Freescale/pkgs

4)       拷贝uboot-imx_patches_based_on_11.05.01下的所有文件至 /opt/Freescale/pkgs

5)       拷贝根目录下的imx-lib.spec至ltib目录下的/dist/lfs-5.1/mxc-misc/,并拷贝imx-lib_patches_based_on_11.05.01下的所有文件至/opt/Freescale/pkgs

4      配置安装包

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

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

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

解压并进入L2.6.35_11.05.01_ER_source,执行./install

选择安装的路径(不含ltib)

5      安装补丁ubuntu-ltib-patch.tgz

解压ubuntu-ltib-patch.tgz至litb同级目录,解压,进入到补丁所在文件夹,输入命令:

sh install-patches.sh

完成后会提示DONE,会有一处错误,不用理。

6      配置/usr/include

进入/usr/include,

运行一下命令

cd/usr/include

sudo ln -sf i386-linux-gnu/sys ./sys

7      修改freetype头文件位置

cd /usr/include/

 

sudo ln -s freetype2/freetype/ freetype

 

8      安装ltib

进入ltib目录,执行./ltib

 

 

 

 


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值