A7-3588 · 系统
Android BSP 与固件编译
A7-3588 的 Android 开发包含 Android 12 与 Android 14 两条路线。Android 12 工程采用 Linux 5.10 内核,Android 14 工程采用 Linux 6.1 内核。系统源码、内核、工具链、设备树和镜像必须保持同一工程版本。
编译环境
使用 64 位 Linux 开发电脑,物理内存与交换空间合计准备约 64GB,至少预留 250GB 磁盘空间。以 Ubuntu 18.04 或更高版本为基础,安装 Git、构建工具、Flex、Bison、压缩工具、XML 工具和相关开发库;具体发行版应与交付 SDK 的编译环境匹配。SDK 放在本地英文目录,先核对分卷校验值再解压。
编译流程
先按工程中的产品构建入口完成内核和引导程序构建。在 Android 源码根目录加载环境,选择该产品的构建目标,再编译系统并整理镜像:
source build/envsetup.sh
lunch
make -j8
./mkimage.sh
lunch 用于选择工程已提供的产品目标;并行任务数根据电脑内存调整。完整镜像使用 SDK 的统一打包流程生成。
镜像组成
| 文件 | 内容与用途 |
|---|---|
boot.img | 启动所需的内核、设备树和 ramdisk 等内容 |
dtbo.img | 设备树叠加配置 |
super.img | 承载 system、vendor、product 等逻辑分区 |
vbmeta.img | AVB 校验元数据 |
uboot.img | 二级引导程序 |
MiniLoaderAll.bin | 早期启动组件 |
parameter.txt | 分区布局 |
update.img | 用于统一升级的完整镜像包 |
内核变更与验证
这两条路线均将 kernel.img、resource.img 的相关内容组合到启动镜像。修改内核或设备树后重新打包 boot.img,不能把中间产物直接当作独立分区写入。单独重建启动镜像时,使用同一版本的基础 boot.img。
编译结束后保存构建日志和镜像校验值。烧录后检查系统启动、显示输入输出、ADB、USB、以太网、摄像头、音频及 PCIe FPGA 设备,再作为发布版本归档。