Halaman ini menjelaskan cara mem-build, menjalankan, dan mengembangkan fitur bootloader Android di perangkat Cuttlefish.
Sumber AOSP
Untuk mengembangkan fitur bootloader Android, gunakan konfigurasi Cuttlefish
U-boot dengan Cuttlefish di
aosp-main
atau di cabang image sistem generik (GSI)
untuk Android 11 atau yang lebih tinggi. Berikut adalah sumber di AOSP:
Mengembangkan bootloader
Untuk mem-build, menjalankan, dan mengembangkan fitur bootloader secara lokal, ikuti langkah-langkah berikut:
Clone manifes untuk fork Android U-boot:
$ mkdir u-boot-mainline $ cd u-boot-mainline $ repo init -u https://android.googlesource.com/kernel/manifest -b u-boot-mainline $ repo sync -j$(nproc) -q
Bangun target bootloader yang sesuai untuk arsitektur Cuttlefish Anda. Contoh:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_dist
aarch64
$ tools/bazel run //u-boot:crosvm_aarch64_dist
Biner bootloader yang dihasilkan (
u-boot.bin
untuk arm64 danu-boot.rom
untuk x86_64) ditemukan di$PATH_TO_REPO/out/u-boot-mainline/dist
.Luncurkan perangkat Cuttlefish dengan bootloader. Sertakan parameter
pause_in_bootloader
untuk menonaktifkan booting otomatis dan memungkinkan Anda berinteraksi dengan bootloader.$ launch_cvd \ -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \ -pause_in_bootloader -console=true
Untuk berinteraksi dengan bootloader, hubungkan ke konsol bootloader.
$ screen ~/cuttlefish_runtime/console
Setelah selesai dengan interaksi bootloader, lanjutkan booting dengan mengetik
boot
ke konsol.
Menguji alur bootloader dengan kernel yang berbeda
Untuk menguji alur bootloader dengan kernel atau modul kernel yang berbeda, teruskan
artefak target (kernel dan modul kernel) menggunakan argumen --kernel_path
dan
--initramfs_path
. Assembler memaketkan ulang image booting berdasarkan
artefak yang diteruskan dalam argumen.
cvd create \
-kernel_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/bzImage \
-initramfs_path=/$PATH/$TO/common-android14-6.1/out/android14-6.1/dist/initramfs.img
Untuk mengetahui informasi selengkapnya, lihat Mengembangkan Kernel Android.