جابجایی 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ها به پارتیشن فروشنده. این را فقط برای انتقال OTA از سیستم به پارتیشن فروشنده تنظیم کنید.

تأیید

پس از پیکربندی موفقیت آمیز ضامن، مراحل زیر را دنبال کنید:

  1. بررسی کنید که آیا بوت با تغییر اندازه صفحه 16 کیلوبایت در برنامه تنظیمات قابل مشاهده است یا خیر.
  2. بررسی کنید که /system/boot_otas یا /vendor/boot_otas حاوی دو فایل فشرده OTA است: boot_ota_16k.zip و boot_ota_4k.zip .

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

  1. به تنظیمات > سیستم > به‌روزرسانی‌های نرم‌افزار بروید و به‌روزرسانی‌های موجود را اعمال کنید.
  2. گزینه های توسعه دهنده را فعال کنید. برای دستورالعمل‌ها، به پیکربندی گزینه‌های برنامه‌نویس روی دستگاه مراجعه کنید.
  3. اگر دستگاه به‌عنوان قفل OEM تشخیص داده شود، یک گفتگو نمایش داده می‌شود که از شما می‌خواهد قفل گوشی را OEM باز کنید. برای دستورالعمل‌ها، قفل و باز کردن قفل بوت‌لودر را ببینید.
  4. روی بوت با اندازه صفحه 16 کیلوبایت کلیک کنید. اگر /data و /metadata ext4 نباشند، یک گفتگو نمایش داده می شود که از شما می خواهد دستگاه را پاک کنید. برای پاک کردن دستگاه روی Erase all data کلیک کنید. دستگاه پاک شده است و باید گزینه های توسعه دهنده را دوباره فعال کنید.
  5. روی بوت با اندازه صفحه 16 کیلوبایت کلیک کنید. یک گفتگو نمایش داده می شود که از شما می خواهد به 16 کیلوبایت تغییر دهید و در تأیید، OTA های بوت اعمال می شوند. سپس می توانید بدون پاک کردن پارتیشن داده، بین حالت 4 کیلوبایت و 16 کیلوبایت به عقب و جلو بروید تا رفتار برنامه را آزمایش کنید.

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

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