פתח תכונות של טוען האתחול של אנדרואיד

דף זה מתאר כיצד לבנות, להפעיל ולפתח תכונות של טוען האתחול של אנדרואיד במכשיר Cuttlefish.

מקורות AOSP

כדי לפתח תכונות של טוען האתחול של אנדרואיד, השתמש בתצורת Cuttlefish של U-boot עם Cuttlefish בסניפי aosp-main או בסניפי תמונת מערכת גנרית (GSI) עבור אנדרואיד 11 ומעלה. להלן המקורות ב-AOSP:

פתח מאתר אתחול

כדי לבנות, להפעיל ולפתח תכונות של טוען אתחול באופן מקומי, בצע את השלבים הבאים:

  1. שכפל את המניפסט עבור המזלג של אנדרואיד של 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
    
  2. בנה את יעד מאתחול האתחול המתאים לארכיטקטורת ה-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 .

  3. הפעל את התקן 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
    
  4. כדי ליצור אינטראקציה עם טוען האתחול, התחבר לקונסולת טוען האתחול.

    $ screen ~/cuttlefish_runtime/console
    
  5. כשתסיים עם אינטראקציות של טוען האתחול, המשך את האתחול על ידי הקלדת 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

למידע נוסף, ראה פיתוח גרעיני אנדרואיד .