当前位置:文档之家› 第2天 linux系统的编译及镜像文件的制作

第2天 linux系统的编译及镜像文件的制作

第2天linux系统的编译及镜像文件的制作一般来说,linux系统分为几个映像。

一:bootload :一般常用的是 U-boot二:内核映像:主要是linux内核编译成的映像比如TQ210开发板使用的zImage.bin三:文件系统:有很多格式,比如下面根据TQ210说明书进行讲解,大部分参考官方手册。

以后自己修改源码可以在此基础上进行修改,修改完以后按照此步骤进行编译,编译完成后进行下载到开发板进行运行1编译bootloader1.1光盘中的 u-boot 源码的解压先将光盘中的 u-boot 源码 ( 在光盘的“ TQ210_CD\bootloader\ ” 目录下 , 名为uboot_TQ210_1.3.4_V1.1.tar.bz2)拷贝到 PC 的linux系统的根目录(这里说的根目录是本手册编写者的操作和截图所拷贝的地方, 实际操作可以拷贝到任意目录下) 下, 然后使用命令#tar xvfjuboot_TQ210_1.3.4_V1.1.tar.bz2 -C /,解压源码,如下图所示源码解压后,会在“/opt/EmbedSky/TQ210/uboot_TQ210_1.3.4/”目录下得到刚刚解压的源码。

1.2 光盘中的u-boot源码的编译解压完成后,使用命令#make TQ210_config,配置u-boot,如下图所示:使用命令#make,编译u-boot。

编译结束后,在/opt/EmbedSky/TQ210/uboot_TQ210_1.3.4/目录下会得到一个名字u-boot.bin的镜像,将其拷贝到Windows 或者拷贝到TFTP 服务器发送文件指定的目录中,就可以烧写到开发板上面进行测试了(或者制作成SD 启动卡也可以测试)。

如下两图所示:2Linux的编译说明1:以下涉及到源码包名称的,请以光盘实际为准,因为一般情况下更新光盘后,源码的版本号都会增加,可能导致本手册以下操作中用到的源码包或目录时的路径发生改变,所以请一定以光盘实际为准。

说明2:天嵌科技提供的所有源码解压后的路径都是在/opt/EmbedSky/TQ210/目录下,下面讲解到的配置源码或编译源码的操作均是在对应的源码的路径下进行的,操作时请一定要在源码所在的路径下进行,否则会出错。

说明3:以下操作中的命令前的“#”号表示是使用的root 用户权限,推荐登录PC 的Linux 时使用root用户,如果不是使用root 用户登录的,请使用sudo命令,获取root 用户权限,否则可能会出现编译不成功的情况。

说明4:以下用到的源码版本编码从V1.0 开始,当前实际版本号请以光盘实际版本为准V m.n:m 从1 开始计数,一般情况是在源码很大改动时或n 的数值从9 变成0 的时候会出现改变;n 从0 到9 的循环计数,一般光盘有更新时n 的值都会发生改变。

当更新光盘时本手册的文字说明会改变,截图可能不会更改,所以在手册里面可能会出现截图所示的版本号低于文字说明和光盘实际所用的版本号。

2.1 编译Linux内核先将光盘中的Linux 内核源码(在光盘的“TQ210_CD\Linux 资源\Linux 源码包\2.6.35.7\”目录下,名为Kernel_2.6.35.7_TQ210_for_Linux_v1.1.tar.bz2)拷贝到PC 的linux系统的根目录(这里说的根目录是本手册编写者的操作和截图所拷贝的地方,实际操作可以拷贝到任意目录下)下,然后使用命令#tar xvfj Kernel_2.6.35.7_TQ210_for_Linux_v1.1.tar. bz2 -C /,解压源码,如下图所源码解压后,会在“/opt/EmbedSky/TQ210/Kernel_2.6.35.7_TQ210_for_Linux_v1.1”目录下得到刚刚解压的源码,解压完成后,使用命令#cp config_TQ210_linux_V1.1 .config,(.config可以为其他名字)拷贝配置单为默认配置单,如下图所示:然后使用命令#make menuconfig,进入配置界面,如果您想要对天嵌科技提供的默认配置单进行修改的话,请根据实际情况修改配置,然后保存刚刚修改的配置单,操作如下所示:使用命令#make zImage,编译内核。

编译结束后,在/opt/EmbedSky/TQ210/ Kernel_2.6.35.7_TQ210_for_Linux_v1.1目录下会得到一个名字zImage.bin的镜像,将其拷贝到Windows 或者拷贝到TFTP 服务器发送文件指定的目录中,就可以烧写到开发板上面进行测试了。

如下所示:3编译busybox文件系统中使用的各种常用命令都是由busybox提供的,先将busybox源码(在光盘的“TQ210_CD\Linux 资源\Linux 开发工具包\”目录下,名为:busybox-1.20.0_for_TQ210_V1.0.tar.bz2)拷贝到PC 的linux系统的根目录(这里说的根目录是本手册编写者的操作和截图所拷贝的地方,实际操作可以拷贝到任意目录下)下,然后使用命令#tar xvfj busybox-1.20.0_for_TQ210_V1.0.tar.bz2 -C /,解压源码,如下图所示:使用命令#cp -f config_TQ210_V1.0 .config拷贝天嵌科技提供的配置单为默认配置单,操作如下图所示:使用命令#make menuconfig,进入配置界面,可以增减busybox提供的命令:使用命令#make 编译busybox,编译完成后,使用命令#make install,安装busybox,安装后的busybox命令在busybox源码目录的上一级目录下名为“root_TQ210_fs/”的目录下,操作如下所示:busybox是构建文件系统的基础,关于文件系统构建方法可以阅读天嵌科技提供的《TQ2440-Linux 移植教程》(在光盘的教材合集的“天嵌科技其它教材/”目录下)。

4编译控制台应用程序控制台应用程序在光盘的“TQ210_CD\Linux 资源\Linux 源码包\ ”目录下,名为apps_TQ210_V1.0.tar.bz2,将其拷贝到Linux 的根目录目录下(这里说的根目录是本手册编写者的操作和截图所拷贝的地方,实际操作可以拷贝到任意目录下),然后解压源码#tar xvfj apps_TQ210_V1.0.tar.bz2–C /解压源码,如下图所示:下面提供各个程序的编译方法:注意:请在编译前先进入到您所要编译的目录下,然后在进行下面的操作。

硬件浮点数(VFP)的测试程序(vfp_test):直接输入命令#make,即可完成编译;数学公式测试程序(math-test):使用命令#make,即可完成编译;Hello 测试程序(Hello-C 和Hello-C++):使用命令#make,即可完成编译;网络测试程序(UDP-Test):使用命令#make,即可完成编译;多线程测试程序(pthread-test):使用命令#make,即可完成编译;看门狗喂狗程序(EmbedSky_wdg):使用命令#make,即可完成编译;mp3 播放器(madplay):使用命令#./build,利用编译脚本即可自动完成编译;无线网络操作程序(wireless_tools.29):使用命令#make,即可完成编译;数据库(sqlite-3.5.9):使用命令#./build,利用编译脚本即可自动完成编译,编译后在源码目录下的__install/目录下可以获取编译好的库文件和可执行文件;触摸校正程序(tslib-1.4.1):使用命令#./build,利用编译脚本即可完成自动编译,编译后在源码目录下的__install/目录下可以获取编译好的可执行文件;WEB 服务器(boa-0.94.13 和cgic205):在boa-0.94.13 源码目录下使用命令#./build,编译完成后,会在src/目录下得到库和可执行文件;在cgic205 源码目录下使用命令#make,即可完成编译。

5编译Qt库从光盘的“TQ210_CD\Linux 资源\Qt源码包”目录下拷贝名为“qt-4.5_for_TQ210_V1.0.tar.bz2”的qt-4.5 库的源码拷贝到PC 的linux系统的根目录(这里说的根目录是本手册编写者的操作和截图所拷贝的地方,实际操作可以拷贝到任意目录下)下,然后使用命令:#tar xvfj qt-4.5_for_TQ210_V1.0.tar.bz2 -C /解压源码,如下图:源码解压后会在“/opt/EmbedSky/qt-4.5/”目录下得到库的源码和编译脚本,使用命令#./arm_qt4.5_build,编译出arm 版本的qt库,大概需要编译30 分钟左右(不同的电脑配置,编译时间长短不同),编译结束后,会在“/opt/EmbedSky/qt-4.5/__install/arm/”目录下得到arm 版本的qt库。

制作文件系统时的qt库和编译应用程序时的qt库均是使用这个目录下的库文件。

说明:该目录下的有效文件参考TQ210 配套的文件系统的“/opt/PDA/”目录下的“bin/”、“lib/”、“pic/”和“plugins/”目录。

6编译Qt应用程序先将光盘中的应用程序源码(在光盘的“TQ210_CD\Linux 资源\Qt源码包\”目录下,名为qt_apps_source_code_V1.0.tar.bz2)拷贝到PC 的linux系统的根目录(这里说的根目录是本手册编写者的操作和截图所拷贝的地方,实际操作可以拷贝到任意目录下)下,然后使用命令#tar xvfjqt_apps_source_code_V1.0.tar.bz2 -C /,解压源码,如下图所示:解压后会在“/opt/EmbedSky/qt-4.5/pro/”目录下得到Qt应用程序的源码,编译前,请先使用命令获取arm 版本的Qt库的环境变量#source setARM_env,操作如下:说明:在获取环境变量后,如果需要建立Qt的工程,可以使用命令#$QMAKE -project,由工程得到Makefile文件,可以执行命令#$QMAKE,获取Makefile文件。

7 制作文件系统镜像拷贝光盘中的制作文件系统的工具(在光盘的“TQ210_CD\Linux 平台工具”目录下,名为mkxxximge_tools_for_TQ210_V1.0.tar.bz2)拷贝到PC 的linux系统的根目录(这里说的根目录是本手册编写者的操作和截图所拷贝的地方,实际操作可以拷贝到任意目录下)下,使用命令#tar xvfjmkxxximge_tools_for_TQ210_V1.0.tar.bz2 -C /,解压后,在“/usr/local/sbin/”目录下可以得到相应的工具和使用说明文件,如下所示:说明1:下图是为了演示的方便,特意在解压完文件系统后解压的制作文件系统的工具,如果这步已经完成,请跳过此步直接制作文件系统,如果提示找不到mkyffs2image_for_TQ210 这个工具,请做完这步。

相关主题