编译AOSP并生成镜像
编译AOSP源码生成Kbox安卓镜像。
- 编译AOSP源码。
- 生成您自己的唯一发布密钥集用于对部署的Android操作系统映像进行签名。
1 2 3 4
cd ~/aosp/ rm -rf ./build/target/product/security/release* chmod +x ./development/tools/make_key ./development/tools/make_key build/target/product/security/releasekey '/C=xx/ST=xxx/L=xxx/O=xxx/OU=xx/CN=xxx/emailAddress=xxxxx@xxx.com'
在执行make_key命令时,会提示输入密码,可以直接按回车跳过。
make_key命令参数介绍如下:
- “build/target/product/security/releasekey”表示要生成key的名字。
- 后面的参数表示公司相关信息,请根据实际情况填写,含义解释如下所示:
- C:Country Name (2 letter code)
- ST:State or Province Name (full name)
- L:Locality Name (eg, city)
- O:Organization Name (eg, company)
- OU:Organizational Unit Name (eg, section)
- CN:Common Name (eg, your name or your server’s hostname)
- emailAddress:Contact email address
- 将envsetup.sh中所有用到的命令加载到环境变量中。
1
source build/envsetup.sh
- 选择编译模式。Kbox的user模式编译镜像默认开启adb,adb有root权限。此处默认采用user模式编译镜像。
1
lunch kbox_arm64-user
若需要采用userdebug模式编译镜像,请将上述lunch命令后的选项“kbox_arm64-user”修改为“kbox_arm64-userdebug”,如下所示。lunch kbox_arm64-userdebug
- 执行编译。
1 2
make clean make -j
在执行上述命令时,“-j”后的数字参数要根据服务器实际的CPU核数来定。CPU核数可通过以下命令查询。
1
cat /proc/cpuinfo |grep "processor" | wc -l
可不指定核数,直接执行make命令,则默认用1个核进行编译,也可用“-j”参数指定核数进行编译,可指定的数字最大为服务器实际的CPU核数,本文以64核为例进行说明。
正常情况下,能够编译完成。有时可能由于并发编译顺序导致编译出现问题,可尝试重新执行make命令。
- 生成您自己的唯一发布密钥集用于对部署的Android操作系统映像进行签名。
- 解压Kbox-AOSP11.zip,将Kbox-AOSP11文件夹中的make_img_sample目录上传至“~/dependency”目录。
请对上传文件、目录的权限进行合理配置,其他用户属组建议不配置写权限。
- 拷贝生成镜像脚本至“~/aosp”目录,并添加可执行权限。
1 2 3 4
cd ~/dependency/make_img_sample/kbox11_android_build cp create-package.sh ~/aosp/ cd ~/aosp chmod +x create-package.sh
- 运行脚本,生成Kbox安卓镜像。
制作镜像的时候需要root权限,请用root用户执行脚本,且执行脚本时,目录需要使用绝对路径。
1
./create-package.sh ~/aosp/out/target/product/arm64/system.img
至此,Kbox安卓镜像制作完成,在当前目录下会生成名为android.tar的Kbox镜像。
父主题: 编译AOSP源码与镜像生成