一、编译前的准备工具: ►VMware虚拟机: VMware-workstation-full-10.0.7-2844087.exe #请购买正版软件 ►CentOS镜像和虚拟机二选一: CentOS镜像: CentOS-7-x86_64-DVD-1503-01.iso #centos官方镜像文件 CentOS虚拟机: CentOS-64-sinlinx.zip #sinlinx搭建好的VMware虚拟机 ►sinlinx-a33-linux源码包: sinlinx-a33-linux-xxx.tar.gz #xxx:发布日期 二、源码结构说明: ►lichee #linux kernel boot rootfs ►tools pkgs #pkgs for CentOS toolchain #cross compile toolchain ►Qt qt-4.8.7 # QT4.8 source and compile script 三、安装VMare+CentOS ►安装VMware全部点下一步安装即可 ►安装CentOS 注:若不想自己安装可直接下载我们搭建的虚拟机,然后再VMware中打开,用root用户登录,密码为HelloSinlinx,并直接从“编译Linux”开始 选择自定义安装 ►安装CentOS启动刚才创建的虚拟机:CentOS-64-sinlinx 这里主要改一下“Data & Time”和“SOFTWARE SELECTION”,其他默可。 ►“SOFTWARE SELECTION”按下图所示选择
►然后开始安装,过程中设置一下root密码和user账户。 ►安装完后重启,登陆ROOT用户,选择语言(建议选英文)等配置。 至此,VMware+CentOS安装完毕。 四、更新CentOS源 CentOS由于很追求稳定性,所以官方源中自带的软件不多,因而需要一些第三方源,比如EPEL、ATrpms、ELRepo、Nux Dextop、RepoForge等。根据上面提到的软件安装原则,为了尽可能保证系统的稳定性,此处大型第三方源只添加EPEL源、Nux Dextop和ELRepo源。 安装注意要先打开网络连接,若执行yun install时提示/var/run/yum.pid被锁定,可将其删掉后再试。 ►EPEL EPEL即Extra Packages for Enterprise Linux,为CentOS提供了额外的10000多个软件包,而且在不替换系统组件方面下了很多功夫,因而可以放心使用。 yum install epel-releasels 执行完该命令后,在/etc/yum.repos.d目录下会多一个epel.repo文件。 ►Nux DextopNux Dextop中包含了一些与多媒体相关的软件包,作者尽量保证不覆盖base源。官方说明中说该源与EPEL兼容,实际上个别软件包存在冲突,但基本不会造成影响: release-0-5.el7.nux.noarch.rpm 完成该命令后,在/etc/yum.repos.d目录下会多一个nux-dextop.repo文件。 ►ELRepoELRepo包含了一些硬件相关的驱动程序,比如显卡、声卡驱动: .rpm 完成该命令后,在/etc/yum.repos.d目录下会多一个elrepo.repo文件。 ►安装yum-axelgetyum-axelget是EPEL提供的一个yum插件。使用该插件后用yum安装软件时可以并行下载,大大提高了软件的下载速度,减少了下载的等待时间: yum install yum-axelget 安装该插件的同时会安装另一个软件axel。axel是一个并行下载工具,在下载http、ftp等简单协议的文件时非常好用。 ►全面更新在进一步操作之前,先把已经安装的软件包都升级到最新版: yum update 要更新的软件包有些多,可能需要一段时间。不过有了yum-axelget插件,速度已经快了很多啦。 ►重启重启虚拟机。 五、编译源码前准备►安装源码在虚拟上新建目录 | mkdir -p /root/work/sinlinx/a33 |
将源码包(sinlinx-a33-linux-xxx.tar.gz)拷贝至该目录下并解压,然后从git中提取文件 cd /root/work/sinlinx/a33 tar -xvf sinlinx-a33-linux-xxx.tar.gz #解压后得到“.get”目录 git reset --hard #执行完此步骤才能看到文件 | ►安装交叉编译环境将arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2解压到/opt目录 Tar -jxvf /root/work/sinlinx/a33/tools/toolchain/arm-2014.05-29-arm-none-linux- | gnueabi-i686-pc-linux-gnu.tar.bz2 -c /opt/ |
►添加环境变量:修改/etc/bashrc文件,在最后添加 export PATH=$PATH:/opt/arm-2014.05/bin |
►安装依赖库 | yum install xulrunner.i686 yum install libXtst.i686 yum install texinfo yum install zlib-devel.x86_64 yum install fakeroot cd /root/work/sinlinx/a31s/tools/pkgs rpm -ivh uboot-tools-2011.03-1.el6.x86_64.rpm rpm -ivh busybox-1.15.1-21.el6_6.x86_64.rpm |
六、编译QT4.8.7►编译QT进入qt源码所在路径,直接运行build.sh即可,另外可根据自己的需求修改build.sh中的QT配置选项 cd /root/work/sinlinx/a33/qt-4.8.7 | |
编译完成后会自动安装到/opt/qt-4.8.7目录 七、编译Linux ►配置 | cd /root/work/sinlinx/a33/lichee ./build.sh config |
Welcome to mkscript setup progress All available chips: 0.sun8iw5pl Choice:0 All available platforms: 0.Linux Choice:0 All available QT: 0.None #文件系统不包含QT 1.Qt4.8.7 #QT4.8.7 Choice:1 All available kernel: 0.linux-3.4 Choice:0 All available boards: 0.Sinlinx Choice:0 ►编译 编译完成后有如下提示 ►打包镜像文件 完成后会显示镜像img文件所在的路径 注: SINA33 Linux的rootfs路径位于/root/work/sinlinx/a33/licheebuildroot/target/sinlinx/rootfs 在制作镜像文件之前可以将要安装的程序拷贝到该目录下,另外可修改该路径下“sinlinx/autorun.sh”文件来更改自动加载的驱动、配置以及自启动应用程序。 八、附录1.校准触摸屏 在串口控制台输入命令进行校准 2.校准测试 3.使用扩展空间 默认的img烧写后剩余空间很小,用df命令查看 用fdisk -l命令查看分区大小 /dev/mmcblk0p1 有很大的空间,我们可将其格式化后挂载上来使用 Mkfs.ext4 /dev/mmcblk0p1 #格式化,只执行一次即可 | | Mount /dev/mmcblk0p1 /udisk #挂载,可将其写到启动脚本内开机自动挂载 |
再次输入df查看 成功挂载以后我们将文件拷贝到/udisk目录下即可,另外可挂载命令写到/sinlinx/autorun.sh脚本中。 4.搭建QT APP开发环境 ►开启SSH服务Qt Creater可直接通过ssh部署运行程序,首先我们需要打开开发板的ssh服务。在串口控制台输入如下命令 开启后可载虚拟机上用ssh命令测试,需要先知道开发板的IP地址(用ifconfig命令查看)。 注意:每次重启开发板后需要手动开启ssh服务,也可将该命令写到/etc/profile脚本里开机自动启动。 ►在虚拟机(CentOS7)上安装QtCrea将qt-creator-opensource-linux-x86_64-3.5.1.run拷贝到虚拟机中,双击安装,全部点下一步即可。 ►Qt Creator设置注:SINA31s与SINA33此部分一致 打开Qt Creator(Applications->Programming->Qt Creator) 添加新的设备 点击Tools->Options...->Devices 点Add添加新设备,配置如下图所示,其中Host name处填开发板的IP,用户名为root,密码sinlinx 点Test按钮,若成功的话提示如下: 注意:开发板默认是通过DHCP获取IP地址,所以重启后IP可能会改变,这时要重新修改Host name 设置编译运行选项 点击Tools->Options...->Build&Run 打开Compilers选项卡添加编译工具,完成后点Apply保存。
打开Qt Versions添加Qt版本,完成后点Apply保存 打开Kits添加配置,之后点OK完成配置
|