מדמים דיונון עם דף בגודל 16KB ב-x86_64

להגדרה הזו נדרש מארח x86_64 של Linux. בדף הזה נסביר איך ליצור מפעילים את Cuttlefish עם תמיכה בגודל דף של 16KB ב-x86_64. ההוראות לגבי הדף הזה מניח שחבילות Cuttlefish מותקנות במחשב שלכם. עבור כדי להתקין אותם, ראו שלב 1 של התקנת 'דיונון'.

אפשר להפעיל את Cuttlefish על ידי הורדת פריטי המידע שנוצרו מראש ארטיפקטים ישירות מהשילוב הרציף של Android או ליצור אותם מ-AOSP אם צריך לשנות את המקור

הטמעת ליבה (kernel)

לגרסה 6.6 של Android 14 יש תמיכה באמולציה של x86_64 דפים בגודל 16KB GKI ב- page_size_emulation סדרת תיקונים. העברה של page_shift=14 בשורת הפקודה מפעילה את האמולציה הזו. x86_64 יעדים עם הסיומת _16k (או יעדים ישנים עם _pgagnostic סיומת), כמו aosp_cf_x86_64_phone_pgagnostic, תעביר את האפשרות הזו כברירת מחדל ועובדות במצב של 16KB כברירת מחדל.

מפעילים את הדיונון על ידי הורדת פריטי המידע שנוצרו בתהליך הפיתוח (Artifact)

עוברים אל האתר של Android אינטגרציה רציפה (CI) צריך להזין את aosp-main-throttled בתור שם ההסתעפות. ללחוץ על ה-build האחרון של יעד אחד (aosp_cf_x86_64_phone_pgagnostic). עכשיו, פועלים לפי ההוראות בשלב 5 מתוך התקנת דיונון.

השיקו דיונון על ידי בנייה מ-AOSP

בונים ומפעילים 'דיונון' עם יעד שעבר דפדוף בין דפים:

$ mkdir main && cd main
$ repo init -u https://android.googlesource.com/platform/manifest -b main
$ repo sync -c -j32

# Build cf agnostic target.
$ source build/envsetup.sh
$ lunch aosp_cf_x86_64_phone_pgagnostic-trunk_staging-userdebug
$ m

# Launch cf with a kernel with 16 KB page size support.
$ launch_cvd
...
...
VIRTUAL_DEVICE_DISPLAY_POWER_MODE_CHANGED
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
virtio_input_hid_handle_status: unknown type 20
Generating new secret with slot ID: 4
VIRTUAL_DEVICE_BOOT_STARTED
VIRTUAL_DEVICE_NETWORK_MOBILE_CONNECTED

אימות גודל הדף והאתחול

כדי לאמת את גודל הדף ואת סטטוס ההפעלה:

  1. גישה למעטפת ברמה הבסיסית (root):

    $ adb root
    adbd is already running as root
    $ adb shell
    vsoc_x86_64_pgagnostic:/ #
    
  2. אימות גודל הדף וסטטוס ההפעלה:

    vsoc_x86_64_pgagnostic::/ # getconf PAGE_SIZE
    16384
    vsoc_x86_64_pgagnostic::/ # getprop | grep sys.boot.completed
    sys.boot_completed: 1