החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
הפעלת המתג של 16 KB
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
המתג של 16KB מאפשר לכם לנסות ליבה (kernel) של 16KB. המתג הזה מאפשר לעבור בין ליבת 4KB לליבת 16KB, והוא נמצא בתפריט 'אפשרויות למפתחים' באפליקציית ההגדרות. אפשר להשתמש במתג 16KB כדי לבדוק את תאימות האפליקציה לליבה של 16KB, אבל יכול להיות שהביצועים לא ישקפו את הביצועים במכשיר אמיתי עם 16KB בגלל השימוש בבלוק של דפי משנה (כשמשתמשים ב-EXT4 למחיצות /data
ו-/metadata
) במצב 16KB.
שלבים להגדרת המתג
חשוב לוודא שהמשתנים מוגדרים במכשיר כך שלא יהיו תלויים בדף (כדי לעבוד גם עם ליבות בגודל דף של 4KB וגם עם ליבות בגודל דף של 16KB).
מומלץ להתקין את הליבה של 16KB ישירות כדי לוודא שהמכשיר פועל במצב 16KB ישירות לפני שממשיכים להוסיף את האפשרות למפתחים.
target config של מכשיר וירטואלי לדוגמה.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
הגדרת משתנה מוצר להצגת האפשרות 'אפשרויות למפתחים' בהגדרות
PRODUCT_16K_DEVELOPER_OPTION := true
מגדירים את נתיב הליבה באמצעות BOARD_KERNEL_PATH_16K
.
צריך ליצור את הליבה הזו באמצעות CONFIG_ARM64_16K_PAGES=y.
BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
מגדירים את משתנה הנתיב של תצורת המודולים 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)
מגדירים את BOARD_16K_OTA_MOVE_VENDOR := true
כדי להעביר עדכוני OTA למחיצה של הספק.
מגדירים את ההגדרה הזו רק כדי להעביר עדכוני OTA מהמערכת למחיצה של הספק.
אימות
אחרי שמגדירים את המתג, פועלים לפי השלבים הבאים:
- בודקים אם המתג הפעלה בגודל דף של 16KB גלוי באפליקציית ההגדרות.
- בודקים אם
/system/boot_otas
או /vendor/boot_otas
מכילים שני קובצי zip של OTA : boot_ota_16k.zip
ו-boot_ota_4k.zip
.
שימוש במתג 16KB
- עוברים אל הגדרות > מערכת > עדכוני תוכנה ומחילים את כל העדכונים שזמינים.
- מפעילים את האפשרויות למפתחים. הוראות מפורטות זמינות במאמר הגדרת אפשרויות הפיתוח במכשיר.
- אם המכשיר מזוהה כנעולה של יצרן ציוד מקורי, תוצג תיבת דו-שיח עם בקשה לבטל את נעילת הטלפון על ידי יצרן הציוד המקורי. הוראות מפורטות זמינות במאמר נעילה וביטול נעילה של תוכנת האתחול.
- לוחצים על הפעלה בגודל דף של 16 KB. אם
/data
ו-/metadata
הם לא קבצים מסוג ext4, תוצג תיבת דו-שיח עם בקשה למחוק את המכשיר. לוחצים על מחיקה של כל הנתונים כדי למחוק את כל הנתונים מהמכשיר. המכשיר יימחק ותצטרכו להפעיל שוב את האפשרויות למפתחים.
- לוחצים על הפעלה בגודל דף של 16 KB. תוצג תיבת דו-שיח עם בקשה לעבור ל-16KB, ואחרי האישור יחולו עדכוני OTA לאתחול. לאחר מכן תוכלו לעבור שוב ושוב בין מצב 4KB למצב 16KB בלי לנקות את מחיצת הנתונים כדי לבדוק את התנהגות האפליקציה.
בדיקת מצב 16KB
כדי לאמת את גודל הדף, פועלים לפי השלבים המפורטים במאמר קבלת גודל הדף.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Enable 16 KB toggle\n\n16 KB toggle lets you to try a 16 KB kernel. This toggle switches\nbetween a 4 KB kernel and 16 KB kernel and can be found inside the\n\"Developer option\" menu in the settings app. The 16 KB toggle can be used\nto check application compatibility with the 16 KB kernel, but it might not\nreflect performance of actual 16 KB device due to the use of subpage blocks\n(when using EXT4 for `/data` and `/metadata` partitions) in 16 KB mode.\n\nSteps for configuring toggle\n----------------------------\n\n1. Make sure the device has set up the variables to be page-agnostic (to work\n with both 4 KB and 16 KB page size kernels).\n You may want to install the 16k kernel directly to make sure the device works in\n 16 KB mode directly before continuing to add the developer option.\n See the virtual device example [target config](https://cs.android.com/android/platform/superproject/+/android-latest-release:device/google/cuttlefish/vsoc_arm64_pgagnostic/phone/aosp_cf.mk;l=68).\n\n PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true\n PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384\n\n2. Setup product variable to display developer option in settings\n `PRODUCT_16K_DEVELOPER_OPTION := true`\n\n3. Set kernel path using `BOARD_KERNEL_PATH_16K`.\n This kernel should be built with `CONFIG_ARM64_16K_PAGES=y.`\n\n BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.\n\n4. Set modules config path variable `BOARD_KERNEL_MODULES_16K`. This variable\n points to kernel modules which support 16KB. Setting these parameters creates\n two OTAs on the system partition : `boot_ota_16k.zip`(to switch to 16 KB\n kernel) and `boot_ota_4k.zip`(to switch to 4 KB kernel). Enable incremental\n OTAs by setting `BOARD_16K_OTA_USE_INCREMENTAL := true` for smaller size boot\n OTAs.\n\n BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)\n BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/common-modules/virtual-device/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)\n\n5. Set `BOARD_16K_OTA_MOVE_VENDOR := true` to move OTAs to the vendor partition.\n Only set this to move OTAs from system to vendor partition.\n\n### Verification\n\nAfter successfully configuring the toggle, follow these steps:\n\n1. Check if **Boot with 16 KB page size** toggle is visible in settings app.\n2. Check if `/system/boot_otas` or `/vendor/boot_otas` contains two OTA zip files : `boot_ota_16k.zip` and `boot_ota_4k.zip`.\n\nUse 16 KB toggle\n----------------\n\n1. Go to **Settings \\\u003e System \\\u003e Software updates** and apply any updates which are available.\n2. Enable developer options. For instructions, see [Configure on-device developer options](https://developer.android.com/studio/debug/dev-options).\n3. If the device is detected as OEM locked, a dialog displays asking you to OEM unlock the phone. For instructions, see [Lock and unlock the bootloader](/docs/core/architecture/bootloader/locking_unlocking).\n4. Click **Boot with 16 KB page size** . If `/data` and `/metadata`aren't ext4, a dialog displays asking you to wipe the device. Click **Erase all data** to wipe the device. The device is wiped and you must enable developer options again.\n5. Click **Boot with 16 KB page size**. A dialog displays asking you to switch to 16 KB, and on confirming, boot OTAs are applied. You can then toggle back and forth between 4 KB and 16 KB mode without clearing the data partition to test app behavior.\n\nCheck 16 KB Mode\n----------------\n\nFollow steps at [getting page size](/docs/core/architecture/16kb-page-size/getting-page-size)\nto verify page size."]]