from :

LTIB: Linux Target Image Builder

Freescale Provides I.MX6 Of BSP Development kit , Can be in Freescale Download to . In order to be consistent with the version provided by Tianjian , This article uses BSP The version is :L3.0.35_4.1.0_130816_source, The kernel of this version is 3.0.35 Version of ,u-boot yes 2009.8 Version of . Use this version of BSP We can make full use of the source code package provided by Tianjian , Refer to Tianjian's source code package for transplantation , Later, if you have time, you can transplant a newer version of u-boot and kernel. This paper focuses on how to 64 Bit ubuntu-12.04 LTS build LTIB development environment .

1. LTIB install

LTIB The installation is very convenient , Here are the specific steps :

Step1. download Freescale official BSP

I am using BSP edition :L3.0.35_4.1.0_130816_source.tar.gz. The kernel of this version is 3.0.35 Of , The kernel version provided by Tianjian is the same as that of this version BSP It's consistent , It's better to download the corresponding documents as well , The package name is :L3.0.35_4.1.0_docs.tar.gz. These two files can Freescale Found on the official website , however Freescale Recently updated BSP, If you can't find this version, you can download it from my Internet disk ,csdn I can't upload such a large file , The link address is as follows :

I.MX6 BSP Sharing information

Step2. decompression BSP Installation package

 tar zxf L3..35_4..0_130816_source.tar.gz 

Step3. install LTIB

 cd L3..35_4..0_130816_source

Then follow the prompts , Accept the protocol and specify the installation path , The path can be set according to your own situation , In this paper, the path of setting the top is as follows :


The installation will take a few minutes , Please be patient ...

2. LTIB compile

Even though Freescale The detailed configuration document is given , But in 64 position ubuntu12.04 Compiled on LTIB I met all kinds of problems when I was young , Afraid of forgetting , Record here to share with you . Here are the various problems and solutions encountered in the compilation process .

Step1. Install dependency packages

LTIB Compilation depends on some applications , Here, the files that need to be installed are put into the script , In fact, from BSP It's from the documents of , The details are as follows :

# Install packages needed by LTIB
sudo aptitude -y install gettext libgtk2.-dev rpm bison m4 libfreetype6-dev
sudo aptitude -y install libdbus-glib--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 -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
# 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  

Save the above instructions to a text file , Such as, Not Tianjia executable authority :

 chmod a+x  

Then execute the script :


The password is required for execution . If you are prompted aptitude If not, consider using apt-get, You can also install the command , After installation, re execute the above, It is widely spread on the Internet that this instruction should be used to manage software dependency ratio apt-get Better to use , Installation method: :

 sudo apt-get install aptitude  

Scripts take a long time to execute , It may take about half an hour , Please be patient .

notes : When you install these packages , Because the source is not good , There may be a problem downloading , You can refer to 《i.MX6 Ubuntu12.04 Compiled on LTIB.pdf》 In the update sourcelist.

Step2. Install patches

Freescale Provide this set of BSP It's based on ubuntu9.04 Of , Now we use ubuntu12.04, When the system detects whether the software package is installed, it changes , It can be done by patch To solve this problem :

 #!/usr/bin/env bash
# get the patch tarball and untar it
wget -O ubuntu-ltib-patch.tgz
tar -xzvf ubuntu-ltib-patch.tgz # execute the script which do the patching
cd ubuntu-ltib-patch
./ $ltibDir  

Save the above instructions as a patch file, And add executable permissions to the location :

 chmod a+x  

Copy the patch script to ltib Installation directory ( This article is about /home/girlkoo/Projects/L3.0.35_4.1.0/ltib), Then execute the script :


Patch installation is very fast , But relying on the Internet , If the network speed is not good, it can be executed separately according to the instructions .

Step3. add to sudo

Carry out orders :

 sudo visudo 

stay root    ALL=(ALL:ALL) ALL Add the following at the end of the file :

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

Of course ,girlkoo Change to your own user name .
Then press ctrl+O Save the above , Just use the default file name , Directly enter , then ctrl+X sign out .

( notes : I don't know what the result is , Here's what I did sudo visudo, After the change , preservation , sign out )

Step4. Check the system path

Check /usr/include Is there any sys Catalog , If not, execute the following command :

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

Step5. compile LTIB

compile LTIB It's very simple , Just switch to LTIB And execute the following command :


But the compilation process downloads the file , So the speed is slow , The way to save time is to add the unzipped installation package pkgs Each file in the file ( about 1G) copy to /opt/freescale/pkgs Under the table of contents , So you can save a lot of , Just download a few patch, The specific operation is as follows :( Is the following path wrong ? Should be :cd L3.0.35_4.1.0_130816_source/pkgs)

 cd L3..35_4..0_130816_source/ltib
cp * /opt/freescale/pkgs/
cd /opt/freescale/pkgs
chmod a-x *

then LTIB Execute under the installation directory LTIB The compiler instruction of , namely :


I will synchronize the pkgs The folder is placed on Baidu cloud disk , If you encounter a file download failure, you can download the corresponding file from my network disk , Then copy it to /opt/freescale/pkgs Under the directory . The address of the network disk is :

I.MX6 BSP Sharing information

Error handling

  • according to ltib in log We know it is permission denied, Then enter the root jurisdiction , But the prompt can't enter ,cannot execute **: no such file or directory. therefore vi /etc/passwd, modify root:x:0:0:root:/root:** To oot:x:0:0:root:/root:/bin/bash, Will prompt ./ltib Should not be in root Do... Within the authority
  • Look again log, Also prompt in compile m4 There's something wrong with it . So it came to log What is prompted in the file config Turn off... In the configuration file M4 Compilation of ( notes : Open for y, Turn off for not set Same as the kernel , You can't change the format here , Such as adding notes , Otherwise, there will be no recognition ,TODO: stay check)

When all the files are ready , Can Enter the following interface

If you can see this interface ,LTIB It's almost done , Let's see how to select these configuration items . This is the first option screen , Let's start with a simple configuration :

(1) The first interface

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

Just keep the default , Save directly and exit .

(2) Second interface

 Selection (imx6q) ---> 

take Selection Choose as imx6q, Then save and exit .

(3) The third interface

 board (mx6q_sabresd) ---> 

take board Choose as mx6q_sabresd, Then save and exit .
And then I saw LTIB Start exporting automatically, start compiling code . Now the compiler is what we need u-boot, kernel Wait for the project , These are all freescale Our engineers maintain , So it's not going to go wrong , I didn't run into any errors in compiling .

thus , It's done. LTIB Construction of environment , In the next article, we'll start transplanting u-boot. If you have any questions, please leave a message to discuss .

After compiling, the LTIB Under the installation path of , Generate rootfs, And in rootfs/boot/ There are compiler generated uboot and kernel Mirror image , and rootfs The generation of the through layer jffs2 File system mirroring .

The key paths

  • /home/girlkoo/Projects/L3.0.35_4.1.0: ltib The installation directory , Pay attention to the distinction between source directory and source directory 
  • /opt/freescale/pkgs/: Catalog of toolchain 

install LTIB Several understandings of :


1. Follow the above method , Ready to transplant uboot, But in board/freescale There's nothing down there imx6 On board information about , What went wrong ?

[Freescale]E9 Learning notes -LTIB More articles on installation configuration

  1. [Freescale]E9 Learning notes -LTIB summary

    from :   Write it at the front         Symbol '##' The following statements are comments         What to do ...

  2. Node.js Learning notes ( One ) Installation configuration

    Node.js Installation configuration This installation tutorial is designed to Node.js v4.4.3 LTS( Long term support version ) Version as an example Window Installation on Node.js You can install it in two ways . 1.Windows Installation package (.m ...

  3. Hadoop Learning notes : Installation configuration Hive

    1. On the official website Download the required version of Hive, Let's take hive 2.1.0 Version as an example . 2. Put the downloaded compressed package into the specified folder and unzip it ,tar -zxvf apache ...

  4. Hadoop Learning notes : Installation configuration Hadoop

    Some environment configuration before installation : 1. Add... To the user sudo jurisdiction , Input su - Get into root account number , Then input visudo, Enter edit mode , Find this line :"root ALL=(ALL) ALL" Hereunder ...

  5. blfs(systemd edition ) Learning notes - Compile installation configuration dhcpcd

    My email address Welcome to exchange learning error correction ! dhcpcd Project address : ...

  6. blfs(systemv edition ) Learning notes - Compile installation configuration dhcpcd

    My email address Welcome to exchange learning error correction ! dhcpcd Project address : ...

  7. MySQL Learning notes -MHA Installation configuration

    One . Configure master-slave synchronization   1. In this case, master-slave ip And port Master: Slave1: ( The candidate master) Slave2: ...

  8. CentOS Learning notes --Tomcat install

    Tomcat install Usually we have to configure Tomcat It's a very easy thing , But if you want to build a multi-user multi service Java Virtual hosting is not so easy . One of the biggest problems is Tomcat Executive authority . It's configured in a normal way Tomca ...

  9. Learning notes _J2EE_SpringMVC_03_ Annotation configuration _@RequestMapping usage

    @RequestMappingde Usage of Abstract : It mainly introduces notes @RequestMapping Usage of One .@RequestMapping  brief introduction stay Spring MVC Use in @RequestMappi ...

Random recommendation

  1. E3-1230 and E3-1230 V2 How wonderful is it ?

    I've been chasing E3-1230, gun E3-1230 That's a lot of people , They've been hailed as gods , I'm right, too E3-1230 View of the . Installation plan of the same grade , I'm more inclined to i5 2320/2500K/3570K. The first Compare two first U It's about the specifications of .E ...

  2. Javascript and ECMAScript Two or three things

    come from <javascript Advanced programming The third edition : author Nicholas C. Zakas> Learning notes of ( One ) Javascript Is a scripting language designed to interact with web pages , It's made up of three different parts : ...

  3. JTA

  4. JAVA Homework : The graphical interface

    Do it yourself a little JAVA Program : A student management system , It's frustrating , But that's what I learn JAVA The first step . To learn the 2 God JAVA No waste ! import java.awt.*; import java.awt.even ...

  5. OC Single case in

    Concept The intention of the singleton pattern is that the object of a class is called the only instance in the system , Provide an access point , For customers to share resources When to use singletons ) A class can only have one instance , And it has to be accessed from a well-known access point , Like the factory approach ) The only example ...

  6. nagios And zabbix contrast

    nagios And zabbix contrast web function : Nagios Simple and intuitive , Alarms and data are on the same page ,***. Red is the problem item .Nagios web Don't do any configuration on the client side . Zabbix Monitoring data and alarm are separated , Look at problems ...

  7. SDL Developing actual combat ( 7、 ... and ): Use SDL Realization PCM player

    Above , We did YUV player , So we get started SDL Play the video . Now let's make a PCM Play , That is to use SDL Play PCM data . Here's how to use SDL Play PCM The basic flow of audio , Mainly divided into two parts : initialization SDL. ...

  8. Subapplication / Virtual directory session share

    I have a problem recently , I did it mvc The application should be deployed to several sites as a sub application , You need to get the site's session value . Already in use session state server, And set up ...

  9. Give Way win7 Become wireless routing ( It needs to be opened with administrator permission ) Finally, perfect .rar

    Give Way win7 Become wireless routing ( It needs to be opened with administrator permission ) Finally, perfect .bat @ECHO OFF CLS color 0a netsh wlan show drivers ECHO.**************** ...

  10. gensim Tools [ Learning notes ]

    Platform information :PC:ubuntu18.04.i5.anaconda2.cuda9.0.cudnn7.0.5.tensorflow1.10.GTX1060 One . take copy_train.csv The content of the document is divided into two parts ...