O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Como usar placas de referência

É possível criar builds para dispositivos Nexus e Pixel usando os builds do Android Open Source Project (AOSP) e os binários relevantes específicos de hardware. Para conhecer os builds do Android e os dispositivos de destino disponíveis, consulte Tags e builds de código-fonte.

Você também pode criar builds para as placas de referência DragonBoard 845c, HiKey 960 e Khadas VIM3, que são projetadas para ajudar fornecedores de componentes que não sejam de dispositivos móveis a desenvolver e transportar drivers para versões do Android. O uso de uma placa de referência pode facilitar os esforços de upgrade, reduzir o tempo de lançamento de novos dispositivos Android, diminuir os custos de dispositivos, permitindo que ODMs/OEMs escolham a partir de uma variedade maior de componentes compatíveis, e aumentar a velocidade de inovação entre fornecedores de componentes.

O Google é compatível com as placas de referência DragonBoard 845c, HiKey 960 e Khas VIM3. O AOSP oferece compatibilidade com a placa e a origem do kernel para essas placas para que os desenvolvedores possam criar e depurar com facilidade drivers de periféricos, realizar desenvolvimento de kernel e executar outras tarefas com menos ônus para OEMs.

DragonBoard 845c.

A DragonBoard 845c faz parte da plataforma RB3 e está disponível em 96boards.org (link em inglês).

Imagem da DragonBoard

Figura 1. DragonBoard 845c.

Como compilar o espaço do usuário

Use os comandos a seguir para fazer o download e criar o build do Android na DragonBoard 845c.

  1. Faça o download da árvore de origem do Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Crie o build:

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

Como instalar imagens locais

  1. Inicialize db845c no modo fastboot. Consulte Recuperação da DragonBoard (link em inglês).

  2. Execute o seguinte comando:

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

Como alternativa, você pode executar a recuperação da placa QDL executando o seguinte script após a inicialização de db845c no modo de atualização USB:

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

Como atualizar imagens em ci.android.com

Você pode usar flash.android.com para testar com facilidade os artefatos mais recentes do build AOSP de ci.android.com (links em inglês). Você não precisa criar um build, mas precisa ter uma DragonBoard 845c já atualizada com o carregador de inicialização mais recente no AOSP antes de começar.

  1. Em um navegador da Web, acesse flash.android.com (link em inglês).

  2. Clique em Get Started e, como seu dispositivo já está no modo de desenvolvedor, pule a etapa 1.

  3. Em available, localize DragonBoard 845c (db845c). Se você não vir essa opção, clique em + Add new device e selecione Android gadget ou Android device na lista.

  4. Selecione DragonBoard 845c (db845c).

  5. Clique em Select a build ID e escolha o build mais recente.

  6. Clique em Install.

  7. Siga as instruções restantes e aguarde até que a placa seja atualizada.

Parabéns. A DragonBoard 845c está executando a versão mais recente do AOSP!

Como criar o kernel

Para criar os artefatos do kernel de Generic Kernel Image (GKI) do Android para a DragonBoard db845c:

  1. Execute os comandos a seguir para clonar a origem do kernel e os conjuntos de ferramentas do Android pré-criados e criar scripts.

    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. Exclua todos os objetos em ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/, copie os artefatos de build de out/android-mainline/dist/ para ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ e recrie o espaço do usuário com:

    make TARGET_KERNEL_USE=mainline -j24
    

    Depois, atualize o dispositivo com o novo kernel. Consulte Como compilar o espaço do usuário.

  3. Teste o kernel de GKI:

    1. Veja o build kernel_aarch64 mais recente.

    2. Em artifacts, faça o download do item Image.gz e o copie para ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/.

    3. Crie e atualize o dispositivo com o novo kernel. Consulte Como compilar o espaço do usuário.

Placas HiKey 960

A placa HiKey 960 está disponível na Amazon e na Lenovator (link em inglês).

Imagem da placa HiKey 960

Figura 2. Placa HiKey 960 da Lenovator.

Como compilar o espaço do usuário

Use os seguintes comandos para fazer o download e criar o build do Android na placa HiKey 960.

  1. Faça o download da árvore de origem do Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Crie o build:

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

Como instalar imagens iniciais

  1. Selecione o modo fastboot ativando o interruptor 3. Para saber mais detalhes, consulte o Guia de primeiros passos da HiKey 960 (link em inglês).

  2. Ligue a placa.

  3. Realize atualização flash das imagens iniciais:

    cd device/linaro/hikey/installer/hikey960
    
  4. Desligue o interruptor 3 e reinicie a placa.

Realizar atualização flash das imagens

  1. Entre no modo fastboot ligando o interruptor 3.

  2. Realize a atualização flash das imagens executando os seguintes comandos:

    fastboot flash boot out/target/product/hikey960/boot.img
    
  3. Desligue o interruptor 3 e reinicie a placa.

Como criar o kernel

Para criar os artefatos do kernel de GKI do Android para a HiKey960:

  1. Execute os seguintes comandos:

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android12-5.4
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.hikey960 build/build.sh
    
  2. Exclua todos os objetos em ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ e copie os artefatos de compilação do build do kernel em out/android12-5.4/dist/ para ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. Concatene o DTB:

    cat device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  >
    device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    
  4. Crie um espaço de usuário do Android

    lunch hikey960-userdebug
    make TARGET_KERNEL_USE=5.4 HIKEY_USES_GKI=true -j24
    

    Depois, atualize o dispositivo com o novo kernel. Consulte Como compilar o espaço do usuário.

  5. Testar o kernel de Generic Kernel Image (GKI)

    • Veja o build kernel_aarch64 mais recente.

    • Em artifacts, faça o download do arquivo Image e o copie para ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/.

    • Compacte a imagem e concatene o DTB.

    gzip ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image
    cat ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  >
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    

Como definir o número de série

Para definir um número de série aleatório, execute:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

O carregador de inicialização exporta o número de série gerado para o kernel usando androidboot.serialno=.

Como definir a resolução do monitor

Edite o parâmetro device/linaro/hikey/hikey960/BoardConfig.mk de BOARD_KERNEL_CMDLINE e defina a configuração de video. Por exemplo, a configuração de um monitor de 24 polegadas é video=HDMI-A-1:1280x800@60.

Placas VIM3 e VIM3L

As placas Vim3 e VIM3L da Khadas estão disponíveis no site da Khadas.

Imagem da placa VIM3

Figura 3. Placa VIM3 da Khadas

Como compilar o espaço do usuário

Use os comandos a seguir para fazer o download e criar o Android na placa VIM3.

  1. Faça o download da árvore de origem do Android:

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

    . ./build/envsetup.sh
    lunch yukawa-userdebug
    make TARGET_VIM3=true -j24
    

    Para VIM3L, use:

    make TARGET_VIM3L=true -j24
    

Como instalar imagens iniciais

  1. Coloque a placa no modo de upgrade USB seguindo as instruções de atualização do VIM3.

  2. Imagens iniciais em flash para RAM:

    cd path/to/aosp/device/amlogic/yukawa/bootloader/
    ./tools/update write u-boot_kvim3_noab.bin 0xfffa0000 0x10000
    ./tools/update run 0xfffa0000
    ./tools/update bl2_boot u-boot_kvim3_noab.bin
    
  3. Depois de inicializar o U-Boot e executar o fastboot, execute os seguintes comandos:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. Desconecte e conecte o cabo de alimentação.

A placa precisa inicializar no U-boot recém-atualizado e entrar no modo fastboot.

Realizar atualização flash das imagens

  1. Entre no modo fastboot. Consulte a seção anterior para ver as instruções.

  2. Atualizar todas as imagens do Android:

    cd out/target/product/yukawa
    fastboot flash boot boot.img
    fastboot flash super super.img
    fastboot flash cache cache.img
    fastboot flash userdata userdata.img
    fastboot flash recovery recovery.img
    fastboot flash dtbo dtbo-unsigned.img
    fastboot reboot
    

Como criar o kernel

Para criar os artefatos do kernel para VIM3 ou VIM3L:

  1. Faça o download de outros conjuntos de ferramentas:

    cd ${AOSP_TOPDIR}
    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 prebuilts/gas/linux-x86
    
  2. Clone a origem do kernel:

    # for 4.19
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-4.19
    # for 5.4
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.4
    
  3. Exporte variantes de build:

    export PATH=${AOSP_TOPDIR}/prebuilts/clang/host/linux-x86/clang-r399163b/bin:$PATH
    export PATH=${AOSP_TOPDIR}/prebuilts/gas/linux-x86:$PATH
    export PATH=${AOSP_TOPDIR}/prebuilts/misc/linux-x86/lz4:$PATH
    export ARCH=arm64
    export CROSS_COMPILE=aarch64-linux-gnu-
    export LLVM=1
    
  4. Crie o kernel:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Compacte o kernel e copie build_artifacts para ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel:

    lz4c -f arch/arm64/boot/Image arch/arm64/boot/Image.lz4
    KERN_VER=4.19 # for 4.19 kernel
    KERN_VER=5.4  # for 5.4 kernel
    for f in arch/arm64/boot/dts/amlogic/*{g12b-a311d,sm1}-khadas-vim3*.dtb; do
        cp -v -p $f ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/$(basename $f)-${KERN_VER}
    done
    cp -v -p arch/arm64/boot/Image.lz4 ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/Image.lz4-${KERN_VER}
    
  6. Recrie o espaço do usuário do Android, (consulte Como compilar o espaço do usuário) e atualize o novo kernel (consulte Como atualizar imagens).