להגדרה הזו נדרש מארח x86_64
של Linux. בדף הזה מוסבר איך ליצור ולהפעיל את Cuttlefish עם תמיכה בגודל דף של 16KB ב-x86_64
. ההוראות בדף הזה מבוססות על ההנחה שחבילות Cuttlefish מותקנות במחשב שלכם. להוראות להתקנה, ראו שלב 1 במאמר התקנת Cuttlefish.
כדי להפעיל את Cuttlefish, אפשר להוריד את הארטיפקטים שנוצרו מראש ישירות מהאתר של Android Continuous Integration, או ליצור אותם מ-AOSP אם צריך לשנות את קוד המקור.
הטמעת ליבה
תמיכה בהדמיה של דפים בגודל 16KB ב-x86_64
נוספה ב-GKI של Android 14 6.6 בסדרת התיקונים page_size_emulation
.
העברת page_shift=14
בשורת הפקודה מפעילה את ההדמיה הזו.
יעדי x86_64
עם הסיומת _16k
(או יעדים ישנים עם הסיומת _pgagnostic
), כמו aosp_cf_x86_64_phone_pgagnostic
, מעבירים את האפשרות הזו כברירת מחדל ופועלים במצב 16KB כברירת מחדל.
הורדת ה-artifacts להפעלת Cuttlefish
עוברים לאתר של Android אינטגרציה רציפה (CI) ומזינים את aosp-main-throttled
בתור שם ההסתעפות. לוחצים על גרסת ה-build האחרונה של היעד aosp_cf_x86_64_phone_pgagnostic
. עכשיו פועלים לפי ההוראות בשלב 5 של Install Cuttlefish (התקנת דיונון).
איך מפעילים את Cuttlefish על ידי פיתוח מ-AOSP
פיתוח והפעלה של Cuttlefish עם יעד שלא תלוי בדף:
$ 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
אימות גודל הדף והפעלה
כדי לבדוק את גודל הדף ואת סטטוס האתחול:
נכנסים לקליפת הפקודה כ-root:
$ adb root adbd is already running as root $ adb shell vsoc_x86_64_pgagnostic:/ #
בודקים את גודל הדף ואת סטטוס האתחול:
vsoc_x86_64_pgagnostic::/ # getconf PAGE_SIZE 16384 vsoc_x86_64_pgagnostic::/ # getprop | grep sys.boot.completed sys.boot_completed: 1