Verwenden von Referenztafeln

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Sie können Builds für Nexus- und Pixel-Geräte mit AOSP-Builds (Android Open Source Project) und den relevanten hardwarespezifischen Binärdateien erstellen. Informationen zu verfügbaren Android-Builds und Zielgeräten finden Sie unter Quellcode-Tags und Builds .

Sie können auch Builds für DragonBoard 845c , HiKey 960 , Khadas VIM3 und Qualcomm Robotics Board RB5 Android-Referenzplatinen erstellen, die Anbietern nicht mobiler Komponenten bei der Entwicklung und Portierung von Treibern auf Android-Versionen helfen sollen. Die Verwendung eines Referenzboards kann Upgrade-Bemühungen erleichtern, die Markteinführungszeit für neue Android-Geräte verkürzen, die Gerätekosten senken, indem ODM/OEMs die Auswahl aus einer größeren Auswahl an kompatiblen Komponenten ermöglichen, und die Innovationsgeschwindigkeit bei Komponentenlieferanten erhöhen.

Google unterstützt die Android-Referenzboards DragonBoard 845c , HiKey 960 , Khadas VIM3 und Qualcomm Robotics Board RB5 . AOSP bietet Kernelquellen- und Board-Unterstützung für diese Boards, sodass Entwickler periphere Treiber einfach erstellen und debuggen, Kernel entwickeln und andere Aufgaben mit weniger OEM-Belastungen ausführen können.

DragonBoard 845c

Das DragonBoard 845c ist Teil der RB3-Plattform und auf 96boards.org erhältlich.

Dragonboard-Bild

Abbildung 1. DragonBoard 845c

Userspace kompilieren

Verwenden Sie die folgenden Befehle, um Android auf das DragonBoard 845c herunterzuladen und zu erstellen.

  1. Laden Sie den Android-Quellbaum herunter:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Laden Sie das aktuelle Anbieterpaket herunter:

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

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

Lokale Images installieren

  1. Starten Sie db845c im Fastboot-Modus.

  2. Führen Sie folgenden Befehl aus:

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

Bei Bedarf können Sie eine QDL-Board-Wiederherstellung durchführen, indem Sie nach dem Booten von db845c im USB-Flash-Modus das folgende Skript ausführen (siehe DragonBoard-Wiederherstellung ):

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

Aufbau des Kernels

So erstellen Sie die DragonBoard db845c Android Generic Kernel Image (GKI)-Kernel-Artefakte:

  1. Führen Sie die folgenden Befehle aus, um die Kernelquelle und vorgefertigte Android-Toolchains zu klonen und Skripts zu erstellen.

    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. Löschen Sie alle Objekte in ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ und kopieren Sie dann Build-Artefakte von out/android-mainline/dist/ nach ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ dann Userspace neu aufbauen mit:

    make TARGET_KERNEL_USE=mainline -j24
    

    und flashen Sie das Gerät mit den resultierenden boot.img und super.img (siehe Userspace kompilieren ).

  2. Testen Sie den GKI-Kernel:

    1. Sehen Sie sich den neuesten Kernel_aarch64-Build an .

    2. Laden Sie in den Artefakten Image herunter.

    3. Gzip das Bild

      gzip Image
      
    4. Kopieren Sie es nach ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. Erstellen Sie AOSP neu und flashen Sie das Gerät mit dem neuen boot.img (siehe Userspace kompilieren ).

HiKey 960-Boards

Das HiKey 960-Board ist bei Amazon und Lenovator erhältlich .

Bild der HiKey 960-Platine

Abbildung 2. HiKey 960-Platine von Lenovator

Userspace kompilieren

Verwenden Sie die folgenden Befehle, um Android auf das HiKey 960-Board herunterzuladen und zu erstellen.

  1. Laden Sie den Android-Quellbaum herunter

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Laden Sie das aktuelle Anbieterpaket herunter

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

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

Lokale Images installieren

  1. Wählen Sie den Fastboot-Modus, indem Sie Schalter 3 einschalten (Einzelheiten finden Sie im HiKey 960-Handbuch „Erste Schritte“ ).

  2. Schalten Sie das Board ein.

  3. Lokale Flash-Images:

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. Schalter 3 ausschalten und die Platine aus- und wieder einschalten.

Aufbau des Kernels

So erstellen Sie die HiKey960-Android-GKI-Kernel-Artefakte:

  1. Führen Sie die folgenden Befehle aus:

    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. Löschen Sie alle Objekte in ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ und kopieren Sie dann Build-Artefakte aus dem Kernel-Build in out/android12-5.4/dist/ nach ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. Verketten Sie den 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. Erstellen Sie einen Android-Benutzerbereich

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

    und das Gerät mit dem neuen Kernel flashen (siehe Userspace kompilieren )

  5. Testen Sie den GKI-Kernel (Generic Kernel Image).

    • Sehen Sie sich den neuesten Kernel_aarch64-Build an .

    • Laden Sie in den Artefakten die Image herunter und kopieren Sie sie nach ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ .

    • Komprimieren Sie das Bild und verketten Sie den 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
    

Einstellen der Seriennummer

Um die zufällige Seriennummer festzulegen, führen Sie Folgendes aus:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

Bootloader exportiert die generierte Seriennummer mit androidboot.serialno= in den Kernel. Dieser Parameter wird in Android 11 und niedriger über die Kernel-Befehlszeile und in Android 12 mit Kernel-Version 5.10 oder höher über bootconfig übergeben.

Bildschirmauflösung einstellen

Bearbeiten Sie den device/linaro/hikey/hikey960/BoardConfig.mk Parameter BOARD_KERNEL_CMDLINE und konfigurieren Sie die video . Beispielsweise lautet die Einstellung für einen 24-Zoll-Monitor video=HDMI-A-1:1280x800@60 .

VIM3- und VIM3L-Boards

Die Vim3- und VIM3L-Boards von Khadas sind auf der Khadas-Website erhältlich

VIM3-Board-Image

Abbildung 3. VIM3-Board von Khadas

Userspace kompilieren

Verwenden Sie die folgenden Befehle, um Android auf das VIM3-Board herunterzuladen und zu erstellen.

  1. Laden Sie den Android-Quellbaum herunter:

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

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

    Standardmäßig wird Android mit dem 5.10-Kernel erstellt. So verwenden Sie Kernel 5.4 Prebuilds:

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

    Verwenden Sie für VIM3L:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
    

Initialimages installieren

  1. Versetzen Sie das Board in den USB-Upgrade-Modus, indem Sie die Anweisungen zum Flashen von VIM3 befolgen .

  2. Anfangsbilder in RAM flashen:

    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
    
    • Wenn Sie auf Berechtigungsprobleme stoßen, lesen Sie den Abschnitt zu den udev-Regeln , um die entsprechenden USB-Regeln hinzuzufügen.
    • Wenn tools/update nicht funktioniert, verwenden Sie stattdessen das Tool pyamlboot, um das Board zu flashen.
  3. Nachdem U-Boot gestartet und fastboot ausgeführt hat, führen Sie die folgenden Befehle aus:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. Ziehen Sie das Netzkabel ab und stecken Sie es wieder ein.

Das Board sollte in das gerade geflashte U-Boot booten und in den Fastboot-Modus wechseln.

Blinkende Bilder

  1. Wechseln Sie in den Fastboot-Modus (Anweisungen finden Sie im vorherigen Abschnitt).

  2. Alle Android-Images flashen:

    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
    

Aufbau des Kernels

So erstellen Sie die Kernel-Artefakte für VIM3 oder VIM3L:

  1. Laden Sie zusätzliche Toolchains herunter:

    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
    
  2. Klonen Sie die Kernelquelle:

    # 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. Build-Variablen exportieren:

    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. Erstellen Sie den Kernel:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Komprimieren Sie den Kernel und kopieren Sie build_artifacts nach ${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. Erstellen Sie den Android-Benutzerbereich neu (siehe Kompilieren des Benutzerbereichs ) und flashen Sie den neuen Kernel (siehe Flashen von Bildern ).

Qualcomm Robotikplatine RB5

Das Robotics Board RB5 ist auf 96boards.org erhältlich.

rb5_board

Abbildung 4. Robotikplatine RB5

Userspace kompilieren

Verwenden Sie die folgenden Befehle zum Herunterladen und Erstellen von Android auf dem RB5.

  1. Laden Sie den Android-Quellbaum herunter:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Laden Sie das aktuelle Anbieterpaket herunter:

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

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

Lokale Images installieren

  1. Starten Sie RB5 im Fastboot-Modus.

  2. Führen Sie folgenden Befehl aus:

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

Bei Bedarf können Sie eine QDL-Board-Wiederherstellung durchführen, indem Sie das folgende Skript ausführen, nachdem Sie RB5 im USB-Flash-Modus gestartet haben (siehe RB5-Wiederherstellung ):

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

Aufbau des Kernels

So erstellen Sie die RB5 Android Generic Kernel Image (GKI)-Kernel-Artefakte:

  1. Führen Sie die folgenden Befehle aus, um die Kernelquelle und vorgefertigte Android-Toolchains zu klonen und Skripts zu erstellen:

    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. Löschen Sie alle Objekte in ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ und kopieren Sie dann Build-Artefakte von out/android-mainline/dist/ nach ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ , und erstellen Sie dann den Benutzerbereich neu mit:

    make TARGET_KERNEL_USE=mainline -j24
    

    und flashen Sie das Gerät mit den resultierenden boot.img und super.img (siehe Userspace kompilieren ).

  3. Testen Sie den GKI-Kernel:

    1. Sehen Sie sich den neuesten Kernel_aarch64-Build an .
    2. Laden Sie in den Artefakten Image herunter.
    3. Gzip das Bild

      gzip Image
      
    4. Kopieren Sie es nach ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. Erstellen Sie AOSP neu und flashen Sie das Gerät mit dem neuen boot.img (siehe Userspace kompilieren ).