Verwenden von Referenztafeln

Sie können Builds für Nexus- und Pixel-Geräte mit Android Open Source Project (AOSP)-Builds und den entsprechenden hardwarespezifischen Binärdateien erstellen. Für verfügbare Android und gezielt Geräte bauen, siehe Quellcode - Tags und baut .

Sie können auch baut für erstellen Dragon 845c , HiKey 960 und Khadas VIM3 Android Referenz - Boards, die zu Hilfe entworfen werden nonmobile Komponentenlieferanten entwickeln und Port - Treiber für Android Versionen. Die Verwendung eines Referenzboards kann Upgrade-Bemühungen vereinfachen, die Markteinführungszeit für neue Android-Geräte verkürzen, die Gerätekosten senken, indem ODM/OEMs die Auswahl aus einer breiteren Palette kompatibler Komponenten ermöglicht, und die Innovationsgeschwindigkeit unter den Komponentenlieferanten erhöhen.

Google unterstützt Dragon 845c , HiKey 960 und Khadas VIM3 Android Referenz - Boards. AOSP bietet Kernel-Quell- und Board-Unterstützung für diese Boards, sodass Entwickler Peripherietreiber einfach erstellen und debuggen, Kernel-Entwicklung durchführen und andere Aufgaben mit weniger OEM-Belastung ausführen können.

DragonBoard 845c

Der Dragon 845c ist Teil der RB3 - Plattform und ist erhältlich bei 96boards.org .

Dragonboard-Bild

Abbildung 1. Dragon 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. Bauen:

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

Lokale Images installieren

  1. Boot db845c in Fast Boot - Modus (siehe Dragon Erholung ).

  2. Führen Sie folgenden Befehl aus:

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

Alternativ können Sie eine QDL-Board-Wiederherstellung durchführen, indem Sie das folgende Skript ausführen, nachdem Sie db845c im USB-Flash-Modus gebootet haben:

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

Blinkende Bilder von ci.android.com

Sie können mit flash.android.com auf einfache Weise die neuesten AOSP Build Artefakte aus testen ci.android.com . Sie müssen nicht bauen, aber Sie müssen ein DragonBoard 845c bereits mit dem neuesten Bootloader in AOSP geflasht haben, bevor Sie beginnen.

  1. In einem Web - Browser, gehen Sie zu flash.android.com .

  2. Klicken Sie auf Get Started dann Schritt überspringen 1 (wie Ihr Gerät bereits im Entwicklermodus ist).

  3. In verfügbar, sucht Dragon 845c (db845c). Wenn Sie es nicht sehen, klicken Sie auf + Neues Gerät hinzufügen wählen Sie dann entweder Android - Gadget oder Android - Gerät aus der Liste.

  4. Wählen Sie Dragon 845c (db845c).

  5. Klicken Sie auf Wählen Sie eine Build - ID und wählen Sie die neueste Build.

  6. Klicken Sie auf Installieren.

  7. Folgen Sie den restlichen Anweisungen und warten Sie, während das Board geflasht wird.

Herzlichen Glückwunsch, auf Ihrem DragonBoard 845c läuft jetzt die neueste AOSP-Version!

Den Kernel bauen

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 Skripte 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/ kopieren Build Artefakte aus out/android-mainline/dist/ zu ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ dann wieder aufzubauen User - Space mit:

    make TARGET_KERNEL_USE=mainline -j24
    

    und blinkt das Gerät mit dem neuen Kernel (siehe compilieren User - Space )

  3. Testen Sie den GKI-Kernel:

    1. Sehen Sie sich die neueste kernel_aarch64 bauen .

    2. In Artefakte, herunterladen Image.gz und kopieren Sie sie auf ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    3. Bauen und blinkt das Gerät mit dem neuen Kernel (siehe compilieren User - Space ).

HiKey 960-Platinen

Der HiKey 960 Board ist von Amazon und verfügbar Lenovator .

HiKey 960-Board-Image

Abbildung 2. HiKey 960 Board 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. Bauen:

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

Installieren der ersten Images

  1. Wählen Sie Fast Boot - Modus von ON - Schalter drehen 3 (Einzelheiten finden Sie in der HiKey 960 Getting Started Guide ).

  2. Schalten Sie die Platine ein.

  3. Flash-Startbilder:

    cd device/linaro/hikey/installer/hikey960
    
  4. Schalten Sie den AUS-Schalter 3 aus und schalten Sie die Platine aus und wieder ein.

Blinkende Bilder

  1. Wechseln Sie in den Fastboot-Modus, indem Sie den ON-Schalter 3 einschalten.

  2. Flashen Sie Bilder, indem Sie die folgenden Befehle ausführen:

    fastboot flash boot out/target/product/hikey960/boot.img
    
  3. Schalten Sie den AUS-Schalter 3 aus und schalten Sie die Platine aus und wieder ein.

Den Kernel bauen

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/ kopieren Build Artefakte aus dem Kernel - Build - in out/android12-5.4/dist/ zu ${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 blinkt das Gerät mit dem neuen Kernel (siehe compilieren User - Space )

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

    • Sehen Sie sich die neueste kernel_aarch64 bauen .

    • In Artefakte, download Image - Datei und kopieren Sie sie auf ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ .

    • Komprimieren Sie das Bild und verketten Sie die 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 generierten Seriennummer an den Kernel mit androidboot.serialno= . Dieser Parameter wird über die Kernel-Befehlszeile in Android 11 und niedriger und über bootconfig in Android 12 mit Kernel-Version 5.10 oder höher übergeben.

Monitorauflösung einstellen

Bearbeiten Sie das device/linaro/hikey/hikey960/BoardConfig.mk Parameter BOARD_KERNEL_CMDLINE und die Konfiguration video - Einstellung. Zum Beispiel ist die Einstellung für einen 24-Zoll - Monitor video=HDMI-A-1:1280x800@60 .

VIM3- und VIM3L-Karten

Die VIM3 und VIM3L Bretter von Khadas sind erhältlich Khadas Website

VIM3-Board-Image

Abbildung 3. VIM3 Platte durch 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
    

    Android wird standardmäßig mit dem 4.19-Kernel erstellt. So verwenden Sie vorgefertigte Kernel 5.4:

    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
    

Installieren der ersten Images

  1. Setzen Sie das Board auf USB - Upgrade - Modus folgende VIM3 blinkt Anweisungen .

  2. Initial-Images ins 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 die Berechtigung Probleme auftreten, finden Sie in der udev - Regeln Abschnitt die entsprechenden USB - Regeln hinzuzufügen.
    • Wenn tools/update nicht funktioniert, verwenden Sie das pyamlboot Werkzeug das Brett statt zu blinken.
  3. Führen Sie nach dem Booten von U-Boot und Ausführen von Fastboot 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 ein.

Das Board sollte in den gerade geflashten 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-Bilder 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
    

Den Kernel bauen

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

  1. Laden Sie zusätzliche Toolchains herunter:

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

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

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

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Komprimieren Sie den Kernel und kopieren build_artifacts auf ${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/${KERN_VER}/$(basename $f)
    done
    cp -v -p arch/arm64/boot/Image.lz4 ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/${KERN_VER}/Image.lz4
    
  6. Rebuild Android User - Space (siehe User - Space Kompilieren ) und blinkt , um den neuen Kernel (siehe Blinkende Bilder ).