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

המתג של 16 KB מאפשר לכם לנסות ליבה (kernel) של 16 KB. המתג הזה מאפשר לעבור בין ליבה (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(כדי לעבור לליבה (kernel) של 16 KB) 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 מופיע באפליקציית ההגדרות בקטע 'אתחול עם דף בגודל 16KB'.
  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 מציג עכשיו תיבת דו-שיח לאישור המעבר ל-16 KB, ואחרי האישור מתבצעת החלה של עדכוני OTA לאתחול. לאחר מכן תוכל לעבור בין המצבים בין מצב 4 KB ל-16 KB מבלי לנקות את מחיצת הנתונים לבדוק את התנהגות האפליקציה.

בדיקת מצב 16KB

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