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 1. DragonBoard 845c
Mengkompilasi ruang pengguna
Gunakan perintah berikut untuk mengunduh dan membangun Android di DragonBoard 845c.
Unduh pohon sumber Android:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
Unduh paket vendor saat ini:
./device/linaro/dragonboard/fetch-vendor-package.sh
Membangun AOSP:
. ./build/envsetup.sh
lunch db845c-userdebug
make -j24
Memasang gambar lokal
Boot db845c ke mode fastboot.
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):
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
Hapus semua objek di
${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/
lalu salin artefak build dariout/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 ).
Uji kernel GKI:
Lihat kernel_aarch64 build terbaru .
Di artefak , unduh Gambar.
Gzip Gambarnya
gzip Image
Salin ke
${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
.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 2. Papan HiKey 960 oleh Lenovator
Mengkompilasi ruang pengguna
Gunakan perintah berikut untuk mengunduh dan membangun Android di papan HiKey 960.
Unduh pohon sumber Android
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
Unduh paket vendor saat ini
./device/linaro/hikey/fetch-vendor-package.sh
Membangun
. ./build/envsetup.sh
lunch hikey960-userdebug
make -j24
Memasang gambar lokal
Pilih mode fastboot dengan memutar tombol ON 3 (untuk detailnya, lihat panduan Memulai HiKey 960 ).
Nyalakan papan.
Flash gambar lokal:
./device/linaro/hikey/installer/hikey960/flash-all.sh
Matikan sakelar 3 dan nyalakan papan.
Membangun kernel
Untuk membangun artefak kernel Android GKI HiKey960:
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
Hapus semua objek di
${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/
lalu salin artefak build dari kernel build inout/android12-5.4/dist/
ke${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/
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
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 )
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
- Bangun dan flash perangkat dengan kernel baru (lihat Mengkompilasi userspace ).
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 3. Papan VIM3 oleh Khadas
Mengkompilasi ruang pengguna
Gunakan perintah berikut untuk mengunduh dan membangun Android di papan VIM3.
Unduh pohon sumber Android:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
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
Letakkan papan dalam mode peningkatan USB mengikuti instruksi flashing VIM3 .
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.
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
Cabut dan Pasang kabel Power.
Papan harus boot ke U-boot yang baru saja di-flash dan masuk ke mode fastboot.
Gambar berkedip
Masuk ke mode fastboot (lihat bagian sebelumnya untuk instruksi).
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:
Unduh rantai alat tambahan:
git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
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
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
Bangun kernelnya:
cd hikey-linaro
make meson_defconfig
make DTC_FLAGS="-@" -j24
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
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 .
Gambar 4. Papan robotika RB5
Mengkompilasi ruang pengguna
Gunakan perintah berikut untuk mengunduh dan membangun Android di RB5.
Unduh pohon sumber Android:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j8
Unduh paket vendor saat ini:
./device/linaro/dragonboard/fetch-vendor-package.sh
Membangun AOSP:
. ./build/envsetup.sh
lunch rb5-userdebug
make -j24
Memasang gambar lokal
Boot RB5 ke mode fastboot.
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):
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
Hapus semua objek di
${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/
, lalu salin artefak build dariout/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 ).
Uji kernel GKI:
- Lihat kernel_aarch64 build terbaru .
- Di artefak , unduh Gambar.
Gzip Gambarnya
gzip Image
Salin ke
${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/
.Bangun kembali AOSP dan flash perangkat dengan boot.img baru (lihat Mengkompilasi userspace ).