[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 台电脑就可以搭建开发环境,编译、烧写都在同一台电脑完成,缺点是编译速度太慢,各种网络服务不稳定。
1.3 编译环境搭建
1.3.1:Ubuntu的安装与设置
Ubuntu Linux 介绍:
Ubuntu是一个以桌面应用为主的Linux操作系统。Ubuntu拥有很多优点,相对于其他版本的Linux,Ubuntu也有着自己的优势。首先,安装系统非常简单,只需要非常少的设置即可,完全可以和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的安装光盘。将光盘插入光驱,在PC的bios中把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系统中占据着非常重要的位置。
如图进行操作,即可将终端设置为快捷键。
以后每次单击启动面板上的图标即可运行终端窗口:
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的步骤
选择nat方式
上述方法设置后,不用在虚拟机设置ip地址了。
步骤 1 :启动Ubuntu,root用户登陆系统,单击桌面最右上端的按钮,弹出如下选项:
步骤 2 :选择 System Settings,双击 Network进入网络设置项:
步骤 3 :单击Options按钮
步骤 4 :选择 IPV4设置,输入您的IP地址、子网掩码、网关、DNS,点击Save...,网络设置成功。
步骤 5 :测试一下,笔者的宿主机IP为192.168.0.30,用虚拟机来ping宿主机:
如图证明网络设置成功。
1.3.6 安装交叉编译器
步骤 1 :将文件gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz拷贝到Ubuntu主目录下
1 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
下图为安装成功提示
回车,就可以使用该编译器来编译 Uboot 代码和内核代码了。
注意: 以上操作均是以 root 用户登录系统操作为例; 所修改的文件仅对当前用户有效, 如果通过终端切换用户,以上修改的文件对新用户无效。
1.3.7 安装依赖包
Linux系统的编译需要安装一些工具包,可执行本公司提供的脚本进行自动安装。本节操作前必须确保您的计算机或虚拟机能正常连接互联网,如您在安装中出现网络断开连接请再按照以下步骤进行安装。
Ø 安装 linux 依赖包 需要在ubuntu12.04 32bit 版本安装 必须连接互联网。
步骤 1 :将文件setup_env.sh拷贝到Ubuntu主目录下
1 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 :安装过程中出现如下提示需作出对应操作
此提示按下回车
此提示输入“Y”后按下回车
1.4 编译
搭建好开发环境后,接下来进行U-boot和Linux内核在PC Linux的编译。本文一切操作基于飞凌嵌入式i.MX6UL开发板,关于iMX6UL的资料请联系飞凌嵌入式在线客服人员
1.4.1 编译u-boot
uboot源码 暂不开源,请使用飞凌提供的u-boot.imx,文件所在路径
Ø i.MX6UL用户资料/Linux\image\uboot.imx
如您自行移植u-boot可参考以下方法进行编译:
步骤 1 :解压缩uboot源码,命令如下。