我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1545|回复: 5

[技术文章] I.MX6Q(TQIMX6Q/TQE9)学习笔记——LTIB安装配置

[复制链接]
飞天小猪20 该用户已被删除
发表于 2015-10-4 08:38:49 | 显示全部楼层 |阅读模式
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开发环境。
Ubuntu安装
Ubuntu的安装教程网上有很多,我就不在这里详细的说了。但是我在VMWare上安装完Ubuntu-12.04的后发现登陆黑屏,即登陆之后屏幕就一直黑着,不显示桌面。网上遇到这个问题的朋友很多的,下面是解决方案。
首先通过CTRL+ALT+F2切换到命令行模式,然后依次执行如下指令:


[cpp] view plaincopy

    [li]
    sudo apt-get update
    [/li][li]
    sudo apt-get install xserver-xorg-lts-quantal  
    [/li][li]
    sudo dpkg-reconfigure xserver-xorg-lts-quantal  
    [/li][li]
    sudo reboot  
    [/li]



LTIB安装
[/table]
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安装包
[cpp] view plaincopy
    [li]
    tar zxf L3.0.35_4.1.0_130816_source.tar.gz
    [/li]
Step3. 安装LTIB
[cpp] view plaincopy
    [li]
    cd L3.0.35_4.1.0_130816_source
    [/li][li]
    ./install  
    [/li]
然后根据提示,接受协议并指定安装路径,路径可以根据自己的情况设定,本文设置顶的路径如下:
[cpp] view plaincopy
    [li]
    /home/girlkoo/Projects/L3.0.35_4.1.0
    [/li]
安装需要几分钟时间,请耐心等待。。。
LTIB编译
尽管Freescale给出了详细的配置文档,但在64位ubuntu12.04上编译LTIB时还是遇到了各种各样的问题,怕遗忘,记录在这里与大家分享。下面是编译过程中遇到的各种问题及解决方案。
Step1. 安装依赖包
LTIB编译依赖一些应用程序,这里将需要安装的文件整理到脚本中,其实是从BSP的文档中摘出来的,详细内容如下:
[cpp] view plaincopy
    [li]
    #!/bin/bash
    [/li][li]
    # Install packages needed by LTIB
    [/li][li]
    sudo aptitude -y install gettext libgtk2.0-dev rpm bison m4 libfreetype6-dev  
    [/li][li]
    sudo aptitude -y install libdbus-glib-1-dev liborbit2-dev intltool  
    [/li][li]
    sudo aptitude -y install ccache ncurses-dev zlib1g zlib1g-dev gcc g++ libtool  
    [/li][li]
    sudo aptitude -y install
    uuid
    -dev liblzo2-dev
    [/li][li]
    sudo aptitude -y install tcl dpkg  
    [/li][li]
    sudo aptitude -y install asciidoc texlive-latex-base dblatex xutils-dev  
    [/li][li]
    # Packages required for 64-bit Ubuntu
    [/li][li]
    # Do "uname -a" and see if the word "x86_64" shows up.
    [/li][li]
    if
    uname -agrep -sq
    'x86_64'
    ; then
    [/li][li]
    sudo aptitude -y install ia32-libs libc6-dev-i386 lib32z1  
    [/li][li]
    fi  
    [/li][li]
    # The following recommended for Linux development.
    [/li][li]
    # They are not required by LTIB.
    [/li][li]
    sudo aptitude -y install gparted emacs22-nox openssh-server  
    [/li][li]
    sudo aptitude -y install nfs-common nfs-kernel-server lintian  
    [/li][li]
    sudo aptitude -y install git-core git-doc git-email git-gui gitk  
    [/li][li]
    sudo aptitude -y install diffstat indent tofrodos fakeroot doxygen uboot-mkimage  
    [/li][li]
    sudo aptitude -y install sendmail mailutils meld atftpd sharutils  
    [/li][li]
    sudo aptitude -y install manpages-dev manpages-posix manpages-posix-dev linux-doc  
    [/li][li]
    sudo aptitude -y install vnc4server xvnc4viewer  
    [/li][li]
    sudo aptitude -y install texinfo  
    [/li]
将以上指令保存到文本文件,如auto_install.sh,并未auto_install.sh天加可执行权限:
[cpp] view plaincopy
    [li]
    chmod a+x auto_install.sh
    [/li]
然后执行该脚本即可:
[cpp] view plaincopy
    [li]
    ./auto_install.sh
    [/li]
执行时会要求输入密码。如果提示aptitude找不到的话可以考虑使用apt-get,也可以安装该指令,网上盛传该使用该指令来管理软件依赖比apt-get更好用,安装方法如下:
[cpp] view plaincopy
    [li]
    sudo apt-get install aptitude
    [/li]
脚本执行的时间比较长,可能需要半小时左右,请耐心等待。
Step2. 安装补丁
Freescale提供这套BSP时是基于ubuntu9.04的,现在使用的是ubuntu12.04,系统检测软件包是否安装时是变化,可以通过如下patch来解决此问题:
[cpp] view plaincopy
    [li]
    #!/usr/bin/env bash
    [/li][li]
      
    [/li][li]
    # get the patch tarball and untar it
    [/li][li]
    wget -O ubuntu-ltib-patch.tgz https:
    //community.freescale.com/servlet/JiveServlet/downloadBody/93454-102-3-2834/ubuntu-ltib-patch.tgz
    [/li][li]
    tar -xzvf ubuntu-ltib-patch.tgz  
    [/li][li]
      
    [/li][li]
    # execute the script which do the patching
    [/li][li]
    ltibDir=`pwd`  
    [/li][li]
    cd ubuntu-ltib-patch  
    [/li][li]
    ./install-patches.sh $ltibDir  
    [/li]
将以上指令保存为补丁文件patch-ltib-ubuntu12.04.sh,并位置添加可执行权限:
[cpp] view plaincopy
    [li]
    chmod a+x patch-ltib-ubuntu12.04.sh
    [/li]
将该补丁脚本拷贝到ltib的安装目录下(本文是/home/girlkoo/Projects/L3.0.35_4.1.0/ltib),然后执行该脚本:
[cpp] view plaincopy
    [li]
    ./patch-ltib-ubuntu12.04.sh
    [/li]
补丁安装非常快,不过依赖网络,如果网速不好可以按照指令分别执行。
Step3. 添加sudo
执行命令:
[cpp] view plaincopy
    [li]
    sudo visudo
    [/li]
在root    ALL=(ALL:ALL) ALL的后面或者文件的末尾添加如下内容:
[cpp] view plaincopy
    [li]
    girlkoo ALL = NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm
    [/li]
当然,girlkoo要换成自己的用户名。
然后按ctrl+O将以上内容保存,使用默认文件名称即可,直接回车,然后ctrl+X退出。
Step4. 检查系统路径
检查/usr/include目录下是否有sys目录,如果没有则执行如下命令:
[cpp] view plaincopy
    [li]
    cd /usr/include
    [/li][li]
    sudo ln -s x86_64-linux-gnu/sys sys  
    [/li]
Step5. 编译LTIB
编译LTIB本身很简单,只需要切换到LTIB的安装目录并执行如下指令:
[cpp] view plaincopy
    [li]
    [table=100%,inherit]./ltib
[/li]
但编译过程会下载文件,因此速度比较慢,能节省时间的方法是将解压的安装包中pkgs文件内的各个文件(大约1G)拷贝到/opt/freescale/pkgs目录下,这样就能省掉很大一部分,只需要下载几个patch,具体操作如下:




[cpp] view plaincopy

    [li]
    cd L3.0.35_4.1.0_130816_source/ltib
    [/li][li]
    cp * /opt/freescale/pkgs/  
    [/li][li]
    cd /opt/freescale/pkgs  
    [/li][li]
    chmod a-x *  
    [/li]
然后执行LTIB的编译指令即可,即:




[cpp] view plaincopy

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


I.MX6 BSP共享资料

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

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


[cpp] view plaincopy

    [li]
    Platform choice (Freescale iMX reference boards)  --->
    [/li]
即保持默认即可,直接保存并退出。


(2) 第二个界面


[cpp] view plaincopy

    [li]
    Selection (imx6q)  --->
    [/li]
将Selection选择为imx6q,然后保存并退出。


(3) 第三个界面


[cpp] view plaincopy

    [li]
    board (mx6q_sabresd)  --->
    [/li]
将board选择为mx6q_sabresd,然后保存并退出。

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


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

使用道具 举报

  • TA的每日心情
    开心
    2024-9-20 08:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    10

    主题

    1127

    回帖

    1673

    积分

    二级逆天

    不断学习才能进步

    积分
    1673

    社区居民忠实会员最爱沙发终身成就奖优秀斑竹奖

    QQ
    发表于 2015-10-4 08:50:57 | 显示全部楼层
    不断学习才能不断进步
    回复

    使用道具 举报

    该用户从未签到

    39

    主题

    2842

    回帖

    2077

    积分

    二级逆天

    积分
    2077

    终身成就奖社区居民忠实会员社区劳模最爱沙发原创达人优秀斑竹奖

    QQ
    发表于 2015-10-4 10:27:11 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:14
  • 签到天数: 57 天

    [LV.5]常住居民I

    132

    主题

    959

    回帖

    2461

    积分

    二级逆天

    积分
    2461

    终身成就奖社区居民忠实会员特殊贡献奖

    QQ
    发表于 2015-10-4 10:53:32 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    57

    回帖

    27

    积分

    一级逆天

    积分
    27

    社区居民终身成就奖

    QQ
    发表于 2016-6-23 17:00:00 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    11

    主题

    639

    回帖

    2

    积分

    游客

    积分
    2

    终身成就奖

    QQ
    发表于 2016-6-28 07:04:50 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表