Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Uso de tableros de referencia

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Puede crear compilaciones para dispositivos Nexus y Pixel utilizando las compilaciones del Proyecto de código abierto de Android (AOSP) y los archivos binarios específicos de hardware relevantes. Para compilaciones de Android disponibles y dispositivos de destino, consulte Etiquetas de código fuente y compilaciones .

También puede crear compilaciones para las placas de referencia de Android DragonBoard 845c , HiKey 960 , Khadas VIM3 y Qualcomm Robotics Board RB5 , que están diseñadas para ayudar a los proveedores de componentes no móviles a desarrollar y migrar controladores a versiones de Android. El uso de una placa de referencia puede facilitar los esfuerzos de actualización, reducir el tiempo de comercialización de nuevos dispositivos Android, reducir los costos de los dispositivos al permitir que los ODM/OEM elijan entre una gama más amplia de componentes compatibles y aumentar la velocidad de la innovación entre los proveedores de componentes.

Google es compatible con las placas de referencia de Android DragonBoard 845c , HiKey 960 , Khadas VIM3 y Qualcomm Robotics Board RB5 . AOSP proporciona compatibilidad con la fuente y la placa del kernel para estas placas, de modo que los desarrolladores puedan crear y depurar fácilmente controladores periféricos, desarrollar el kernel y realizar otras tareas con menos obstáculos de OEM.

DragonBoard 845c

El DragonBoard 845c es parte de la plataforma RB3 y está disponible en 96boards.org .

Imagen de la tabla de dragones

Figura 1. DragonBoard 845c

Compilando espacio de usuario

Utilice los siguientes comandos para descargar y compilar Android en DragonBoard 845c.

  1. Descarga el árbol de fuentes de Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Descargue el paquete de proveedor actual:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. Construir AOSP:

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

Instalación de imágenes locales

  1. Inicie db845c en modo fastboot.

  2. Ejecute el siguiente comando:

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

Si es necesario, puede realizar la recuperación de la placa QDL ejecutando el siguiente script después de iniciar db845c en modo flash USB (consulte Recuperación de DragonBoard ):

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

Construyendo el núcleo

Para compilar los artefactos del kernel DragonBoard db845c Android Generic Kernel Image (GKI):

  1. Ejecute los siguientes comandos para clonar la fuente del kernel y las cadenas de herramientas de Android precompiladas y los scripts de compilación.

    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
    tools/bazel run //common:db845c_dist -- --dist_dir=$DIST_DIR
    
  1. Elimine todos los objetos en ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ luego copie los artefactos de compilación desde out/android-mainline/dist/ a ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ luego reconstruir el espacio de usuario con:

    make TARGET_KERNEL_USE=mainline -j24
    

    y actualice el dispositivo con boot.img y super.img resultantes (consulte Compilación del espacio de usuario).

  2. Pruebe el núcleo GKI:

    1. Vea la última versión de kernel_aarch64 .

    2. En artefactos , descargue Imagen.

    3. Gzip la imagen

      gzip Image
      
    4. Cópielo en ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. Reconstruya AOSP y actualice el dispositivo con el nuevo boot.img (consulte Compilación del espacio de usuario).

Placas HiKey 960

La placa HiKey 960 está disponible en Amazon y Lenovator .

Imagen de la placa HiKey 960

Figura 2. Placa HiKey 960 de Lenovator

Compilando espacio de usuario

Utilice los siguientes comandos para descargar y compilar Android en la placa HiKey 960.

  1. Descargar el árbol de fuentes de Android

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Descargar el paquete de proveedor actual

    ./device/linaro/hikey/fetch-vendor-package.sh
    
  3. Construir

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

Instalación de imágenes locales

  1. Seleccione el modo fastboot encendiendo el interruptor 3 (para obtener más información, consulte la guía de introducción de HiKey 960 ).

  2. Alimenta la placa.

  3. Flashear imágenes locales:

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. Apague el interruptor 3 y apague y encienda la placa.

Construyendo el núcleo

Para construir los artefactos del núcleo GKI de Android HiKey960:

  1. Ejecute los siguientes 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. Elimine todos los objetos en ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ luego copie los artefactos de compilación desde el kernel build in out/android12-5.4/dist/ a ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. Concatenar el 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. Crear espacio de usuario de Android

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

    y actualice el dispositivo con el nuevo kernel (consulte Compilación del espacio de usuario)

  5. Probar el kernel de la imagen genérica del kernel (GKI)

    • Vea la última versión de kernel_aarch64 .

    • En artefactos , descargue el Image de imagen y cópielo en ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ .

    • Comprimir la imagen y concatenar el 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
    
    • Compile y actualice el dispositivo con el nuevo kernel (consulte Compilación del espacio de usuario).

Configuración del número de serie

Para establecer el número de serie aleatorio, ejecute:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

Bootloader exporta el número de serie generado al kernel mediante androidboot.serialno= . Este parámetro se pasa a través de la línea de comandos del kernel en Android 11 y versiones anteriores, y a través de bootconfig en Android 12 con la versión de kernel 5.10 o superior.

Configuración de la resolución del monitor

Edite el parámetro BOARD_KERNEL_CMDLINE de device/linaro/hikey/hikey960/BoardConfig.mk BOARD_KERNEL_CMDLINE configure los ajustes de video . Por ejemplo, la configuración para un monitor de 24 pulgadas es video=HDMI-A-1:1280x800@60 .

Tarjetas VIM3 y VIM3L

Las placas Vim3 y VIM3L de Khadas están disponibles en el sitio web de Khadas

Imagen de la placa VIM3

Figura 3. Tablero VIM3 de Khadas

Compilando espacio de usuario

Utilice los siguientes comandos para descargar y compilar Android en la placa VIM3.

  1. Descarga el árbol de fuentes de Android:

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

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

    De forma predeterminada, Android está construido con el kernel 5.10. Para usar kernel 5.4 precompilados:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true TARGET_KERNEL_USE=5.4 -j24
    

    Para VIM3L, utilice:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
    

Instalación de imágenes iniciales

  1. Ponga la placa en modo de actualización USB siguiendo las instrucciones de actualización de VIM3 .

  2. Flashear imágenes iniciales a 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. Después de que U-Boot arranque y ejecute fastboot, ejecute los siguientes comandos:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. Desconecte y enchufe el cable de alimentación.

La placa debe iniciarse en el U-boot recién flasheado y entrar en el modo fastboot.

Imágenes intermitentes

  1. Ingrese al modo fastboot (consulte la sección anterior para obtener instrucciones).

  2. Flashea todas las imágenes de 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
    

Construyendo el núcleo

Para construir los artefactos del kernel para VIM3 o VIM3L:

  1. Descargar cadenas de herramientas adicionales:

    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
    
  2. Clonar la fuente del núcleo:

    # 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
    # for 5.10
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.10
    # for 5.15
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.15
    
  3. Exportar variables de compilación:

    export PATH=${AOSP_TOPDIR}/prebuilts/clang/host/linux-x86/clang-r445002/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. Construya el núcleo:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Comprima el kernel y copie build_artifacts en ${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
    KERN_VER=5.10 # for 5.10 kernel
    KERN_VER=5.15 # for 5.15 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/${KERN_VER}/$(basename $f)
    done
    cp -v -p arch/arm64/boot/Image.lz4 ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/${KERN_VER}/Image.lz4
    
  6. Reconstruya el espacio de usuario de Android (consulte Compilación del espacio de usuario) y actualice el nuevo kernel (consulte Imágenes intermitentes ).

Placa robótica Qualcomm RB5

El Robotics Board RB5 está disponible en 96boards.org .

rb5_board

Figura 4. Placa de robótica RB5

Compilando espacio de usuario

Utilice los siguientes comandos para descargar y compilar Android en el RB5.

  1. Descarga el árbol de fuentes de Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Descargue el paquete de proveedor actual:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. Construir AOSP:

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

Instalación de imágenes locales

  1. Inicie RB5 en modo fastboot.

  2. Ejecute el siguiente comando:

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

Si es necesario, puede realizar la recuperación de la placa QDL ejecutando el siguiente script después de iniciar RB5 en modo flash USB (consulte Recuperación de RB5 ):

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

Construyendo el núcleo

Para compilar los artefactos del kernel de la imagen genérica del kernel (GKI) de Android RB5:

  1. Ejecute los siguientes comandos para clonar la fuente del kernel y las cadenas de herramientas de Android precompiladas y los scripts de compilación:

    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. Elimine todos los objetos en ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ , luego copie los artefactos de compilación desde out/android-mainline/dist/ a ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ , y luego reconstruir el espacio de usuario con:

    make TARGET_KERNEL_USE=mainline -j24
    

    y actualice el dispositivo con boot.img y super.img resultantes (consulte Compilación del espacio de usuario).

  3. Pruebe el núcleo GKI:

    1. Vea la última versión de kernel_aarch64 .
    2. En artefactos , descargue Imagen.
    3. Gzip la imagen

      gzip Image
      
    4. Cópielo en ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. Reconstruya AOSP y actualice el dispositivo con el nuevo boot.img (consulte Compilación del espacio de usuario).