Menggunakan Papan Referensi

Anda dapat membuat build untuk perangkat Nexus dan Pixel menggunakan build Android Open Source Project (AOSP) dan binari khusus perangkat keras yang relevan. Untuk build Android yang tersedia dan perangkat yang ditargetkan, lihat Tag dan build kode sumber .

Anda juga dapat membuat build untuk papan referensi Android DragonBoard 845c , HiKey 960 , Khadas VIM3 , dan Qualcomm Robotics Board RB5 , yang dirancang untuk membantu vendor komponen nonseluler mengembangkan dan port driver ke rilis Android. Menggunakan papan referensi dapat memudahkan upaya peningkatan, mengurangi waktu ke pasar untuk perangkat Android baru, menurunkan biaya perangkat dengan memungkinkan ODM/OEM untuk memilih dari berbagai komponen kompatibel yang lebih luas, dan meningkatkan kecepatan inovasi di antara pemasok komponen.

Google mendukung papan referensi Android DragonBoard 845c , HiKey 960 , Khadas VIM3 dan Qualcomm Robotics Board RB5 . AOSP menyediakan sumber kernel dan dukungan papan untuk papan ini, sehingga pengembang dapat dengan mudah membuat dan men-debug driver periferal, melakukan pengembangan kernel, dan melakukan tugas lain dengan beban OEM yang lebih sedikit.

Papan Naga 845c

DragonBoard 845c adalah bagian dari platform RB3 dan tersedia dari 96boards.org .

Gambar papan naga

Gambar 1. DragonBoard 845c

Mengkompilasi ruang pengguna

Gunakan perintah berikut untuk mengunduh dan membangun Android di DragonBoard 845c.

  1. Unduh pohon sumber Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Unduh paket vendor saat ini:

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

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

Memasang gambar lokal

  1. Boot db845c ke mode fastboot.

  2. Jalankan perintah berikut:

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

Jika perlu, Anda dapat melakukan pemulihan papan QDL dengan menjalankan skrip berikut setelah mem-boot db845c dalam mode flashing USB (lihat Pemulihan DragonBoard ):

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

Membangun kernel

Untuk membuat artefak kernel DragonBoard db845c Android Generic Kernel Image (GKI):

  1. Jalankan perintah berikut untuk mengkloning sumber kernel dan rantai alat Android bawaan dan membuat skrip.

    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. Hapus semua objek di ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ lalu salin artefak build dari out/android-mainline/dist/ ke ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ kemudian bangun kembali ruang pengguna dengan:

    make TARGET_KERNEL_USE=mainline -j24
    

    dan flash perangkat dengan hasil boot.img dan super.img (lihat Mengkompilasi userspace ).

  3. Uji kernel GKI:

    1. Lihat kernel_aarch64 build terbaru .

    2. Di artefak , unduh Gambar.

    3. Gzip Gambarnya

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

    5. Bangun kembali AOSP dan flash perangkat dengan boot.img baru (lihat Mengkompilasi userspace ).

Papan HiKey 960

Papan HiKey 960 tersedia dari Amazon dan Lenovator .

Gambar papan HiKey 960

Gambar 2. Papan HiKey 960 oleh Lenovator

Mengkompilasi ruang pengguna

Gunakan perintah berikut untuk mengunduh dan membangun Android di papan HiKey 960.

  1. Unduh pohon sumber Android

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Unduh paket vendor saat ini

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

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

Memasang gambar lokal

  1. Pilih mode fastboot dengan memutar tombol ON 3 (untuk detailnya, lihat panduan Memulai HiKey 960 ).

  2. Nyalakan papan.

  3. Flash gambar lokal:

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. Matikan sakelar 3 dan nyalakan papan.

Membangun kernel

Untuk membangun artefak kernel Android GKI HiKey960:

  1. Jalankan perintah berikut:

    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. Hapus semua objek di ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ lalu salin artefak build dari kernel build in out/android12-5.4/dist/ ke ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. Menggabungkan 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. Bangun Ruang Pengguna Android

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

    dan flash perangkat dengan kernel baru (lihat Mengkompilasi userspace )

  5. Uji kernel Generic Kernel Image (GKI)

    • Lihat kernel_aarch64 build terbaru .

    • Di artefak , unduh file Image dan salin ke ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ .

    • Kompres gambar dan gabungkan 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
    

Mengatur nomor seri

Untuk mengatur nomor seri acak, jalankan:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

Bootloader mengekspor nomor seri yang dihasilkan ke kernel menggunakan androidboot.serialno= . Parameter ini diteruskan melalui baris perintah kernel di Android 11 dan yang lebih rendah, dan melalui bootconfig di Android 12 dengan kernel versi 5.10 atau lebih tinggi.

Menyetel resolusi monitor

Edit parameter device/linaro/hikey/hikey960/BoardConfig.mk BOARD_KERNEL_CMDLINE dan konfigurasikan pengaturan video . Misalnya, pengaturan untuk monitor 24 inci adalah video=HDMI-A-1:1280x800@60 .

Papan VIM3 dan VIM3L

Papan Vim3 dan VIM3L oleh Khadas tersedia dari situs web Khadas

Gambar papan VIM3

Gambar 3. Papan VIM3 oleh Khadas

Mengkompilasi ruang pengguna

Gunakan perintah berikut untuk mengunduh dan membangun Android di papan VIM3.

  1. Unduh pohon sumber Android:

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

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

    Secara default, Android dibangun dengan kernel 5.10. Untuk menggunakan kernel 5.4 bawaan:

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

    Untuk VIM3L, gunakan:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
    

Memasang gambar awal

  1. Letakkan papan dalam mode peningkatan USB mengikuti instruksi flashing VIM3 .

  2. Flash gambar awal ke RAM:

    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
    
    • Jika Anda mengalami masalah izin, lihat bagian aturan udev untuk menambahkan aturan USB yang sesuai.
    • Jika tools/update tidak berfungsi, gunakan alat pyamlboot untuk mem-flash board.
  3. Setelah U-Boot melakukan booting dan menjalankan fastboot, jalankan perintah berikut:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. Cabut dan Pasang kabel Power.

Papan harus boot ke U-boot yang baru saja di-flash dan masuk ke mode fastboot.

Gambar berkedip

  1. Masuk ke mode fastboot (lihat bagian sebelumnya untuk instruksi).

  2. Flash semua gambar Android:

    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
    

Membangun kernel

Untuk membangun artefak kernel untuk VIM3 atau VIM3L:

  1. Unduh rantai alat tambahan:

    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
    
  2. Kloning sumber kernel:

    # 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. Ekspor variabel build:

    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. Bangun kernelnya:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Kompres kernel dan salin build_artifacts ke ${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. Bangun kembali ruang pengguna Android (lihat Mengkompilasi ruang pengguna ) dan mem-flash kernel baru (lihat Mem-flash gambar ).

Dewan Robotika Qualcomm RB5

Robotics Board RB5 tersedia dari 96boards.org .

rb5_board

Gambar 4. Papan robotika RB5

Mengkompilasi ruang pengguna

Gunakan perintah berikut untuk mengunduh dan membangun Android di RB5.

  1. Unduh pohon sumber Android:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. Unduh paket vendor saat ini:

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

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

Memasang gambar lokal

  1. Boot RB5 ke mode fastboot.

  2. Jalankan perintah berikut:

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

Jika perlu, Anda dapat melakukan pemulihan papan QDL dengan menjalankan skrip berikut setelah mem-boot RB5 dalam mode flashing USB (lihat Pemulihan RB5 ):

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

Membangun kernel

Untuk membuat artefak kernel RB5 Android Generic Kernel Image (GKI):

  1. Jalankan perintah berikut untuk mengkloning sumber kernel dan rantai alat Android bawaan dan membuat skrip:

    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. Hapus semua objek di ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ , lalu salin artefak build dari out/android-mainline/dist/ ke ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ , lalu bangun kembali ruang pengguna dengan:

    make TARGET_KERNEL_USE=mainline -j24
    

    dan flash perangkat dengan hasil boot.img dan super.img (lihat Mengkompilasi userspace ).

  3. Uji kernel GKI:

    1. Lihat kernel_aarch64 build terbaru .
    2. Di artefak , unduh Gambar.
    3. Gzip Gambarnya

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

    5. Bangun kembali AOSP dan flash perangkat dengan boot.img baru (lihat Mengkompilasi userspace ).