Bu sayfada, Mürekkep Balığı cihazında Android önyükleyici özelliklerinin nasıl oluşturulacağı, çalıştırılacağı ve geliştirileceği açıklanmaktadır.
AOSP kaynakları
Android önyükleyici özelliklerini geliştirmek için, Android 11 veya üzeri için aosp-main
veya genel sistem görüntüsü (GSI) dallarında Cuttlefish ile U-boot'un Cuttlefish yapılandırmasını kullanın. AOSP'deki kaynaklar şunlardır:
Bir önyükleyici geliştirin
Önyükleyici özelliklerini yerel olarak oluşturmak, çalıştırmak ve geliştirmek için şu adımları izleyin:
U-boot'un Android çatalı için manifest dosyasını kopyalayın:
$ 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
Mürekkepbalığı mimarinize uygun önyükleyici hedefini oluşturun. Örneğin:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_dist
aarch64
$ tools/bazel run //u-boot:crosvm_aarch64_dist
Ortaya çıkan önyükleyici ikili dosyası ( arm64 için
u-boot.bin
ve x86_64 içinu-boot.rom
)$PATH_TO_REPO/out/u-boot-mainline/dist
içinde bulunur.Cuttlefish cihazını önyükleyiciyle başlatın. Otomatik önyüklemeyi devre dışı bırakmak ve önyükleyiciyle etkileşime girmenizi sağlamak için
pause_in_bootloader
parametresini ekleyin.$ launch_cvd \ -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \ -pause_in_bootloader -console=true
Önyükleyiciyle etkileşim kurmak için önyükleyici konsoluna bağlanın.
$ screen ~/cuttlefish_runtime/console
Bootloader etkileşimleri bittiğinde, konsola
boot
yazarak önyüklemeye devam edin.
Önyükleyici akışını farklı çekirdeklerle test edin
Önyükleyici akışını farklı çekirdekler veya çekirdek modülleriyle test etmek için, hedef yapıtları (çekirdek ve çekirdek modülleri) --kernel_path
ve --initramfs_path
bağımsız değişkenlerini kullanarak iletin. Derleyici, bağımsız değişkenlerde iletilen yapılara dayalı olarak önyükleme görüntülerini yeniden paketler.
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
Daha fazla bilgi için bkz. Android Çekirdeklerini Geliştirme .