快速指南
制作Sabrelite Linux SDK开发环境和系统映像
目录
1概述 (3)
2在线获取SDK (4)
2.1下载基础版本 (4)
2.2在线创建自定义版本 (8)
3本地编译SDK (16)
3.1安装SDK (16)
3.2编译SDK (17)
3.2.1编译u-boot (17)
3.2.2编译Linux内核 (19)
3.2.3制作文件系统映像 (20)
4烧写和运行映像文件 (22)
4.1烧写映像文件 (22)
4.1.1准备工具和映像 (22)
4.1.2复制文件 (22)
4.1.3连接硬件 (23)
4.1.4设置USB启动方式 (23)
4.1.5运行Mfgtool并检测Sabrelite板 (23)
4.1.6开始烧写 (24)
4.2运行映像文件 (24)
4.2.1配置SPI-NOR启动 (24)
4.2.2打开终端程序 (25)
4.2.3运行系统映像 (25)
5附录 (27)
6免责声明 (27)
2
1概述
Sabrelite的软件开发环境简称Sarelite SDK,在Sabrelite上运行Linux系统需要经过以下步骤:
1)在线获取SDK
2)在本地编译SDK
3)在Sabrelite上运行编译生成的映像
步骤1有两种方式可供选择,第一种方式为直接下载基础的Sabrelite SDK软件包,第二种方式为在线创建一个自定义SDK版本然后进行下载。
3
2在线获取SDK
2.1下载基础版本
请按照以下步骤从https://www.sodocs.net/doc/a79949905.html,/网站下载Freescale SDK;
1)进入https://www.sodocs.net/doc/a79949905.html,/主页后,单击页面右方的User LinuxLink FREE Register now.(下图
中红色箭头指向的按钮)
图 2-1 Timesys网站主页
4
2)在注册页面填写需要的信息;
图 2-2 Timesys注册页面
页面中带有*号的项目和e-mail地址为必填项。下面的列表简要介绍了这些项目;
表2-1注册信息
项目描述
First Name 输入您的名
Last Name 输入您的姓
Title 选择您的职业
5
6
项目 描述
Phone 输入您的电话号码 Comany 输入您的公司名称 Country 选择您的国家名称 Password
输入一个登录密码 Enter Password Again
再次输入登录密码
Agree to Terms of Service 将该项打钩表示同意服务条款 Board you want to
assemble Linux for 选择您使用的开发板名称。这里选择Freescale i.MX6Q SABRE-Lite 。 Processor of Interest
选择您使用的处理器名称。这里选择Freescale i.MX6。
所有信息填写完毕后,单击页面底部的Get Access Now 完成注册,然后单击页面右上方的Login to LinuxLink ,使用您刚才输入的邮箱地址和密码来登录。
3) 登录后单击页面上方导航栏中的Download BSP/SDK (下图中红色箭头所指);
图 2-3 登录Timesys
4)在下方页面中单击i.MX6Q SABRE-Lite Small Footprint(下图中红色箭头所指);
图 2-4 下载页面
5)在下方的页面中单击位于Download SDK installer后方的链接(下图中红色箭头所指),开始下
载SDK包;
图 2-5 下载SDK包
注意:这里下载的SDK软件包仅包含文件系统映像,不包含文件系统中的各种
工具和u-boot的源代码。您可以单击以上页面底部的View All Files来显示
这些工具和源代码的链接。
7
2.2在线创建自定义版本
请按照以下步骤在https://www.sodocs.net/doc/a79949905.html,/网站上在线创建自定义Freescale SDK;
1)访问https://www.sodocs.net/doc/a79949905.html,/并登录,然后单击顶部导航栏中的Build BSP/SDK,进入下图中的
项目创建页面;
图 2-6 创建项目
单击页面中的Create a Project;
2)在以下页面中输入名称和描述等信息,并在Board下拉菜单中选择Freescale i.MX6Q SABRE-
Lite;
图 2-7 输入项目信息
在页面底部单击Create Projec t;
8
3)在以下页面中单击Create a Workorder;
图 2-8 创建工作单
4)在下方页面中输入新工作单名称等信息,并单击Next;
图 2-9 工作单信息
9
5)在下方页面中选择内核版本,并单击Next;
图 2-10 选择内核版本
6)在下方页面中选择需要的工具链,推荐选择glibc Recommended项,然后单击Next;
图 2-11 选择工具链
10
7)在下方窗口中选择软件组件;
图 2-12 选择软件组件
通过单击页面左方的Select a template可以对某些组合功能进行快速选择,例如Busybox Init,Systemv Init和 X Windows GUI等;
选择完成后单击Next。
注意:默认映像的SDK需要选中Busybox Init功能,以及页面中Demo选项内的
fluidlauncher、qt-about-timesys、timesys-theatre-1080p、nitrogen6x-
addons-tslib,和Multimedia选项中的fsl-mm-aacpdec-codeclib、fsl-codec-
full、libfslcodec。
11
8)在以下页面中保留默认值并单击Next;
图 2-13 配置杂项
12
9)在以下页面中单击Next;
图 2-14 单击Next
13
14
10) 在工作单总览页面可以查看和修改自定义SDK 的所有内容;在页面底部单击Save 可以保存该项
目,单击Build 则开始在线创建自定义SDK ,创建过程需要花费一段时间;创建完成后网站会向您的邮箱发送一封提醒邮件;
图 2-15 保存项目和创建SDK
11)当您收到提醒邮件后,请登录https://www.sodocs.net/doc/a79949905.html,并单击导航栏中的Download BSP/SDK,进入如
下图所示的页面;
图 2-16已完成的自定义SDK
在页面中可以看到已经完成的自定义SDK包;单击图标进入下一页面。
12)在以下页面中单击Download SDK installer右方的链接来下载自定义的SDK软件包(下图中红色
箭头所指)。
图 2-17下载自定义SDK
15
3本地编译SDK
3.1安装SDK
将下载的SDK软件包i.MX6QSABRELite-development-environment.sh保存到用户目录的work文件夹下。然后在Linux平台的Bash Shell环境中通过以下命令安装SDK。
yanglsh@TIOP:~/work$ chmod a+x i.MX6QSABRELite-development-environment.sh
yanglsh@TIOP:~/work$ ./i.MX6QSABRELite-development-environment.sh
注意:黑体字为需要输入的命令。
在安装过程中需要多次按下空格键,最后按下Y键表示同意。安装路径默认为$HOME/timesys。
输入以下命令来查看安装好的SDK文件。
yanglsh@TIOP:~/work$ cd $HOME/timesys
yanglsh@TIOP:~/timesys$ ls -l i_MX6QSABRELite/
total 3684
drwxr-xr-x 2 yanglsh yanglsh 4096 2012-12-17 03:58 bootloader
drwxr-xr-x 3 yanglsh yanglsh 4096 2012-12-17 04:41 kernel-source
drwxr-xr-x 2 yanglsh yanglsh 4096 2013-01-10 15:34 rfs
drwxr-xr-x 12 yanglsh yanglsh 4096 2013-01-10 15:34 toolchain
-rw-r--r-- 1 yanglsh yanglsh 3750792 2013-01-10 15:34 uImage-3.0-ts-armv7l
在bootloader目录下保存有预先编译好的u-boot;uImage-3.0-ts-armv7l是预先编译好的Linux 内核。
最后执行以下命令将交叉编译器放入路径列表。
yanglsh@TIOP:~/timesys$ export PATH=$PATH:$HOME/timesys/i_MX6QSABRELite/toolchain/ccache: $HOME/timesys/i_MX6QSABRELite/toolchain/bin
16
3.2编译SDK
3.2.1编译u-boot
请按照以下步骤完成u-boot的编译。
1)在图 2-17所示页面的底部单击View All Files,并在新打开的页面中单击source/(红色箭头所
指);
图 2-18 查看所有文件
2)在下方页面中单击u/(红色箭头所指);
17
18
图 2-19 单击
u/
3) 在下方页面中单击u-boot/(红色箭头所指);
图 2-20 单击u-boot
4) 在下方页面中单击u-boot-2009.08/(红色箭头所指);
图 2-21 单击u-boot-2009.08
5) 在下方页面中单击u-boot-2009.08.tar.bz2和u-boot-2009.08-imx6-12.09.01-201209111811.patch ,将它们下载到到本地系统文件夹$HOME/timesys/i_MX6QSABRELite 中。
图 2-22 下载u-boot
6) 执行以下命令来解压u-boot 和安装补丁;
yanglsh@TIOP:~/work$ cd $HOME/timesys/i_MX6QSABRELite
yanglsh@TIOP:~/timesys/i_MX6QSABRELite$ tar -xvf u-boot-2009.08.tar.bz2 yanglsh@TIOP:~/timesys/i_MX6QSABRELite$ cd u-boot-2009.08/ yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ patch -p1
<../u-boot-2009.08-imx6-
12.09.01-201209111811.patch
7) 执行以下命令来开始编译;
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ make CROSS_COMPILE=armv7l-timesys-linux-gnueabi- distclean
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ make CROSS_COMPILE=armv7l-timesys-
linux-gnueabi- mx6q_sabrelite_config
Configuring for mx6q_sabrelite board...
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ make CROSS_COMPILE=armv7l-timesys-linux-gnueabi-
Generating include/autoconf.mk
Generating include/autoconf.mk.dep
8)执行以下命令来将工具软件mkimage复制到../toolchain/bin/目录下;
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ cp tools/mkimage ../toolchain/bin/
3.2.2编译Linux内核
执行以下命令来编译Linux内核;
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ cd $HOME/timesys/i_MX6QSABRELite/ke rnel-source/linux-3.0
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ make ARCH=arm distclean
CLEAN .
CLEAN arch/arm/kernel
CLEAN drivers/tty/vt
CLEAN drivers/video/logo
CLEAN firmware
CLEAN kernel
CLEAN lib
CLEAN arch/arm/boot/compressed
CLEAN arch/arm/boot
CLEAN .tmp_versions
CLEAN vmlinux System.map .tmp_kallsyms1.o .tmp_kallsyms1.S .tmp_kallsyms2.o .tmp_kallsyms2.S .t mp_vmlinux1 .tmp_vmlinux2 .tmp_System.map
CLEAN scripts/basic
CLEAN scripts/genksyms
19
CLEAN scripts/kconfig
CLEAN scripts/mod
CLEAN scripts
CLEAN include/config include/generated arch/arm/include/generated
CLEAN .config .config.old .version include/linux/version.h Module.symvers
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ make ARCH=arm imx6_defconfig HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ make ARCH=arm CROSS_COMPILE =armv7l-timesys-linux-gnueabi- uImage
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
编译完成后生成的uImage文件保存于路径$HOME/timesys/i_MX6QSABRELite/kernel-source/linux-
3.0/arch/arm/boot/下。
3.2.3制作文件系统映像
1)执行以下命令来解压压缩包;
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ cd $HOME/timesys/i_MX6QSABRE Lite/rfs
yanglsh@TIOP:~/timesys/i_MX6QSABRELite/rfs$ mkdir rootfs
20