جابجایی 16 KB را فعال کنید

جابجایی 16 کیلوبایتی به شما امکان می دهد یک هسته 16 کیلوبایتی را امتحان کنید. این کلید بین هسته 4 کیلوبایتی و هسته 16 کیلوبایتی سوئیچ می شود و در منوی "گزینه توسعه دهنده" در برنامه تنظیمات یافت می شود. جابجایی 16 کیلوبایتی را می توان برای بررسی سازگاری برنامه با هسته 16 کیلوبایتی استفاده کرد، اما ممکن است عملکرد دستگاه 16 کیلوبایتی واقعی را به دلیل استفاده از بلوک های صفحه فرعی (هنگام استفاده از EXT4 برای پارتیشن های /data و /metadata ) در 16 کیلوبایت منعکس نکند. حالت

مراحل پیکربندی ضامن

  1. مطمئن شوید که دستگاه متغیرها را به گونه ای تنظیم کرده است که صفحه آگنوستیک باشند (برای کار با هسته های اندازه صفحه 4 کیلوبایت و 16 کیلوبایت). ممکن است بخواهید مستقیماً هسته 16k را نصب کنید تا مطمئن شوید که دستگاه در حالت 16 کیلوبایتی مستقیماً قبل از ادامه افزودن گزینه توسعه دهنده کار می کند. نمونه پیکربندی هدف دستگاه مجازی را ببینید.

        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 تنظیم کنید. این به ماژول های هسته ای اشاره دارد که 16 کیلوبایت را پشتیبانی می کنند. تنظیم این پارامترها دو OTA در پارتیشن سیستم ایجاد می کند - boot_ota_16k.zip (برای تغییر به هسته 16 کیلوبایتی) و boot_ota_4k.zip (برای تغییر به هسته 4 کیلوبایت). 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 کیلوبایتی در برنامه تنظیمات با "بوت با اندازه صفحه 16 کیلوبایت" قابل مشاهده است.
  2. /system/boot_otas یا /vendor/boot_otas حاوی دو فایل فشرده OTA است - boot_ota_16k.zip و boot_ota_4k.zip .

از جابجایی 16 کیلوبایتی استفاده کنید

  1. گزینه‌های توسعه‌دهنده را همانطور که در مستندات گزینه‌های توسعه‌دهنده راهنمایی شده است، فعال کنید.
  2. اگر دستگاه به‌عنوان قفل OEM تشخیص داده شود، یک گفتگو نمایش داده می‌شود تا از کاربر بخواهد قفل OEM گوشی را باز کند. مراحل را برای باز کردن قفل OEM دنبال کنید.
  3. وقتی کاربر "Boot with 16 KB page size" را می‌زند، پارتیشن‌های /data و /metadata باید ext4 باشند. اگر اینطور نیست، یک گفتگو نمایش داده می شود که از کاربر درخواست می کند دستگاه را پاک کند. پاسخ "بله" دستگاه را پاک می کند و باید گزینه های توسعه دهنده را دوباره فعال کنید.
  4. تغییر حالت 16 کیلوبایتی اکنون یک گفتگوی تایید را برای تغییر به 16 کیلوبایت نشان می دهد و در تایید، OTA های بوت اعمال می شوند. سپس می توانید بدون پاک کردن پارتیشن داده، بین حالت 4 کیلوبایت و 16 کیلوبایت به عقب و جلو بروید تا رفتار برنامه را آزمایش کنید.

حالت 16 کیلوبایت را بررسی کنید

مراحل دریافت اندازه صفحه را برای تأیید اندازه صفحه دنبال کنید.