הדף הזה מתאר איך ליצור, להפעיל ולפתח תכונות של תוכנת האתחול של Android במכשיר דיונון.
מקורות AOSP
כדי לפתח תכונות של תוכנת אתחול של Android, צריך להשתמש בתצורת Cuttlefish של
U-boot עם דיונון ב
aosp-main
או בהסתעפויות תמונת מערכת גנרית (GSI)
ל-Android מגרסה 11 ואילך. אלה המקורות ב-AOSP:
פיתוח תוכנת אתחול
כדי ליצור, להריץ ולפתח תכונות של מנהל האתחול באופן מקומי:
משכפלים את המניפסט של ההסתעפות של 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
יוצרים את היעד של מנהל האתחול שמתאים לארכיטקטורה של 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) או מודולי ליבה שונים, מעבירים
את הארטיפקטים ביעד (מודולים של ליבה וליבה) באמצעות --kernel_path
וגם
--initramfs_path
ארגומנטים. ה-Assembler מארז מחדש את קובצי האימג' להפעלה על סמך הפריטים שנשלחו בארגומנטים.
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.img
למידע נוסף, ראו פיתוח ליבות Android.