הפעלת המתג של 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(כדי לעבור לליבה של 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 למחיצה של הספק. מגדירים את ההגדרה הזו רק כדי להעביר עדכוני OTA מהמערכת למחיצה של הספק.

אימות

אחרי שמגדירים את המתג, מבצעים את השלבים הבאים:

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

שימוש במתג 16KB

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

בדיקת מצב 16KB

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