Test
-
编译Linux+QT - 安装依赖包
使用如下命令安装所需的软件包:
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
- 编译uboot
说明:QT系统使用的uboot与内核与安卓完全相同,如果编译过android的uboot和内核,则本小节步骤可以省略。
在android源码目录下执行如下命令编译uboot,编译完成后映像文件RK3399MiniLoaderAll_V1.05.bin(因版本不同,名称不一定相同)以及uboot.img会释放到out/release目录。
./mk.sh -u
- 编译android内核
说明:QT系统使用的uboot与内核与安卓完全相同,如果编译过android的uboot和内核,则本小节步骤可以省略。
在android源码目录下执行如下命令编译linux内核,编译完成后映像文件kernel.img、resource.img会释放到out/release目录。
./mk.sh -k
- 编译文件系统
在android源码目录下执行如下命令编译linux映像文件,编译完成后linux映像文件linux-rootfs.img会释放到out/release目录。
./mk.sh -b
在执行./mk.sh -b编译buildroot时,默认编译会少一些插件或库,会弹出一些错误信息。
该提示信息表明编译需要git包,执行如下指令安装:
sudo apt-get install git
该提示表明标准的C++库没有安装,执行如下指令安装:
sudo apt-get install lib32stdc++-4.9-dev
该提示表明缺少libz库,执行如下指令安装:
sudo apt-get install lib32z1
再执行./mk.sh -b指令即可正常编译了。编译完成后,最终打包好的文件系统linux-rootfs.img存放在out/release目录下。它包含了QT5.6的标准库,以及一些常用的QT示例。
- 生成update-linux.img文件系统
在android源码目录下执行如下命令生成单一android映像文件update-linux.img:
./mk.sh -U
update-linux.img为整个QT系统升级文件的单一映像,包括了uboot,内核,文件系统等。注意,生成update-linux.img的先决条件是已经成功编译了uboot,内核和linux文件系统,缺一不可。