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. Kullanılabilir Android derlemeleri ve hedeflenen cihazlar için bkz. Kaynak kodu etiketleri ve derlemeleri .

Ayrıca DragonBoard 845c , HiKey 960 , Khadas VIM3 ve Qualcomm Robotics Board RB5 Android referans panoları için, mobil olmayan bileşen satıcılarının geliştirmesine ve sürücüleri Android sürümlerine taşımasına yardımcı olmak için tasarlanmış yapılar oluşturabilirsiniz. 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, DragonBoard 845c , HiKey 960 , Khadas VIM3 ve Qualcomm Robotics Board RB5 Android referans kartlarını destekler. 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 96boards.org'dan edinilebilir .

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. Geçerli satıcı paketini indirin:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. AOSP'yi oluşturun:

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

Yerel görüntüleri yükleme

  1. db845c'yi fastboot modunda başlatın.

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

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

Gerekirse, 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 (bkz. DragonBoard Recovery ):

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

Ç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. ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ içindeki tüm nesneleri silin, ardından derleme yapılarını out/android-mainline/dist/ ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ sonra kullanıcı alanını şu şekilde yeniden oluşturun:

    make TARGET_KERNEL_USE=mainline -j24
    

    ve sonuçta boot.img ve super.img ile aygıtı flaşlayın (bkz. Kullanıcı alanını derleme ).

  3. GKI çekirdeğini test edin:

    1. En son kernel_aarch64 yapısını görüntüleyin.

    2. Yapıtlarda , Image'i indirin.

    3. Resmi Gziple

      gzip Image
      
    4. ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ kopyalayın.

    5. AOSP'yi yeniden oluşturun ve cihazı yeni boot.img ile flaşlayın (bkz. Kullanıcı alanını derleme ).

HiKey 960 anakartlar

HiKey 960 kartı, Amazon ve Lenovator'dan temin edilebilir.

HiKey 960 anakart görüntüsü

Şekil 2. Lenovator'dan HiKey 960 kartı

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. Geçerli satıcı paketini indirin

    ./device/linaro/hikey/fetch-vendor-package.sh
    
  3. İnşa etmek

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

Yerel görüntüleri yükleme

  1. Anahtarı 3 AÇIK konuma getirerek hızlı başlatma modunu seçin (ayrıntılar için HiKey 960 Başlarken kılavuzuna bakın).

  2. Tahtaya güç verin.

  3. Flash yerel görüntüler:

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. OFF anahtarını 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. ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ tüm nesneleri silin, ardından build yapılarını çekirdek build in out/android12-5.4/dist/ 'den ${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 cihazı yeni çekirdekle flaşlayın (bkz. Kullanıcı alanını derleme )

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

    • En son kernel_aarch64 yapısını görüntüleyin.

    • Yapılarda, Image dosyasını indirin ve ${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

Bootloader, oluşturulan seri numarasını androidboot.serialno= kullanarak çekirdeğe aktarır. Bu parametre, Android 11 ve daha düşük sürümlerde çekirdek komut satırından ve çekirdek sürümü 5.10 veya daha yüksek olan Android 12'de bootconfig yoluyla geçirilir.

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

device/linaro/hikey/hikey960/BoardConfig.mk parametresini BOARD_KERNEL_CMDLINE ve video ayarını yapılandırın. Örneğin, 24 inçlik bir monitör için ayar video=HDMI-A-1:1280x800@60 şeklindedir.

VIM3 ve VIM3L panoları

Khadas'ın Vim3 ve VIM3L panoları Khadas web sitesinden edinilebilir

VIM3 panosu görüntüsü

Şekil 3. Khadas'ın VIM3 kartı

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. İnşa etmek:

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

    Varsayılan olarak, Android 5.10 ç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. VIM3 yanıp sönme talimatlarını izleyerek kartı USB yükseltme moduna alın.

  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:

    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/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
    # 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. Derleme değişkenlerini dışa aktar:

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

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Çekirdeği sıkıştırın ve build_artifacts dosyasını ${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. Android kullanıcı alanını yeniden oluşturun (bkz. Kullanıcı alanını derleme ) ve yeni çekirdeği flaşlayın (bkz. Yanıp sönen resimler ).

Qualcomm Robotik Kartı RB5

Robotik Board RB5, 96boards.org'dan edinilebilir .

rb5_board

Şekil 4. Robotik kartı RB5

Kullanıcı alanı derleme

Android'i RB5'e 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. Geçerli satıcı paketini indirin:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. AOSP'yi oluşturun:

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

Yerel görüntüleri yükleme

  1. RB5'i fastboot modunda başlatın.

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

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

Gerekirse, RB5'i USB flash modunda başlattıktan sonra aşağıdaki komut dosyasını çalıştırarak QDL kart kurtarma işlemini gerçekleştirebilirsiniz (bkz. RB5 Kurtarma ):

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

Çekirdeği inşa etmek

RB5 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. ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ içindeki tüm nesneleri silin, ardından derleme yapılarını out/android-mainline/dist/ ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ ve ardından kullanıcı alanını şu şekilde yeniden oluşturun:

    make TARGET_KERNEL_USE=mainline -j24
    

    ve sonuçta boot.img ve super.img ile aygıtı flaşlayın (bkz. Kullanıcı alanını derleme ).

  3. GKI çekirdeğini test edin:

    1. En son kernel_aarch64 yapısını görüntüleyin.
    2. Yapıtlarda , Image'i indirin.
    3. Resmi Gziple

      gzip Image
      
    4. ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ kopyalayın.

    5. AOSP'yi yeniden oluşturun ve cihazı yeni boot.img ile flaşlayın (bkz. Kullanıcı alanını derleme ).