Halaman ini menjelaskan cara membuat, menjalankan, dan mengembangkan fitur bootloader Android di perangkat Cuttlefish.
Sumber AOSP
Untuk mengembangkan fitur bootloader Android, gunakan konfigurasi Cuttlefish
U-boot dengan Cuttlefish di
cabang rilis terbaru (android16-release) atau di
cabang generic system image (GSI)
untuk Android 11 atau yang lebih tinggi. Berikut adalah sumber di AOSP:
Mengembangkan bootloader
Untuk membuat, menjalankan, dan mengembangkan fitur bootloader secara lokal, ikuti langkah-langkah berikut:
Clone manifes untuk fork U-boot Android:
$ 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) -qBangun target bootloader yang sesuai untuk arsitektur Cuttlefish Anda. Contoh:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_distaarch64
$ tools/bazel run //u-boot:crosvm_aarch64_dist
Biner bootloader yang dihasilkan (
u-boot.binuntuk arm64 danu-boot.romuntuk x86_64) dapat ditemukan di$PATH_TO_REPO/out/u-boot-mainline/dist.Luncurkan perangkat Cuttlefish dengan bootloader. Sertakan parameter
pause_in_bootloaderuntuk menonaktifkan autoboot 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=trueUntuk berinteraksi dengan bootloader, hubungkan ke konsol bootloader.
$ screen ~/cuttlefish_runtime/consoleSetelah selesai berinteraksi dengan bootloader, lanjutkan booting dengan mengetik
bootke dalam 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 mengemas 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.imgUntuk mengetahui informasi selengkapnya, lihat Mengembangkan Kernel Android.