LTIB安装
LTIB安装还是非常方便的,下面是具体的步骤:
Step1. 下载Freescale官方BSP
我是用的BSP版本:L3.0.35_4.1.0_130816_source.tar.gz。这个版本的内核是3.0.35的,天嵌提供的内核版本与这个版本的BSP是一致的,最好把相应的文档也下载下来,文档包名称是:L3.0.35_4.1.0_docs.tar.gz。这两个文件可以Freescale官网找到的,如果没找到可以去我百度云下载:
Step2. 解压BSP安装包
-
tar zxf L3.0.35_4.1.0_130816_source.tar.gz
Step3. 安装LTIB
-
cd L3.0.35_4.1.0_130816_source
-
./install
然后根据提示,接受协议并指定安装路径,路径可以根据自己的情况设定,本文设置顶的路径如下:
-
/home/girlkoo/Projects/L3.0.35_4.1.0
安装需要几分钟时间,请耐心等待。。。
LTIB编译
尽管Freescale给出了详细的配置文档,但在64位ubuntu12.04上编译LTIB时还是遇到了各种各样的问题,怕遗忘,记录在这里与大家分享。下面是编译过程中遇到的各种问题及解决方案。
Step1. 安装依赖包
LTIB编译依赖一些应用程序,这里将需要安装的文件整理到脚本中,其实是从BSP的文档中摘出来的,详细内容如下:
-
#!/bin/bash
-
# Install packages needed by LTIB
-
sudo aptitude -y install gettext libgtk2.0-dev rpm bison m4 libfreetype6-dev
-
sudo aptitude -y install libdbus-glib-1-dev liborbit2-dev intltool
-
sudo aptitude -y install ccache ncurses-dev zlib1g zlib1g-dev gcc g++ libtool
-
sudo aptitude -y install uuid-dev liblzo2-dev
-
sudo aptitude -y install tcl dpkg
-
sudo aptitude -y install asciidoc texlive-latex-base dblatex xutils-dev
-
# Packages required for 64-bit Ubuntu
-
# Do "uname -a" and see if the word "x86_64" shows up.
-
if uname -a|grep -sq 'x86_64'; then
-
sudo aptitude -y install ia32-libs libc6-dev-i386 lib32z1
-
fi
-
# The following recommended for Linux development.
-
# They are not required by LTIB.
-
sudo aptitude -y install gparted emacs22-nox openssh-server
-
sudo aptitude -y install nfs-common nfs-kernel-server lintian
-
sudo aptitude -y install git-core git-doc git-email git-gui gitk
-
sudo aptitude -y install diffstat indent tofrodos fakeroot doxygen uboot-mkimage
-
sudo aptitude -y install sendmail mailutils meld atftpd sharutils
-
sudo aptitude -y install manpages-dev manpages-posix manpages-posix-dev linux-doc
-
sudo aptitude -y install vnc4server xvnc4viewer
-
sudo aptitude -y install texinfo
将以上指令保存到文本文件,如auto_install.sh,并未auto_install.sh天加可执行权限:
-
chmod a+x auto_install.sh
然后执行该脚本即可:
执行时会要求输入密码。如果提示aptitude找不到的话可以考虑使用apt-get,也可以安装该指令,网上盛传该使用该指令来管理软件依赖比apt-get更好用,安装方法如下:
-
sudo apt-get install aptitude
脚本执行的时间比较长,可能需要半小时左右,请耐心等待。
Step2. 安装补丁
Freescale提供这套BSP时是基于ubuntu9.04的,现在使用的是ubuntu12.04,系统检测软件包是否安装时是变化,可以通过如下patch来解决此问题:
-
#!/usr/bin/env bash
-
-
# get the patch tarball and untar it
-
wget -O ubuntu-ltib-patch.tgz https:
-
tar -xzvf ubuntu-ltib-patch.tgz
-
-
# execute the script which do the patching
-
ltibDir=`pwd`
-
cd ubuntu-ltib-patch
-
./install-patches.sh $ltibDir
将以上指令保存为补丁文件patch-ltib-ubuntu12.04.sh,并位置添加可执行权限:
-
chmod a+x patch-ltib-ubuntu12.04.sh
将该补丁脚本拷贝到ltib的安装目录下(本文是/home/girlkoo/Projects/L3.0.35_4.1.0/ltib),然后执行该脚本:
-
./patch-ltib-ubuntu12.04.sh
补丁安装非常快,不过依赖网络,如果网速不好可以按照指令分别执行,ubuntu-ltib-patch.tgz这个库也可以去我百度云下载:
Step3. 添加sudo
执行命令:
在root ALL=(ALL:ALL) ALL的后面或者文件的末尾添加如下内容:
-
girlkoo ALL = NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm
当然,girlkoo要换成自己的用户名。
然后按ctrl+O将以上内容保存,使用默认文件名称即可,直接回车,然后ctrl+X退出。
Step4. 检查系统路径
检查/usr/include目录下是否有sys目录,如果没有则执行如下命令:
如果是32位的系统:
-
cd /usr/include
-
sudo ln -s i386-linux-gnu/sys sys
-
cd /usr/lib
-
sudo ln -s i386-linux-gnu/librt.so /usr/lib/librt.so
如果是64位的系统:
-
cd /usr/include
-
sudo ln -s x86_64-linux-gnu/sys sys
-
cd /usr/lib
-
sudo ln -s x86_64-linux-gnu/librt.so /usr/lib/librt.so
Step5. 编译LTIB
编译LTIB本身很简单,只需要切换到LTIB的安装目录并执行如下指令:
但编译过程会下载文件,因此速度比较慢,需要等待一些时间,如果编译过程出现一些问题,请去 /host_config.log文件下看,
1、如果m4出错:
可以直接进这个网址按照修改:
也可以按照下面方式修改:
(1)、下载md5sum m4-1.4.17.tar.gz,百度云里面也有:
(2)、生成MD5值:md5sum m4-1.4.17.tar.gz > m4-1.4.17.tar.gz.md5;
(3)、把M4的缩文件和它的MD5值移到pkgs目录下:mv m4* /opt/freescale/pkgs;
(4)、打开文件:vi /dist/lfs5.1/m4/m4.spec;
(5)、修改文件:
之前的
1 %define pfx /opt/freescale/rootfs/%{_target_cpu}
2
3 Summary : The GNU macro processor
4 Name : m4
5 Version : 1.4.16
6 Release : 1
7 License : GPL
修改后
1 %define pfx /opt/freescale/rootfs/%{_target_cpu}
2
3 Summary : The GNU macro processor
4 Name : m4
5 Version : 1.4.17
6 Release : 1
7 License : GPL
2、busybox的问题:
可以直接进这个网址按照修改:;
也可以按照下面方式修改:
打开 ltib/dist/lfs-5.1/base_libs/base_libs.spec 文件
添加注释#:
297 # remove absolute paths from text search files (if they exist)
298 perl -w -e '
299 #@ARGV = grep { `file $_` =~ m,ASCII C program text, } @ARGV;
300 #exit(0) unless @ARGV;
301$^I = ".bak";
注意:基本就是这两个问题,如果其他问题,可能是你哪步操作不正确,请仔细重新操作。
当所有文件都齐备时,就可以进入如下界面:
如果能看到这个界面,LTIB就快完成了,下面来看下如何选择这些配置项。这是第一个选项界面,下面开始简单的配置:
(1) 第一个界面
-
Platform choice (Freescale iMX reference boards) --->
即保持默认即可,直接保存并退出。
(2) 第二个界面
将Selection选择为imx6q,然后保存并退出。
(3) 第三个界面
-
board (mx6q_sabresd) --->
将board选择为mx6q_sabresd,然后保存并退出。
之后就看到LTIB开始自动导出开始编译代码了。现在编译的才是我们需要的u-boot, kernel等工程,这些都是freescale的工程师维护的,所以一般不会出错,至此,就完成了LTIB环境的搭建,关于内核源码在:ltib/rpm/BUILD下,
如果你还想要导出imx-test源码,可以执行:./ltib -p imx-test -m prep,源码会导入在ltib/rpm/BUILD命令下;
同时编译命令为:./ltib -m prep -p imx-test;更多ltib命令请去查询,这里只介绍这两个;
关于LTIB配置就是这样的,如果你还需要了解关于vpu编解码的有关内容,可以看我后面的文档。
阅读(958) | 评论(0) | 转发(0) |