דף זה מתאר כיצד לבנות, להפעיל ולפתח תכונות של טוען האתחול של אנדרואיד במכשיר Cuttlefish.
מקורות AOSP
כדי לפתח תכונות של טוען האתחול של אנדרואיד, השתמש בתצורת Cuttlefish של U-boot עם Cuttlefish בסניפי aosp-main
או בסניפי תמונת מערכת גנרית (GSI) עבור אנדרואיד 11 ומעלה. להלן המקורות ב-AOSP:
פתח מאתר אתחול
כדי לבנות, להפעיל ולפתח תכונות של טוען אתחול באופן מקומי, בצע את השלבים הבאים:
שכפל את המניפסט עבור המזלג של אנדרואיד של 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
בנה את יעד מאתחול האתחול המתאים לארכיטקטורת ה-Cuttlefish שלך. לדוגמה:
x86_64
$ tools/bazel run //u-boot:crosvm_x86_64_dist
aarch64
$ tools/bazel run //u-boot:crosvm_aarch64_dist
הקובץ הבינארי של טוען האתחול שנוצר (
u-boot.bin
עבור arm64 ו-u-boot.rom
עבור x86_64) נמצא ב-$PATH_TO_REPO/out/u-boot-mainline/dist
.הפעל את התקן Cuttlefish עם טוען האתחול. כלול את הפרמטר
pause_in_bootloader
כדי להשבית את האתחול האוטומטי ולאפשר לך ליצור אינטראקציה עם טוען האתחול.$ launch_cvd \ -bootloader /$PATH/$TO/u-boot-mainline/out/u-boot-mainline/dist/u-boot.rom \ -pause_in_bootloader -console=true
כדי ליצור אינטראקציה עם טוען האתחול, התחבר לקונסולת טוען האתחול.
$ screen ~/cuttlefish_runtime/console
כשתסיים עם אינטראקציות של טוען האתחול, המשך את האתחול על ידי הקלדת
boot
במסוף.
בדוק את זרימת טוען האתחול עם גרעינים שונים
כדי לבדוק את זרימת טוען האתחול עם קרנלים או מודולי ליבה שונים, העבירו את חפצי היעד (הליבה והקרנל) באמצעות הארגומנטים --kernel_path
ו-- --initramfs_path
. האסמבלר אורז מחדש את תמונות האתחול על סמך החפצים שהועברו בטיעונים.
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
למידע נוסף, ראה פיתוח גרעיני אנדרואיד .