Referans Panolarını Kullanma

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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 yapıları ve hedeflenen cihazlar için bkz. Kaynak kodu etiketleri ve yapıları .

Ayrıca, mobil olmayan bileşen satıcılarının Android sürümleri geliştirmesine ve sürücüleri taşımasına yardımcı olmak üzere tasarlanmış DragonBoard 845c , HiKey 960 , Khadas VIM3 ve Qualcomm Robotics Board RB5 Android referans kartları için yapılar oluşturabilirsiniz. Bir referans kartı kullanmak, yükseltme çabalarını kolaylaştırabilir, yeni Android cihazların pazara çıkış süresini kısaltabilir, ODM/OEM'lerin daha geniş bir uyumlu bileşenler yelpazesinden seçim yapmasını sağlayarak cihaz maliyetlerini düşürebilir 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 adresinden temin edilebilir.

Dragonboard resmi

Şekil 1. DragonBoard 845c

Kullanıcı alanı derleniyor

Android'i DragonBoard 845c'ye indirmek ve kurmak 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. Mevcut 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 kipine önyükleyin.

  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 kipinde önyükledikten sonra aşağıdaki betiği çalıştırarak QDL kart kurtarma işlemini gerçekleştirebilirsiniz (bkz. DragonBoard Recovery ):

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

çekirdeği oluşturmak

DragonBoard db845c Android Genel Çekirdek Görüntüsü (GKI) çekirdek yapıtları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
    tools/bazel run //common:db845c_dist -- --dist_dir=$DIST_DIR
    
  1. ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ içindeki tüm nesneleri silin, ardından out/android-mainline/dist/ ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ ardından kullanıcı alanını şu şekilde yeniden oluşturun:

    make TARGET_KERNEL_USE=mainline -j24
    

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

  2. GKI çekirdeğini test edin:

    1. En son kernel_aarch64 derlemesini görüntüleyin.

    2. eserlerde , Görüntüyü indirin.

    3. Resmi Gzipleyin

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

    5. AOSP'yi yeniden oluşturun ve aygıtı yeni boot.img ile güncelleyin (bkz. Kullanıcı alanını derleme ).

HiKey 960 kartları

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

HiKey 960 kart görüntüsü

Şekil 2. Lenovator tarafından üretilen HiKey 960 kartı

Kullanıcı alanı derleniyor

HiKey 960 kartında Android'i 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. Mevcut 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. Panoya güç verin.

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

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. Anahtar 3'ü KAPATIN ve kartı kapatıp açın.

çekirdeği oluşturmak

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 out/android12-5.4/dist/ içindeki çekirdek derlemesindeki yapı yapılarını ${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şturun

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

    ve aygıtı yeni çekirdekle güncelleyin (bkz. Derleme kullanıcı alanı )

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

    • En son kernel_aarch64 derlemesini görüntüleyin.

    • Artefaktlarda , 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 önceki sürümlerde çekirdek komut satırından ve çekirdek sürümü 5.10 veya üzeri olan Android 12'de bootconfig aracılığıyla iletilir.

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 kartlarına Khadas web sitesinden ulaşılabilir.

VIM3 kart resmi

Şekil 3. Khadas'ın VIM3 kartı

Kullanıcı alanı derleniyor

VIM3 kartında Android'i 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 ön derlemelerini 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şla:

    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 önyükleme yapıp fastboot'u ç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.

Anakart, 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şlayın:

    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 oluşturmak

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

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

    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 öğesini ${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 güncelleyin (bkz. Yanıp sönen görüntüler ).

Qualcomm Robotik Kurulu RB5

Robotics Board RB5, 96boards.org adresinden edinilebilir .

rb5_board

Şekil 4. Robotik kartı RB5

Kullanıcı alanı derleniyor

RB5'te Android'i 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. Mevcut 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 moduna önyükleyin.

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

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

Gerekirse, RB5'i USB yanıp sönme modunda başlattıktan sonra aşağıdaki betiği çalıştırarak QDL kart kurtarma işlemini gerçekleştirebilirsiniz (bkz. RB5 Recovery ):

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

çekirdeği oluşturmak

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 eserlerini out/android-mainline/dist/ ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ ve ardından kullanıcı alanını şununla yeniden oluşturun:

    make TARGET_KERNEL_USE=mainline -j24
    

    ve elde edilen 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 derlemesini görüntüleyin.
    2. eserlerde , Görüntüyü indirin.
    3. Resmi Gzipleyin

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

    5. AOSP'yi yeniden oluşturun ve aygıtı yeni boot.img ile güncelleyin (bkz. Kullanıcı alanını derleme ).