הפעלת מתג של 16KB

המתג של 16 KB מאפשר לכם לנסות ליבה (kernel) של 16 KB. המתג הזה מאפשר לעבור בין ליבה (kernel) של 4KB לליבה של 16KB, והוא נמצא בתפריט 'אפשרויות למפתחים' באפליקציית ההגדרות. אפשר להשתמש במתג של 16KB כדי לבדוק את תאימות האפליקציה לליבה של 16KB, אבל יכול להיות שהביצועים לא ישקפו את הביצועים במכשיר אמיתי עם ליבה של 16KB בגלל השימוש בבלוק של דף משנה (כשמשתמשים ב-EXT4 למחיצות /data ו-/metadata) במצב 16KB.

שלבים להגדרת המתג

  1. מוודאים שהמכשיר הגדיר את המשתנים כך שלא יזוהו בדפים (כדי לעבוד עם ליבה (kernel) של דף בגודל 4KB וגם 16KB). מומלץ להתקין את הליבה של 16KB ישירות כדי לוודא שהמכשיר פועל במצב 16KB ישירות לפני שממשיכים להוסיף את האפשרות למפתחים. target config של מכשיר וירטואלי לדוגמה.

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. הגדרת משתנה מוצר להצגת האפשרות 'אפשרויות למפתחים' בהגדרות PRODUCT_16K_DEVELOPER_OPTION := true

  3. אפשר להגדיר נתיב ליבה (kernel) באמצעות BOARD_KERNEL_PATH_16K. צריך ליצור את הליבה הזו באמצעות CONFIG_ARM64_16K_PAGES=y.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. מגדירים את נתיב התצורה של המודולים BOARD_KERNEL_MODULES_16K. הפקודה הזו מפנה למודולים של הליבה (kernel) שתומכים ב-16KB. הגדרת הפרמטרים האלה תיצור שתי אפליקציות OTA במחיצת המערכת – boot_ota_16k.zip (כדי לעבור לליבה (kernel) של 16KB) ו-boot_ota_4k.zip(כדי לעבור לליבה (kernel) של 4KB). כדי להפעיל עדכוני OTA מצטברים, מגדירים את הערך BOARD_16K_OTA_USE_INCREMENTAL := true לעדכוני OTA לטעינה בגודל קטן יותר.

      BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)
      BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/common-modules/virtual-device/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)
    
  5. מגדירים את BOARD_16K_OTA_MOVE_VENDOR := true כדי להעביר עדכוני OTA למחיצה של הספק. אופציונלי, וברוב המכשירים לא צריך להגדיר את האפשרות הזו.

אימות

אחרי ההגדרה בהצלחה

  1. המתג של 16 KB מופיע באפליקציית ההגדרות בקטע 'הפעלה בגודל דף של 16 KB'.
  2. /system/boot_otas או /vendor/boot_otas מכיל שני קובצי ZIP של OTA – boot_ota_16k.zip ו-boot_ota_4k.zip.

שימוש במתג 16 KB

  1. מפעילים את האפשרויות למפתחים לפי ההוראות שמפורטות במסמכי העזרה בנושא אפשרויות למפתחים.
  2. אם המכשיר מזוהה כנעולה של יצרן ציוד מקורי, תוצג תיבת דו-שיח שבה המשתמש יתבקש לבטל את נעילת הטלפון על ידי יצרן הציוד המקורי. פועלים לפי השלבים לביטול הנעילה של OEM (יצרן ציוד מקורי).
  3. כשהמשתמש לוחץ על 'הפעלה בגודל דף של 16KB', המחיצות /data ו-/metadata צריכות להיות מסוג ext4. אם הם לא יאופסו, תוצג תיבת דו-שיח עם בקשה מהמשתמש לאפס את הנתונים. תשובה "כן" תאפס את נתוני המכשיר ויהיה עליכם להפעיל שוב את האפשרויות למפתחים.
  4. המתג של 16 KB מציג עכשיו תיבת דו-שיח לאישור המעבר ל-16KB, ולאחר האישור, מופעלות OTA. לאחר מכן תוכלו לעבור בין מצב 4KB למצב 16KB בלי לנקות את מחיצת הנתונים כדי לבדוק את התנהגות האפליקציה.

בדיקה של מצב 16KB

כדי לאמת את גודל הדף, בצעו את השלבים המפורטים במאמר קביעת גודל הדף.