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

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

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

  1. חשוב לוודא שהמשתנים מוגדרים במכשיר כך שלא יהיו תלויים בדף (כדי לעבוד עם ליבות בגודל דף של 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. מגדירים את נתיב הליבה באמצעות 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. הפקודה הזו מפנה למודולים של הליבה שתומכים ב-16KB. הגדרת הפרמטרים האלה תיצור שני עדכוני OTA במחיצה של המערכת – boot_ota_16k.zip(כדי לעבור לליבה של 16KB) ו-boot_ota_4k.zip(כדי לעבור לליבה של 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.

שימוש במתג 16KB

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

בדיקת מצב 16KB

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