Halaman ini menjelaskan cara membangun, menjalankan, dan mengembangkan fitur bootloader Android pada perangkat Cuttlefish.
Sumber AOSP
Untuk mengembangkan fitur bootloader Android, gunakan konfigurasi Cuttlefish dari U-boot dengan Cuttlefish di aosp-main
atau di cabang image sistem generik (GSI) untuk Android 11 atau lebih tinggi. Berikut ini adalah sumber-sumber di AOSP:
Kembangkan bootloader
Untuk membangun, menjalankan, dan mengembangkan fitur bootloader secara lokal, ikuti langkah-langkah berikut:
Kloning 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 dengan arsitektur Sotong Anda. Misalnya:
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 Sotong dengan bootloader. Sertakan parameter
pause_in_bootloader
untuk 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=true
Untuk berinteraksi dengan bootloader, sambungkan ke konsol bootloader.
$ screen ~/cuttlefish_runtime/console
Setelah selesai dengan interaksi bootloader, lanjutkan boot dengan mengetikkan
boot
ke konsol.
Uji aliran bootloader dengan kernel yang berbeda
Untuk menguji aliran bootloader dengan kernel atau modul kernel yang berbeda, teruskan artefak target (modul kernel dan kernel) menggunakan argumen --kernel_path
dan --initramfs_path
. Assembler mengemas ulang gambar boot berdasarkan artefak yang diteruskan dalam argumen.
cvd start \
-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 informasi selengkapnya, lihat Mengembangkan Kernel Android .