跳转至: 导航, 搜索

Test

Admin讨论 | 贡献2017年3月2日 (四) 11:25的版本
  1. 编译Linux+QT
    1. 安装依赖包

使用如下命令安装所需的软件包:

sudo apt-get update

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libwxgtk3.0-dev build-essential zip curl zlib1g-dev gcc-multilib g++-multilib genromfs libc6-dev-i386 libncurses5-dev x11proto-core-dev libx11-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip gperf lsb-core lib32z1-dev lib32ncurses5-dev lzop

  1. 编译uboot

说明:QT系统使用的uboot与内核与安卓完全相同,如果编译过android的uboot和内核,则本小节步骤可以省略。

在android源码目录下执行如下命令编译uboot,编译完成后映像文件RK3399MiniLoaderAll_V1.05.bin(因版本不同,名称不一定相同)以及uboot.img会释放到out/release目录。

./mk.sh -u

  1. 编译android内核

说明:QT系统使用的uboot与内核与安卓完全相同,如果编译过android的uboot和内核,则本小节步骤可以省略。

在android源码目录下执行如下命令编译linux内核,编译完成后映像文件kernel.img、resource.img会释放到out/release目录。

./mk.sh -k

  1. 编译文件系统

在android源码目录下执行如下命令编译linux映像文件,编译完成后linux映像文件linux-rootfs.img会释放到out/release目录。

./mk.sh -b

在执行./mk.sh -b编译buildroot时,默认编译会少一些插件或库,会弹出一些错误信息。

553x52px

   该提示信息表明编译需要git包,执行如下指令安装:

sudo apt-get install git

553x139px

   该提示表明标准的C++库没有安装,执行如下指令安装:

sudo apt-get install lib32stdc++-4.9-dev

553x105px

   该提示表明缺少libz库,执行如下指令安装:

sudo apt-get install lib32z1

   再执行./mk.sh -b指令即可正常编译了。编译完成后,最终打包好的文件系统linux-rootfs.img存放在out/release目录下。它包含了QT5.6的标准库,以及一些常用的QT示例。
  1. 生成update-linux.img文件系统

在android源码目录下执行如下命令生成单一android映像文件update-linux.img:

./mk.sh -U

   update-linux.img为整个QT系统升级文件的单一映像,包括了uboot,内核,文件系统等。注意,生成update-linux.img的先决条件是已经成功编译了uboot,内核和linux文件系统,缺一不可。