转自:http://blog.csdn.net/girlkoo/article/details/44535979

LTIB: Linux Target Image Builder

Freescale提供了I.MX6的BSP开发包,可以在Freescale的官网下载到。为了与天嵌提供的版本一致,本文使用的BSP版本是:L3.0.35_4.1.0_130816_source,这版本的内核是3.0.35版本的,u-boot是2009.8版本的。使用这个版本的BSP可以充分使用天嵌提供的源码包,参考天嵌的源码包进行移植,之后如果有时间的话再来移植下较新版本的u-boot和kernel。本主要讲如何在64位的ubuntu-12.04 LTS搭建LTIB开发环境。

1. 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官网找到的,不过Freescale最近更新了BSP,如果找不到这个版本可以到我的网盘下载,csdn上传不了这么大的文件,链接地址如下:

I.MX6 BSP共享资料

Step2. 解压BSP安装包

1 tar zxf L3.0.35_4.1.0_130816_source.tar.gz  

Step3. 安装LTIB

1 cd L3.0.35_4.1.0_130816_source
2 ./install   

然后根据提示,接受协议并指定安装路径,路径可以根据自己的情况设定,本文设置顶的路径如下:

1 /home/girlkoo/Projects/L3.0.35_4.1.0   

安装需要几分钟时间,请耐心等待。。。

2. LTIB编译

尽管Freescale给出了详细的配置文档,但在64位ubuntu12.04上编译LTIB时还是遇到了各种各样的问题,怕遗忘,记录在这里与大家分享。下面是编译过程中遇到的各种问题及解决方案。

Step1. 安装依赖包

LTIB编译依赖一些应用程序,这里将需要安装的文件整理到脚本中,其实是从BSP的文档中摘出来的,详细内容如下:

 1 #!/bin/bash
 2 # Install packages needed by LTIB
 3 sudo aptitude -y install gettext libgtk2.0-dev rpm bison m4 libfreetype6-dev
 4 sudo aptitude -y install libdbus-glib-1-dev liborbit2-dev intltool
 5 sudo aptitude -y install ccache ncurses-dev zlib1g zlib1g-dev gcc g++ libtool
 6 sudo aptitude -y install uuid-dev liblzo2-dev
 7 sudo aptitude -y install tcl dpkg
 8 sudo aptitude -y install asciidoc texlive-latex-base dblatex xutils-dev
 9 # Packages required for 64-bit Ubuntu
10 # Do "uname -a" and see if the word "x86_64" shows up.
11 if uname -a|grep -sq 'x86_64'; then
12 sudo aptitude -y install ia32-libs libc6-dev-i386 lib32z1
13 fi
14 # The following recommended for Linux development.
15 # They are not required by LTIB.
16 sudo aptitude -y install gparted emacs22-nox openssh-server
17 sudo aptitude -y install nfs-common nfs-kernel-server lintian
18 sudo aptitude -y install git-core git-doc git-email git-gui gitk
19 sudo aptitude -y install diffstat indent tofrodos fakeroot doxygen uboot-mkimage
20 sudo aptitude -y install sendmail mailutils meld atftpd sharutils
21 sudo aptitude -y install manpages-dev manpages-posix manpages-posix-dev linux-doc
22 sudo aptitude -y install vnc4server xvnc4viewer
23 sudo aptitude -y install texinfo   

将以上指令保存到文本文件,如auto_install.sh,并未auto_install.sh天加可执行权限:

1 chmod a+x auto_install.sh   

然后执行该脚本即可:

1 ./auto_install.sh  

执行时会要求输入密码。如果提示aptitude找不到的话可以考虑使用apt-get,也可以安装该指令,安装完重新执行上面的auto_install.sh, 网上盛传该使用该指令来管理软件依赖比apt-get更好用,安装方法如下:

1 sudo apt-get install aptitude   

脚本执行的时间比较长,可能需要半小时左右,请耐心等待。

:安装这些包的时候,由于源不好,可能下载会有问题,可以参照《i.MX6 Ubuntu12.04上编译LTIB.pdf》中更新sourcelist.

Step2. 安装补丁

Freescale提供这套BSP时是基于ubuntu9.04的,现在使用的是ubuntu12.04,系统检测软件包是否安装时是变化,可以通过如下patch来解决此问题:

 1 #!/usr/bin/env bash
 2
 3 # get the patch tarball and untar it
 4 wget -O ubuntu-ltib-patch.tgz https://community.freescale.com/servlet/JiveServlet/downloadBody/93454-102-3-2834/ubuntu-ltib-patch.tgz
 5 tar -xzvf ubuntu-ltib-patch.tgz
 6
 7 # execute the script which do the patching
 8 ltibDir=`pwd`
 9 cd ubuntu-ltib-patch
10 ./install-patches.sh $ltibDir   

将以上指令保存为补丁文件patch-ltib-ubuntu12.04.sh,并位置添加可执行权限:

1 chmod a+x patch-ltib-ubuntu12.04.sh   

将该补丁脚本拷贝到ltib的安装目录下(本文是/home/girlkoo/Projects/L3.0.35_4.1.0/ltib),然后执行该脚本:

1 ./patch-ltib-ubuntu12.04.sh   

补丁安装非常快,不过依赖网络,如果网速不好可以按照指令分别执行。

Step3. 添加sudo

执行命令:

1 sudo visudo  

在root    ALL=(ALL:ALL) ALL的后面或者文件的末尾添加如下内容:

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

当然,girlkoo要换成自己的用户名。
然后按ctrl+O将以上内容保存,使用默认文件名称即可,直接回车,然后ctrl+X退出。

(:这儿没明白要什么样的结果, 我的做法是sudo visudo,更改后,保存,退出)

Step4. 检查系统路径

检查/usr/include目录下是否有sys目录,如果没有则执行如下命令:

1 cd /usr/include
2 sudo ln -s x86_64-linux-gnu/sys sys  

Step5. 编译LTIB

编译LTIB本身很简单,只需要切换到LTIB的安装目录并执行如下指令:

1 ./ltib   

但编译过程会下载文件,因此速度比较慢,能节省时间的方法是将解压的安装包中pkgs文件内的各个文件(大约1G)拷贝到/opt/freescale/pkgs目录下,这样就能省掉很大一部分,只需要下载几个patch,具体操作如下:(下面这个路径是不是有误?应为:cd L3.0.35_4.1.0_130816_source/pkgs)

1 cd L3.0.35_4.1.0_130816_source/ltib
2 cp * /opt/freescale/pkgs/
3 cd /opt/freescale/pkgs
4 chmod a-x *  

然后LTIB安装目录下执行LTIB的编译指令即可,即:

1 ./ltib   

我将同步后的pkgs文件夹放到了百度云盘,如果遇到文件下载失败的情况可以到我的网盘下载相应的文件,然后复制到/opt/freescale/pkgs目录下即可。网盘的地址是:

I.MX6 BSP共享资料

出错处理

  • 根据ltib中log可知是permission denied, 于是进入root权限,但是提示无法进入,cannot execute **: no such file or directory. 于是vi /etc/passwd, 修改root:x:0:0:root:/root:**到oot:x:0:0:root:/root:/bin/bash,会提示./ltib不应该在root权限下做
  • 再看log,也提示在编译m4的时候出问题了。于是到log文件中所提示的config配置文件中关掉M4的编译(注:打开为y, 关掉为not set和内核相同,这里不能修改格式,如添加注释,否则会出现识别不出,TODO:待check)

当所有文件都齐备时,就可以进入如下界面

如果能看到这个界面,LTIB就快完成了,下面来看下如何选择这些配置项。这是第一个选项界面,下面开始简单的配置:

(1) 第一个界面

1 Platform choice (Freescale iMX reference boards)  --->  

即保持默认即可,直接保存并退出。

(2) 第二个界面

1 Selection (imx6q)  --->  

将Selection选择为imx6q,然后保存并退出。

(3) 第三个界面

1 board (mx6q_sabresd)  --->  

将board选择为mx6q_sabresd,然后保存并退出。
之后就看到LTIB开始自动导出开始编译代码了。现在编译的才是我们需要的u-boot, kernel等工程,这些都是freescale的工程师维护的,所以一般不会出错,我编译的过程中没有遇到错误。

至此,就完成了LTIB环境的搭建,下篇文章我们就开始移植u-boot。有任何问题欢迎留言讨论。

编译完之后会在LTIB的安装路径下,生成rootfs,并且在rootfs/boot/下有编译生成的uboot和kernel镜像, 和rootfs通层的生成了jffs2文件系统镜像

关键的几个路径

  • /home/girlkoo/Projects/L3.0.35_4.1.0: ltib安装目录,注意和源码目录区分
  • /opt/freescale/pkgs/: 工具链的目录

安装LTIB的几个认识:

  • 参照:http://blog.csdn.net/wl_haanel/article/details/6231353

问题

1. 按照上面的方法,准备移植uboot, 但是在board/freescale下面都没有imx6的相关板载信息,哪里出错了?

[Freescale]E9学习笔记-LTIB安装配置相关推荐

  1. [Freescale]E9学习笔记-LTIB总结

    转自:http://blog.csdn.net/wl_haanel/article/details/6231353 写在前面         符号'##'后面语句均为注释         需要做的操作 ...

  2. I.MX6Q(TQIMX6Q/TQE9)学习笔记——LTIB安装配置

    Freescale提供了I.MX6的BSP开发包,可以在Freescale的官网下载到.为了与天嵌提供的版本一致,本文使用的BSP版本是:L3.0.35_4.1.0_130816_source,这版本 ...

  3. freescale imx6 编译 linux ltib,TQIMX6Q技术分享——LTIB安装配置(转)

    TQIMX6Q_BASEC开发板是天嵌科技在2015年重磅推出的顶级开发平台,采用飞思卡尔的I.MX6Q芯片,真四核运行,1G Hz主频,2G DDR3内存,8G EMMC FALSH.TQIMX6Q ...

  4. mesos 学习笔记-- mesos安装和配置

    2019独角兽企业重金招聘Python工程师标准>>> mesos 学习笔记-- mesos安装和配置 博客分类: 架构 mesos 参考资料: 官方文档:http://mesos. ...

  5. LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决)

    LINUX学习笔记1 网卡配置(网络适配器安装失败问题解决) 概述 每一次选修课总会碰到一堆问题,我真的是幸运得很.这次是LINUX服务器管理这门课,最开始安装虚拟机一切正常(用的是VMware安装u ...

  6. ZED相机学习笔记1——安装与配置(Win10 + Python)

    系列文章目录 ZED相机学习笔记1--安装与配置(Win10 + Python) 文章目录 系列文章目录 前言 一.ZED2 相机 二.配置ZED相机环境 1.安装CUDA 2.安装ZED-SDK 3 ...

  7. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  8. TMS320F280049C 学习笔记19 可配置逻辑块 (CLB) 软件配置

    文章目录 CLB tool 简介 CLB配置过程概述 软件安装 GNU Compiler Install the Simulation Viewer 使用CLB tool 导入空CLB工程 更新变量路 ...

  9. openCV2学习笔记---1.环境配置

    openCV2学习笔记-1.环境配置 openCV 是开源的计算机视觉代码库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成 ...

最新文章

  1. Attention! .net 持久层正式发布 :Noebe
  2. 【深度学习】如何将Voting和Stacking等应用到神经网络模型
  3. 一文整理深度学习【深度学习win10的Docker配置】
  4. C++实现斐波那契查找(附完整源码)
  5. xttdbopen.sql
  6. 服务器物品展示框刷物品,我的世界1period;11period;2展示框刷物品bug | 手游网游页游攻略大全...
  7. 图论 —— 环与块 —— 最小环
  8. 如何判断lib是/md or /mt编译的
  9. KORG Software TRITON for mac(虚拟合成器软件)
  10. flashfxp连接失败,导致flashfxp连接失败的4种原因
  11. shell while循环退出
  12. vue中图片解析失败
  13. 一网打尽:指针和数组
  14. 百度界面代码及效果展示
  15. 【DockerCE】使用Portainer-ce管理监控docker容器实例
  16. 可以查看计算机主要自启动项的技术,电脑中怎么查看启动项
  17. 2021年小红书KOL营销白皮书
  18. DTOJ#5015. 最大公约数
  19. 全网最详细的网络协议之TCP/IP 协议,建议直接收藏
  20. 计算机毕业设计SSM高铁在线购票系统【附源码数据库】

热门文章

  1. 【转载】C#编码标准━━项目设置和项目结构
  2. 洛谷P3960 列队(Splay)
  3. 软件工程随堂小作业——随机四则运算Ⅱ(C++)
  4. rails3 ajax替换成js
  5. 一个很好的 emacs 配置文件范例
  6. 利用数据存储技术实现数据安全合理备份
  7. 一个弹出式menu的制作
  8. Windows性能调优: Perfomn.exe 和Perfmon /res
  9. innerText与innerHTML的区别
  10. Navicat Premium 12全系列