使用参考开发板

您可以使用 Android 开源项目 (AOSP) build 和针对特定硬件的相关二进制文件来创建适用于 Nexus 和 Pixel 设备的 build。如需查看可用的 Android build 及其针对的目标设备,请参阅源代码标记和 build

此外,您还可以创建适用于 DragonBoard 845cHiKey 960 Android 参考开发板的 build,此类参考开发板旨在帮助非移动组件供应商开发驱动程序并将其移植到各 Android 版本。使用参考开发板可以简化升级工作,缩短将新 Android 设备推向市场所需的时间,降低设备成本(因为使用参考开发板时,ODM/OEM 可以从更多兼容组件中进行选择),并加快组件供应商的创新速度。

Google 支持 DragonBoard 845cHiKey 960 Android 参考开发板。AOSP 可为这些开发板提供内核源代码和开发板支持,这样开发者就能够以更低的 OEM 费用轻松创建和调试外围设备驱动程序、进行内核开发,以及执行其他任务。

DragonBoard 845c

DragonBoard 845c 是 RB3 平台的一部分,可从 96boards.org 获取。

Dragonboard 图片

图 1. DragonBoard 845c

编译用户空间

您可以使用以下命令在 DragonBoard 845c 上下载 Android 源代码树并进行构建。

  1. 下载 Android 源代码树:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. 构建:

    . ./build/envsetup.sh
    lunch db845c-userdebug
    make -j24
    

安装本地映像

  1. 启动 db845c 以进入 fastboot 模式(请参阅 DragonBoard 恢复)。

  2. 运行以下命令:

    ./device/linaro/dragonboard/installer/db845c/flash-all-aosp.sh
    

或者,您也可以在 USB 刷写模式下启动 db845c,然后运行以下脚本来执行 QDL 开发板恢复:

./device/linaro/dragonboard/installer/db845c/recovery.sh

刷写来自 ci.android.com 的映像

您可以使用 flash.android.com 轻松测试来自 ci.android.com 的最新 AOSP build 工件。您无需进行构建,但在开始之前,您需要准备好一个已刷写 AOSP 中最新引导加载程序的 DragonBoard 845c。

  1. 在网络浏览器中,转到 flash.android.com

  2. 点击 Get Started,然后跳过第 1 步(因为您的设备已处于开发者模式)。

  3. available 中,找到“DragonBoard 845c (db845c)”。如果没有看到该选项,请点击 + Add new device,然后从列表中选择“Android gadget”或“Android device”。

  4. 选择 DragonBoard 845c (db845c)

  5. 点击 Select a build ID,然后选择最新的 build。

  6. 点击 Install

  7. 按照剩下的说明操作,并等待系统刷写开发板。

恭喜,您的 DragonBoard 845c 现在已在运行最新的 AOSP build 了!

构建内核

如需构建 DragonBoard db845c Android GKI 内核工件,请执行以下操作:

  1. 运行以下命令以克隆内核源代码和预构建的 Android 工具链并构建脚本。

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.db845c ./build/build.sh
    
  2. 删除 ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ 中的所有对象,将 out/android-mainline/dist/ 中的 build 工件复制到 ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/,然后使用以下命令重新构建用户空间:

    make TARGET_KERNEL_USE=mainline -j24
    

    并使用新内核刷写设备(请参阅编译用户空间

  3. 测试 GKI 内核:

    1. 查看最新的 kernel_aarch64 build

    2. artifacts 中,下载 Image.gz 并将其复制到 ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/

    3. 构建新内核并用它刷写设备(请参阅编译用户空间)。

HiKey 960 开发板

HiKey 960 开发板可从亚马逊和 Lenovator 上购买。

HiKey 960 开发板图片

图 2. Lenovator 提供的 HiKey 960 开发板

编译用户空间

您可以使用以下命令在 HiKey 960 开发板上下载 Android 源代码树并进行构建。

  1. 下载 Android 源代码树:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. 构建:

    . ./build/envsetup.sh
    lunch hikey960-userdebug
    make -j24
    

安装初始映像

  1. 打开开关 3,选择 fastboot 模式(有关详情,请参阅 HiKey 960 入门指南)。

  2. 启动开发板。

  3. 刷写初始映像:

    cd device/linaro/hikey/installer/hikey960
    
  4. 关闭开关 3,然后重启开发板。

刷写映像

  1. 打开开关 3,进入 fastboot 模式。

  2. 运行以下命令来刷写映像:

    fastboot flash boot out/target/product/hikey960/boot.img
    
  3. 关闭开关 3,然后重启开发板。

构建内核

  1. 运行以下命令:

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b hikey-linaro-android-4.19
    repo sync -j8 -c
    rm -rf out
    rm build.config
    BUILD_CONFIG=common/build.config.hikey960 ./build/build.sh
    
  2. 更新启动映像中的内核。

    • hi3660-hikey960.dtb (out/android-hikey-linaro-4.19/dist/hi3660-hikey960.dtb) 复制到 hikey-kernel 目录,并将其重命名为 hi3660-hikey960.dtb-4.19 文件。

    • 将映像文件 (out/android-hikey-linaro-4.19/dist/Image.gz-dtb) 复制到 hikey-kernel 目录,并将其重命名为 Image.gz-dtb-hikey960-4.19 文件。

  3. 制作启动映像:

    make bootimage -j24
    

设置序列号

如需设置随机序列号,请运行以下命令:

fastboot getvar nve:SN@16\_DIGIT\_NUMBER

引导加载程序会使用 androidboot.serialno= 将生成的序列号导出到内核。

设置显示器分辨率

修改 device/linaro/hikey/hikey960/BoardConfig.mk 参数 BOARD_KERNEL_CMDLINE 并配置 video 设置。例如,针对 24 英寸显示器的设置为 video=HDMI-A-1:1280x800@60