Referans Panolarını Kullanma

Android Açık Kaynak Projesi (AOSP) yapılarını ve ilgili donanıma özel ikili dosyaları kullanarak Nexus ve Pixel cihazları için yapılar oluşturabilirsiniz. Mevcut Android oluşturur ve hedeflenen cihazlar için bkz Kaynak kod etiketleri ve inşa eder .

Ayrıca için inşa oluşturabilir DragonBoard 845C , HiKey 960 ve Khadas VIM3 bileşeni satıcıları geliştirmek ve Android sürümleri için liman sürücüleri nonmobile yardım için tasarlanmıştır Android referans panoları,. Bir referans panosu kullanmak, yükseltme çabalarını kolaylaştırabilir, yeni Android cihazlar için pazara sunma süresini kısaltabilir, ODM/OEM'lerin daha geniş bir uyumlu bileşen yelpazesinden seçim yapmasını sağlayarak cihaz maliyetlerini azaltabilir ve bileşen tedarikçileri arasında inovasyon hızını artırabilir.

Google'ın desteklediği DragonBoard 845C , HiKey 960 ve Khadas VIM3 Android referans panoları. AOSP, bu kartlar için çekirdek kaynağı ve kart desteği sağlar; böylece geliştiriciler, çevre birimleri sürücülerini kolayca oluşturabilir ve hatalarını ayıklayabilir, çekirdek geliştirme yapabilir ve daha az OEM yüküyle diğer görevleri gerçekleştirebilir.

DragonBoard 845c

DragonBoard 845c RB3 platformunun bir parçasıdır ve edinilebilir 96boards.org .

Dragonboard resmi

Şekil 1. DragonBoard 845c

Kullanıcı alanı derleme

DragonBoard 845c'de Android indirmek ve oluşturmak için aşağıdaki komutları kullanın.

  1. Android kaynak ağacını indirin:

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

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

Yerel görüntüleri yükleme

  1. Fastboot moduna önyükleme db845c (bkz DragonBoard Kurtarma ).

  2. Aşağıdaki komutu çalıştırın:

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

Alternatif olarak, db845c'yi USB yanıp sönme modunda başlattıktan sonra aşağıdaki komut dosyasını çalıştırarak QDL kart kurtarma işlemini gerçekleştirebilirsiniz:

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

ci.android.com'dan yanıp sönen görüntüler

Sen kullanabilirsiniz flash.android.com kolayca son AOSP inşa eserler test etmek ci.android.com . İnşa etmenize gerek yok, ancak başlamadan önce AOSP'deki en son önyükleyici ile bir DragonBoard 845c'nin zaten flaşlanmış olması gerekiyor.

  1. Bir web tarayıcısında, gidin flash.android.com .

  2. Tıklayın (cihazınız geliştirici modunda zaten olduğu gibi) 1. adımı atlayın sonra Başlayın.

  3. Mevcut olarak, DragonBoard 845C (db845c) bulun. Bunu görmezseniz, ardından listeden ya Android aygıtı veya Android cihazı seçin tıkla + Yeni cihaz ekle.

  4. Select DragonBoard 845c (db845c).

  5. Bir yapı numarası seçin tıklayın ve en son yapı seçin.

  6. Yükle seçeneğini tıklayın.

  7. Kalan talimatları izleyin ve kart yanıp sönerken bekleyin.

Tebrikler, DragonBoard 845c'niz artık en son AOSP yapısını çalıştırıyor!

Çekirdeği inşa etmek

DragonBoard db845c Android Genel Çekirdek Görüntüsü (GKI) çekirdek yapılarını oluşturmak için:

  1. Çekirdek kaynağını ve önceden oluşturulmuş Android araç zincirlerini klonlamak ve komut dosyaları oluşturmak için aşağıdaki komutları çalıştırı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. Tüm nesneleri sil ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ o andan itibaren inşa eserler kopya out/android-mainline/dist/ için ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ Daha sonra kullanıcı alanı ile yeniden:

    make TARGET_KERNEL_USE=mainline -j24
    

    ve yeni çekirdek cihazı flaş (bkz Derleme kullanıcı alanı )

  3. GKI çekirdeğini test edin:

    1. Görüntüle son kernel_aarch64 yapı .

    2. Eserler, indirme olarak Image.gz ve kopyalamak ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    3. Yapı ve yeni çekirdek ile cihazı flaş (bkz Derleme userspace ).

HiKey 960 anakartlar

HiKey 960 tahta Amazon ve edinilebilir Lenovator .

HiKey 960 anakart görüntüsü

Şekil 2. HiKey Lenovator 960 kurulu

Kullanıcı alanı derleme

HiKey 960 kartında Android indirmek ve oluşturmak için aşağıdaki komutları kullanın.

  1. Android kaynak ağacını indirin:

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

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

İlk görüntüleri yükleme

  1. Anahtarın 3 AÇIK yaparak seç fastboot modu (detaylar için, bakınız HiKey 960 Başlangıç kılavuzu ).

  2. Tahtaya güç verin.

  3. Flash başlangıç ​​görüntüleri:

    cd device/linaro/hikey/installer/hikey960
    
  4. KAPALI anahtarı 3 çevirin ve kartı kapatıp açın.

Yanıp sönen görüntüler

  1. Anahtarı 3 AÇIK konuma getirerek hızlı başlatma moduna girin.

  2. Aşağıdaki komutları çalıştırarak Flash görüntüleri:

    fastboot flash boot out/target/product/hikey960/boot.img
    
  3. KAPALI anahtarı 3 çevirin ve kartı kapatıp açın.

Çekirdeği inşa etmek

HiKey960 Android GKI çekirdek yapılarını oluşturmak için:

  1. Aşağıdaki komutları çalıştırın:

    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. Tüm nesneleri sil ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ sonra çekirdek yapı dan inşa eserler kopyalama içinde out/android12-5.4/dist/ için ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. DTB'yi birleştirin:

    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. Android Kullanıcı Alanı Oluştur

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

    ve yeni çekirdek cihazı flaş (bkz Derleme kullanıcı alanı )

  5. Genel Çekirdek Görüntüsü (GKI) çekirdeğini test edin

    • Görüntüle son kernel_aarch64 yapı .

    • Eserler, indir yılında Image dosyası ve kopyalamak ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ .

    • Görüntüyü sıkıştırın ve DTB'yi birleştirin

    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
    

Seri numarasının ayarlanması

Rastgele seri numarasını ayarlamak için şunu çalıştırın:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

Açılış kullanılarak çekirdeğe üretilmiş bir seri numarası ihraç androidboot.serialno= .

Monitör çözünürlüğünü ayarlama

Düzenleme device/linaro/hikey/hikey960/BoardConfig.mk parametre BOARD_KERNEL_CMDLINE ve yapılandırmak video ayarı. Örneğin, bir 24-inç monitörü için ayar video=HDMI-A-1:1280x800@60 .

VIM3 ve VIM3L panoları

Khadas tarafından Vim3 ve VIM3L panoları edinilebilir Khadas web

VIM3 panosu görüntüsü

Khadas ile Şekil 3. VIM3 tahta

Kullanıcı alanı derleme

VIM3 kartında Android indirmek ve oluşturmak için aşağıdaki komutları kullanın.

  1. Android kaynak ağacını indirin:

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

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

    Varsayılan olarak, Android 4.19 çekirdeği ile oluşturulmuştur. Çekirdek 5.4 önceden oluşturulmuşlarını kullanmak için:

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

    VIM3L için şunu kullanın:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
    

İlk görüntüleri yükleme

  1. Aşağıdaki USB yükseltme modunda kurulu koyun VIM3 yanıp sönen talimatlar .

  2. İlk görüntüleri RAM'e flaşlayın:

    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. U-Boot, fastboot'u başlatıp çalıştırdıktan sonra aşağıdaki komutları çalıştırın:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. Güç kablosunu çıkarın ve takın.

Kart, yeni yanıp sönen U-boot'a önyükleme yapmalı ve fastboot moduna girmelidir.

Yanıp sönen görüntüler

  1. Fastboot moduna girin (talimatlar için önceki bölüme bakın).

  2. Tüm Android resimlerini flaşla:

    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
    

Çekirdeği inşa etmek

VIM3 veya VIM3L için çekirdek yapılarını oluşturmak için:

  1. Ek araç zincirlerini indirin:

    cd ${AOSP_TOPDIR}
    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 prebuilts/gas/linux-x86
    
  2. Çekirdek kaynağını klonlayın:

    # 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. Yapı değişkenlerini dışa aktar:

    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. Çekirdeği oluşturun:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Çekirdek sıkıştır ve build_artifacts kopyalamak ${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. Android userspace yeniden (bkz userspace Derleme ) ve (bkz Yeni çekirdeği flaş görüntüleri sönen ).