Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

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 tersedia Android membangun dan perangkat ditargetkan, melihat tag Source code dan membangun .

Anda juga dapat membuat membangun untuk DragonBoard 845c , HiKey 960 dan Khadas VIM3 papan referensi Android, yang dirancang untuk membantu nonmobile vendor komponen mengembangkan dan driver port 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 DragonBoard 845c , HiKey 960 dan Khadas VIM3 Android papan referensi. 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

The DragonBoard 845c merupakan 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. Membangun:

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

Memasang gambar lokal

  1. Boot db845c ke mode fastboot (lihat DragonBoard Pemulihan ).

  2. Jalankan perintah berikut:

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

Sebagai alternatif, Anda dapat melakukan pemulihan papan QDL dengan menjalankan skrip berikut setelah mem-boot db845c dalam mode flashing USB:

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

Mem-flash gambar dari ci.android.com

Anda dapat menggunakan flash.android.com untuk dengan mudah menguji terbaru AOSP membangun artefak dari ci.android.com . Anda tidak perlu membangun, tetapi Anda harus memiliki DragonBoard 845c yang sudah di-flash dengan bootloader terbaru di AOSP sebelum Anda mulai.

  1. Dalam web browser, pergi ke flash.android.com .

  2. Klik Memulai maka abaikan langkah 1 (sebagai perangkat sudah dalam mode pengembang).

  3. Dalam tersedia, mencari DragonBoard 845c (db845c). Jika Anda tidak melihatnya, klik + Add perangkat baru lalu pilih Android gadget atau perangkat Android dari daftar.

  4. Pilih DragonBoard 845c (db845c).

  5. Klik Pilih membangun ID dan memilih membangun terbaru.

  6. Klik Install.

  7. Ikuti instruksi yang tersisa dan tunggu sementara papan di-flash.

Selamat, DragonBoard 845c Anda sekarang menjalankan build AOSP terbaru!

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 benda di ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ lalu copy membangun artefak dari out/android-mainline/dist/ ke ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ kemudian membangun kembali userspace dengan:

    make TARGET_KERNEL_USE=mainline -j24
    

    dan flash perangkat dengan kernel baru (lihat Kompilasi userspace )

  3. Uji kernel GKI:

    1. Lihat terbaru kernel_aarch64 membangun .

    2. Dalam artefak, Download Image.gz dan salin ke ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    3. Membangun dan flash perangkat dengan kernel baru (lihat Kompilasi userspace ).

Papan HiKey 960

The HiKey 960 papan tersedia dari Amazon dan Lenovator .

Gambar papan HiKey 960

Gambar 2. HiKey 960 papan dengan 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. Membangun:

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

Memasang gambar awal

  1. Pilih modus fastboot dengan memutar tombol ON 3 (untuk rincian, lihat HiKey 960 Mendapatkan panduan Memulai ).

  2. Nyalakan papan.

  3. Flash gambar awal:

    cd device/linaro/hikey/installer/hikey960
    
  4. Matikan sakelar 3 dan nyalakan papan.

Gambar berkedip

  1. Masuk ke mode fastboot dengan memutar tombol ON3.

  2. Flash gambar dengan menjalankan perintah berikut:

    fastboot flash boot out/target/product/hikey960/boot.img
    
  3. 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 benda di ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ lalu copy membangun artefak dari membangun kernel di 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 Kompilasi userspace )

  5. Uji kernel Generic Kernel Image (GKI)

    • Lihat terbaru kernel_aarch64 membangun .

    • Dalam artefak, Download Image berkas dan menyalinnya 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 ekspor 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 device/linaro/hikey/hikey960/BoardConfig.mk parameter BOARD_KERNEL_CMDLINE dan mengkonfigurasi video pengaturan. Misalnya, pengaturan untuk monitor 24-inch adalah video=HDMI-A-1:1280x800@60 .

Papan VIM3 dan VIM3L

The Vim3 dan VIM3L papan dengan Khadas yang tersedia dari situs 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 4.19. 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. Pasang papan dalam mode upgrade USB berikut VIM3 petunjuk berkedip .

  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 bekerja, gunakan alat pyamlboot untuk flash papan sebagai gantinya.
  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:

    cd ${AOSP_TOPDIR}
    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 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
    
  3. Ekspor variabel build:

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

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. Kompres kernel dan copy 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
    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 userspace Android (lihat Kompilasi userspace ) dan flash kernel baru (lihat Flashing gambar ).