最近工作涉及一些要搭建基于PowerPC架构的CPU(P2020)的编译环境,谨以此文总结记录一下ltib(Linux Target Image Builder)编译环境的搭建过程,基本上freescale官网也有,只是做一个总结。
本文主要介绍使用CentOS6.6系统搭建ltib环境,并通过ltib命令行简单编译内核和最小文件系统,最终生成一个image,可烧写到powerpc p2020板子上运行。
freescale官网:http://www.nxp.com/
准备工作:
1) freescale官网下载Linux BSP for P2020 RDB (REV 20101101) ISO -- P1020_P2020RDB_20101101_ltib.iso
2) CentOS官网下载CentOS6.6 ISO -- CentOS-6.6-x86_64-minimal.iso
步骤:
1. 安装centos6系统
2. 创建新用户myuser, 使用ltib脚本时不允许使用root用户
[root@centos6 ~]# useradd myuser
[root@centos6 ~]# passwd myuser
3. 安装telnet-server, 用于远程登陆
[root@centos6 ~]# yum install telnet-server
[root@centos6 ~]# vim /etc/xinetd.d/telnet //设置disable=no
[root@centos6 ~]# service xinetd restart
[root@centos6 ~]# vim /etc/sysconfig/iptables // 添加对端口23开放
[root@centos6 ~]# service iptables restart
4. 添加sudo for myuser,
[root@centos6 ~]# vim /etc/sudoers
myuser ALL=(ALL) ALL
myuser ALL=(ALL) NOPASSWD: /bin/rpm,/opt/freescale/ltib/usr/bin/rpm
5. 安装ltib环境需要的依赖包
[root@centos6 ~]# yum install -y perl glibc glibc-headers glibc-devel binutils
libstdc++ libstdc++-devel gcc gcc-c++ sudo zlib zlib-devel rpm
rpm-build patch wget ncurses ncurses-devel m4 bison flex texinfo
gettext autoconf libtool glib2-devel lzo-devel intltool libuuid-devel
tcl perl-ExtUtils-MakeMaker ld-linux.so.2
package
version
comment
perl
>= 5.6.1
to run the ltib script
glibc
>= 2.2.x
to build/run host packages
glibc-headers
>= 2.2.x
to build/run host packages
glibc-devel
>= 2.2.x
to build/run host packages
binutils
>= 2.11.93
to build host packages
libstdc++
any?
to build rpm-fs host package
libstdc++-devel
any?
to build rpm-fs host package
gcc
>= 2.96
to build host packages
gcc-c++
>= 2.26
to build rpm-fs host package
sudo
any
to run the 'rpm install' phase on each package
zlib
any
to build rpm-fs and mtd-utils host packages
zlib-devel
any
to build rpm-fs and mtd-utils host packages
rpm
any
to build initial rpm-fs host package
rpm-build
any
to build initial rpm-fs host package
patch
any
used by rpm
wget
any
to download packages/patches on demand
ncurses
>= 5.1
to build lkc (config language) host package
ncurses-devel
>= 5.1
to build lkc (config language) host package
m4
any?
may be needed by bison
bison
any
to build lkc (config language) host package
flex
any
Not required we install:for host lkc
texinfo
any
to build genext2fs host package (requires ncurses-deve
gettext
any
genext2fs target package
autoconf
>= 2.54
Not required we install: automake target package
libtool
>= 1.4.2
Not required we install: libusb target package
glib2-devel
any?
Needed if you want to build glib2
6. 使用root用户挂载P1020_P2020RDB_20101101_ltib.iso, 并使用myuser用户安装BSP编译环境
[root@centos6 ~]# su root
[root@centos6 ~]# mount -o loop P1020_P2020RDB_20101101_ltib.iso /mnt
[root@centos6 ~]# su myuser
[myuser@centos6 ~]$ cd /opt/myuser/
[myuser@centos6 ~]$ /mnt/install
安装完成后,会在当前路径下生成一个以ltib前缀的路径,
进入到当前ltib路径,第一次需要执行
[myuser@centos6 ltib]$ ./ltib
随后会生成以下路径,会安装交叉编译环境;
/opt/freescale/pkgs 存放编译的软件所有源码包