Utilizzo di schede di riferimento

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Puoi creare build per dispositivi Nexus e Pixel utilizzando le build di Android Open Source Project (AOSP) e i relativi file binari specifici dell'hardware. Per le build Android disponibili e i dispositivi di destinazione, vedi Tag e build del codice sorgente .

Puoi anche creare build per le schede di riferimento Android DragonBoard 845c , HiKey 960 , Khadas VIM3 e Qualcomm Robotics Board RB5 , progettate per aiutare i fornitori di componenti non mobili a sviluppare e portare i driver alle versioni Android. L'utilizzo di una scheda di riferimento può facilitare gli sforzi di aggiornamento, ridurre il time-to-market per i nuovi dispositivi Android, ridurre i costi dei dispositivi consentendo agli ODM/OEM di scegliere tra una gamma più ampia di componenti compatibili e aumentare la velocità dell'innovazione tra i fornitori di componenti.

Google supporta le schede di riferimento Android DragonBoard 845c , HiKey 960 , Khadas VIM3 e Qualcomm Robotics Board RB5 . AOSP fornisce il supporto del kernel e della scheda per queste schede, in modo che gli sviluppatori possano facilmente creare ed eseguire il debug dei driver periferici, eseguire lo sviluppo del kernel ed eseguire altre attività con meno ingombri OEM.

DragonBoard 845c

DragonBoard 845c fa parte della piattaforma RB3 ed è disponibile su 96boards.org .

Immagine Dragonboard

Figura 1. DragonBoard 845c

Compilazione dello spazio utente

Usa i seguenti comandi per scaricare e creare Android su DragonBoard 845c.

  1. Scarica l'albero dei sorgenti di Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Scarica il pacchetto del fornitore corrente:

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

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

Installazione di immagini locali

  1. Avvia db845c in modalità fastboot.

  2. Esegui il seguente comando:

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

Se necessario, è possibile eseguire il ripristino della scheda QDL eseguendo il seguente script dopo l'avvio di db845c in modalità flashing USB (vedere DragonBoard Recovery ):

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

Costruire il kernel

Per creare gli artefatti del kernel DragonBoard db845c Android Generic Kernel Image (GKI):

  1. Esegui i seguenti comandi per clonare il sorgente del kernel e le toolchain Android predefinite e creare script.

    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. Elimina tutti gli oggetti in ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ quindi copia gli artefatti di build da out/android-mainline/dist/ in ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ quindi ricostruisci lo spazio utente con:

    make TARGET_KERNEL_USE=mainline -j24
    

    e flashare il dispositivo con boot.img e super.img risultanti (vedere Compilazione dello spazio utente ).

  2. Prova il kernel GKI:

    1. Visualizza l' ultima build kernel_aarch64 .

    2. In artefatti , scarica Image.

    3. Gzip l'immagine

      gzip Image
      
    4. Copialo in ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. Ricostruisci AOSP e flasha il dispositivo con il nuovo boot.img (vedi Compilazione dello spazio utente ).

Schede HiKey 960

La scheda HiKey 960 è disponibile su Amazon e Lenovator .

Immagine della scheda HiKey 960

Figura 2. Scheda HiKey 960 di Lenovator

Compilazione dello spazio utente

Utilizzare i seguenti comandi per scaricare e creare Android sulla scheda HiKey 960.

  1. Scarica l'albero dei sorgenti di Android

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Scarica il pacchetto del fornitore corrente

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

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

Installazione di immagini locali

  1. Selezionare la modalità fastboot portando l'interruttore 3 su ON (per i dettagli, fare riferimento alla guida introduttiva di HiKey 960 ).

  2. Alimenta la scheda.

  3. Flash immagini locali:

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. Spegnere l'interruttore 3 e spegnere e riaccendere la scheda.

Costruire il kernel

Per creare gli artefatti del kernel HiKey960 Android GKI:

  1. Esegui i seguenti comandi:

    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. Elimina tutti gli oggetti in ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ quindi copia gli artefatti di build dal kernel build in out/android12-5.4/dist/ in ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. Concatena il 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. Costruisci lo spazio utente Android

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

    e flashare il dispositivo con il nuovo kernel (vedi Compilazione userspace )

  5. Testare il kernel Generic Kernel Image (GKI).

    • Visualizza l' ultima build kernel_aarch64 .

    • In artefatti , scarica il file Image e copialo in ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ .

    • Comprimere l'immagine e concatenare il 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
    

Impostazione del numero di serie

Per impostare il numero di serie casuale, eseguire:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

Bootloader esporta il numero di serie generato nel kernel utilizzando androidboot.serialno= . Questo parametro viene passato tramite la riga di comando del kernel in Android 11 e versioni precedenti e tramite bootconfig in Android 12 con la versione del kernel 5.10 o successiva.

Impostazione della risoluzione del monitor

Modificare il parametro BOARD_KERNEL_CMDLINE del device/linaro/hikey/hikey960/BoardConfig.mk BOARD_KERNEL_CMDLINE configurare le impostazioni video . Ad esempio, l'impostazione per un monitor da 24 pollici è video=HDMI-A-1:1280x800@60 .

Schede VIM3 e VIM3L

Le schede Vim3 e VIM3L di Khadas sono disponibili sul sito web di Khadas

Immagine della scheda VIM3

Figura 3. Scheda VIM3 di Khadas

Compilazione dello spazio utente

Usa i seguenti comandi per scaricare e creare Android sulla scheda VIM3.

  1. Scarica l'albero dei sorgenti di Android:

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

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

    Per impostazione predefinita, Android è costruito con il kernel 5.10. Per utilizzare i precompilati del kernel 5.4:

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

    Per VIM3L, usa:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
    

Installazione delle immagini iniziali

  1. Mettere la scheda in modalità di aggiornamento USB seguendo le istruzioni lampeggianti di VIM3 .

  2. Flash immagini iniziali su 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. Dopo l'avvio di U-Boot e l'esecuzione di fastboot, esegui i seguenti comandi:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. Scollegare e collegare il cavo di alimentazione.

La scheda dovrebbe avviarsi nell'U-boot appena lampeggiato ed entrare in modalità fastboot.

Immagini lampeggianti

  1. Accedere alla modalità fastboot (vedere la sezione precedente per le istruzioni).

  2. Flash tutte le immagini 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
    

Costruire il kernel

Per creare gli artefatti del kernel per VIM3 o VIM3L:

  1. Scarica ulteriori toolchain:

    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
    
  2. Clona il sorgente del 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
    # 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. Esporta variabili di build:

    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. Costruisci il kernel:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Comprimi il kernel e copia build_artifacts in ${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. Ricompila lo spazio utente Android (vedi Compiling userspace ) e installa il nuovo kernel (vedi Immagini lampeggianti ).

Scheda robotica Qualcomm RB5

La Robotics Board RB5 è disponibile su 96boards.org .

rb5_board

Figura 4. Scheda robotica RB5

Compilazione dello spazio utente

Usa i seguenti comandi per scaricare e creare Android su RB5.

  1. Scarica l'albero dei sorgenti di Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Scarica il pacchetto del fornitore corrente:

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

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

Installazione di immagini locali

  1. Avvia RB5 in modalità fastboot.

  2. Esegui il seguente comando:

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

Se necessario, è possibile eseguire il ripristino della scheda QDL eseguendo il seguente script dopo aver avviato RB5 in modalità flashing USB (vedere Ripristino RB5 ):

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

Costruire il kernel

Per creare gli artefatti del kernel RB5 Android Generic Kernel Image (GKI):

  1. Esegui i seguenti comandi per clonare il sorgente del kernel e le toolchain Android predefinite e creare script:

    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. Elimina tutti gli oggetti in ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ , quindi copia gli artefatti di build da out/android-mainline/dist/ in ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ , quindi ricostruisci lo spazio utente con:

    make TARGET_KERNEL_USE=mainline -j24
    

    e flashare il dispositivo con boot.img e super.img risultanti (vedere Compilazione dello spazio utente ).

  3. Prova il kernel GKI:

    1. Visualizza l' ultima build kernel_aarch64 .
    2. In artefatti , scarica Image.
    3. Gzip l'immagine

      gzip Image
      
    4. Copialo in ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. Ricostruisci AOSP e flasha il dispositivo con il nuovo boot.img (vedi Compilazione dello spazio utente ).