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

دکمه‌ی تغییر وضعیت ۱۶ کیلوبایتی به شما امکان می‌دهد یک هسته‌ی ۱۶ کیلوبایتی را امتحان کنید. این دکمه بین هسته‌ی ۴ کیلوبایتی و هسته‌ی ۱۶ کیلوبایتی جابه‌جا می‌شود و می‌توانید آن را در منوی «گزینه‌ی توسعه‌دهندگان» در برنامه‌ی تنظیمات پیدا کنید. دکمه‌ی تغییر وضعیت ۱۶ کیلوبایتی می‌تواند برای بررسی سازگاری برنامه با هسته‌ی ۱۶ کیلوبایتی استفاده شود، اما ممکن است به دلیل استفاده از بلوک‌های زیرصفحه (هنگام استفاده از EXT4 برای پارتیشن‌های /data و /metadata ) در حالت ۱۶ کیلوبایتی، عملکرد دستگاه ۱۶ کیلوبایتی واقعی را نشان ندهد.

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

  1. مطمئن شوید که دستگاه، متغیرها را طوری تنظیم کرده است که مستقل از صفحه باشند (تا با هر دو هسته با اندازه صفحه ۴ کیلوبایت و ۱۶ کیلوبایت کار کنند). ممکن است بخواهید هسته ۱۶ کیلوبایتی را مستقیماً نصب کنید تا مطمئن شوید که دستگاه مستقیماً در حالت ۱۶ کیلوبایت کار می‌کند، قبل از اینکه به افزودن گزینه توسعه‌دهنده ادامه دهید. به پیکربندی هدف مثال دستگاه مجازی مراجعه کنید.

        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 تنظیم کنید. این متغیر به ماژول‌های هسته اشاره می‌کند که از ۱۶ کیلوبایت پشتیبانی می‌کنند. تنظیم این پارامترها دو OTA در پارتیشن سیستم ایجاد می‌کند: boot_ota_16k.zip (برای تغییر به هسته ۱۶ کیلوبایتی) و boot_ota_4k.zip (برای تغییر به هسته ۴ کیلوبایتی). 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. برای انتقال فایل‌های OTA به پارتیشن فروشنده، BOARD_16K_OTA_MOVE_VENDOR := true را تنظیم کنید. فقط برای انتقال فایل‌های OTA از پارتیشن سیستم به پارتیشن فروشنده، این گزینه را تنظیم کنید.

تأیید

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

  1. بررسی کنید که آیا گزینه‌ی «بوت با حجم صفحه ۱۶ کیلوبایت» در تنظیمات برنامه قابل مشاهده است یا خیر.
  2. بررسی کنید که آیا /system/boot_otas یا /vendor/boot_otas حاوی دو فایل زیپ OTA به نام‌های boot_ota_16k.zip و boot_ota_4k.zip است یا خیر.

از دکمه‌ی تغییر وضعیت ۱۶ کیلوبایتی استفاده کنید

  1. به تنظیمات > سیستم > به‌روزرسانی‌های نرم‌افزار بروید و هرگونه به‌روزرسانی موجود را اعمال کنید.
  2. گزینه‌های توسعه‌دهنده را فعال کنید. برای دستورالعمل‌ها، به پیکربندی گزینه‌های توسعه‌دهنده روی دستگاه مراجعه کنید.
  3. اگر دستگاه به عنوان قفل OEM شناسایی شود، پنجره‌ای نمایش داده می‌شود که از شما می‌خواهد قفل OEM گوشی را باز کنید. برای دستورالعمل‌ها، به قفل کردن و باز کردن قفل بوت لودر مراجعه کنید. اگر سخت‌افزار دستگاه به طور کامل از ۱۶ کیلوبایت پشتیبانی می‌کند، ممکن است نیازی به باز کردن قفل OEM نباشد و می‌توانید از این مرحله صرف نظر کنید.

  4. روی گزینه Boot with 16 KB page size کلیک کنید. اگر /data و /metadata از نوع ext4 نباشند، پنجره‌ای نمایش داده می‌شود که از شما می‌خواهد دستگاه را پاک کنید. برای پاک کردن دستگاه و اعمال OTA های بوت، روی Erase all data and update کلیک کنید. دستگاه پاک می‌شود و در حالت ۱۶ کیلوبایت بوت می‌شود. دوباره گزینه‌های توسعه‌دهنده را فعال کنید. سپس می‌توانید بدون پاک کردن پارتیشن داده، بین حالت ۴ کیلوبایت و ۱۶ کیلوبایت جابجا شوید تا رفتار برنامه را آزمایش کنید.

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

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