[i.MX6UL]飞凌嵌入式 iMX6UL 开发板Linux编译

 

 

开发环境是开发人员在开发过程当中,所需的软硬件平台。开发环境并不是一个固定的样式,本文中将详细讲解一个嵌入式Linux开发环境搭建的方法。如果您已经对嵌入式开发非常了解的话,可以按照自己的需求来搭建环境。如果和本文环境不一样而产生报错,您可以从国内一些Linux论坛和网站搜索相关的信息来解决。本文介绍的环境经过飞凌嵌入式公司的测试,如果对嵌入式开发不是非常熟悉的朋友,希望您按照飞凌嵌入式提供的方法来搭建环境。各位朋友可以放心按照本文说明的方法来搭建开发环境。

 

1.1  版本说明

Ø  操作系统: Ubuntu12.04  64 位版

Ø  交叉工具链:arm-fsl-linux-gnueabi-gcc-4.6.2

Ø  Bootloader 版本:u-boot-2015.04

Ø  内核版本:linux-3.14.38

1.2  编译环境说明

Ø  Linux PC:在PC上直接安装ubuntu12.04作为编译的主机,这样做的好处是编译速度快、稳定。

Ø  Vmware8.0+ubuntu12.04:在 XP下安装虚拟机,并在虚拟机下进行编译。这种方式的好处是台电脑就可以搭建开发环境,编译、烧写都在同一台电脑完成,缺点是编译速度太慢,各种网络服务不稳定。

1.3  编译环境搭建

1.3.1Ubuntu的安装与设置

Ubuntu Linux 介绍:

Ubuntu是一个以桌面应用为主的Linux操作系统。Ubuntu拥有很多优点,相对于其他版本的LinuxUbuntu也有着自己的优势。首先,安装系统非常简单,只需要非常少的设置即可,完全可以和Windows桌面系统想媲美;其次,图形界面很人性化,模仿了在xp下常用的快捷键;还有,安装和升级程序时,可以通过网络,由系统自行安装依赖的文件包,从此不必再为Linux系统的依赖关系大伤脑筋。综合考虑大家的使用习惯和学习的需要,我们选用Ubuntu Linux,并在产品光盘中提供了Ubuntu12.04光盘镜像‘ubuntu-12.04-i386.iso’以便于用户刻盘和虚拟系统安装。

Linux桌面系统版本众多,目前本手册所有Linux实验和源码在ubuntu-12.04版本测试可以通过。使用其他版本Linux桌面系统,可能会出现gcc编译器和库文件相关的问题。碰到类似问题,可以在Linux系统发行商的官方论坛上咨询和查询。如果对Linux不熟悉的用户,强烈建议使用飞凌介绍的方法。

另外,为了满足各位用户的需求,在本手册的附录中,特对VMware虚拟机使用方法进行了详细的讲解。虚拟机相关操作详见《附录五:虚拟机VMware-8.0的安装与设置》

 

Ubuntu官网 129Hhttp://www.ubuntu.org.cn

可下载各个版本的Ubuntu。当然,官网能找到各种关于Ubuntu的信息。

Ubuntu官方论坛 130Hhttp://forum.ubuntu.org.cn/

可以找到大量的实用的Ubuntu资源,中文论坛。Ubuntu也有官方的英文论坛。

 

1.3.2 安装Ubuntu

步骤  1 首先准备一张Ubuntu12.04的安装光盘。将光盘插入光驱,在PCbios中把PC启动方式设置为光驱启动,启动PC

步骤  2 启动PC后,安装盘会提示选择安装语言种类。使用PC键盘的方向键选择在安装过程中显示的语言,在这里我们选择English>>点击“Install Ubuntu”按钮。



步骤 3 选择“Erase disk and install Ubuntu>>点击“Continue”按钮

注意:非虚拟系统会格式化您的硬盘!请谨慎操作。



步骤 4 硬盘空间以及挂载点的分配。这里选择默认。也可根据个人需要来进行设置.单击“Install Now



步骤 5 选择键盘布局,默认即可 ,单击“Continue.



 

步骤 6 选择所在地,上海, Continue:



步骤 7 输入系统用户名和密码,这里输入的用户名:forlinx, 密码:123456仅作为事例.点击“Continue”按钮,系统会完成安装。



注意:这里的用户名属于普通用户,不具备root用户权限。

1.3.3 Linux终端

Linux 系统中终端是一个很实用的与操作系统交互的窗口,您可以使用终端来编译应用程序,启动各种系统服务,在Linux系统中占据着非常重要的位置。

 

如图进行操作,即可将终端设置为快捷键。


        


 

以后每次单击启动面板上的图标即可运行终端窗口:


blob.png


1.3.4  Ubuntu12.04 root用户登录设置

ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改。
步骤 1 普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入命令后回车:

#sudo  -s

步骤 2 然后输入安装Ubuntu12.04时设置的系统密码,即可进入 root用户权限模式。

步骤 3 在终端窗口中执行

#gedit  /etc/lightdm/lightdm.conf

步骤 4 在文本全部内容删除并粘贴以下七行内容:

[SeatDefaults]
allow-guest=false
autologin-user=root
autologin-user-timeout=0
autologin-session=lightdm-autologin
user-session=ubuntu
greeter-session=unity-greeter

步骤 5 然后我们启动root帐号:
       
# sudo passwd root
步骤 6 根据提示输入root帐号密码。(注意:Linux中输入密码无符号显示)
步骤 7 重启ubuntu,不需要手动输入root用户名密码,系统会自动进入root用户。

1.3.5  设置Ubuntu网络参数

因为每个PC的网络环境不一定一样,所以需要您根据自己的实际情况来设置Ubuntu的网络,如果设置不成功,可以去Ubuntu的官方论坛上咨询。本文PC Linux网络的设置方法,仅供参考。

截图是设置虚拟机 dhcp自动获得ip的步骤


blob.png


选择nat方式


blob.png


 

上述方法设置后,不用在虚拟机设置ip地址了。

步骤 1 启动Ubunturoot用户登陆系统,单击桌面最右上端的按钮,弹出如下选项:



步骤 2 选择 System Settings,双击 Network进入网络设置项:




步骤 3 单击Options按钮


blob.png



步骤 4 选择 IPV4设置,输入您的IP地址、子网掩码、网关DNS,点击Save...,网络设置成功。


blob.png



步骤 5 测试一下,笔者的宿主机IP192.168.0.30,用虚拟机来ping宿主机:


blob.png


如图证明网络设置成功。

1.3.6  安装交叉编译器

步骤 1 将文件gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz拷贝到Ubuntu主目录下

i.MX6UL 用户光盘/iMX6UL 用户光盘(A\linux\tool\gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz

步骤 2 Ubuntu中新建一个终端,输入下面的命令安装交叉编译器:

#cd                        (进入主目录)

#mkdir  -p /opt/freescale/usr/local      (创建目录,若目录已存在会提示错误,跳过即可)

#tar  jxvf  gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz  -C  /opt/freescale/usr/local (编译器解压到/opt/freescale/usr/local 

步骤 3 查看gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12是否解压成功。

#ls -l /opt/freescale/usr/local

如可以看到gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12文件夹即解压成功。

步骤 4 添加环境变量到 Profile,执行命令打开编辑 Profile后,重启电脑。

#gedit /etc/profile

最后一行添加以下内容

export ARCH=arm

export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-

export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin:$PATH

保存并退出。在终端输入命令,使Ubuntu重启。

#reboot

步骤 5  在终端里面执行以下命令,验证交叉编译器安装是否成功
    
#arm-fsl-linux-gnueabi-gcc -v
下图为安装成功提示


blob.png


回车,就可以使用该编译器来编译 Uboot 代码和内核代码了。

注意: 以上操作均是以 root 用户登录系统操作为例; 所修改的文件仅对当前用户有效, 如果通过终端切换用户,以上修改的文件对新用户无效。

1.3.7  安装依赖包

Linux系统的编译需要安装一些工具包,可执行本公司提供的脚本进行自动安装。本节操作前必须确保您的计算机或虚拟机能正常连接互联网,如您在安装中出现网络断开连接请再按照以下步骤进行安装。

Ø  安装 linux 依赖包  需要在ubuntu12.04 32bit 版本安装 必须连接互联网。

步骤 1 将文件setup_env.sh拷贝到Ubuntu主目录下

i.MX6用户光盘/i.MX6用户光盘(A\linux\tool\setup_env.sh

步骤 2 setup_env.sh添加可执行权限

#chmod   u+x  setup_env.sh

步骤 3 执行脚本

#./setup_env.sh

步骤 4 安装过程中出现如下提示需作出对应操作

blob.png                 此提示按下回车

blob.png    此提示输入“Y”后按下回车

1.4  编译

搭建好开发环境后,接下来进行U-bootLinux内核在PC  Linux的编译。本文一切操作基于飞凌嵌入式i.MX6UL开发板,关于iMX6UL的资料请联系飞凌嵌入式在线客服人员

1.4.1  编译u-boot

uboot源码 暂不开源,请使用飞凌提供的u-boot.imx,文件所在路径

Ø  i.MX6UL用户资料/Linux\image\uboot.imx


如您自行移植u-boot可参考以下方法进行编译:

步骤 1 解压缩uboot源码,命令如下。

#tar zxvf  uboot-2015-04.tar.bz2

步骤 3 编译uboot