华为提供一键式编译Kbox安卓镜像的自动化脚本。一键式编译脚本包含了编译构建的全部流程,若参考本章节使用了一键式编译脚本进行镜像编译,则可以跳过软件编译后续章节直接进行软件部署。
自动化脚本实现了安装编译依赖包、编译AOSP源码与镜像生成章节的操作。使用自动化脚本需要准备AOSP源码、华为提供的Kbox二进制文件包、ExaGear转码包和Android代码补丁包、编译脚本包,请参见表1获取。自动化脚本的使用步骤如下:
请确保“/home”目录的剩余空间大于250GB。
mkdir -p /home/auto_compile cd /home/auto_compile
cd /home/auto_compile unzip Kbox-AOSP11.zip
cd /home/auto_compile/Kbox-AOSP11/make_img_sample/kbox11_android_build vim kbox11_android_build.sh
DNS=xx.xx.xx.xx ADDRESS=xx.xx.xx.xx NETMASK=xx.xx.xx.xx
cd /home/auto_compile/Kbox-AOSP11/make_img_sample/kbox11_android_build mkdir -p package
将下载的文件上传至服务器的“/home/auto_compile/Kbox-AOSP11/make_img_sample/kbox11_android_build/package”目录。
cd /home/auto_compile/Kbox-AOSP11/make_img_sample/kbox11_android_build && chmod +x kbox11_android_build.sh ./kbox11_android_build.sh
此脚本执行时间较长,请耐心等待。脚本执行完成会有如下回显。如遇脚本执行报错,优先排查脚本并联系华为工程师。
---------------Success-------------- /home/auto_compile/aosp/android.tar ---------------End--------------
执行脚本时概率出现“'format_info.h' file not found”类报错,原因为mesa多线程编译概率性发生编译所依赖的头文件后生成,导致编译失败。
../src/mesa/main/formats.c:81:10: fatal error: 'format_info.h' file not found #include "format_info.h" 1 error generated.
该报错可通过以下步骤操作解决:
source ~/.bashrc
cd /home/auto_compile/aosp source build/envsetup.sh lunch kbox_arm64-user make -j
make -j
#### build completed successfully (xx:xx (mm:ss)) ####
cp -r /home/auto_compile/Kbox-AOSP11/make_img_sample/kbox11_android_build/create-package.sh /home/auto_compile/aosp chmod +x create-package.sh ./create-package.sh /home/auto_compile/aosp/out/target/product/arm64/system.img
至此,Kbox安卓镜像制作完成,在AOSP源码目录下会生成名为“android.tar”的Kbox镜像。