فعال کردن کلید ۱۶ کیلوبایتی

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

مراحل پیکربندی کلید تغییر وضعیت

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

        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(برای جابه‌جایی به هسته ۴ کیلوبایتی). با تنظیم BOARD_16K_OTA_USE_INCREMENTAL := true برای «به‌روزرسانی‌های نرم‌افزار» کوچک‌تر، «به‌روزرسانی‌های نرم‌افزار» افزایشی را فعال کنید.

      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. بررسی کنید که آیا کلید راه‌اندازی با اندازه صفحه ۱۶ کیلوبایت در برنامه تنظیمات قابل‌مشاهده است یا خیر.
  2. بررسی کنید که آیا /system/boot_otas یا /vendor/boot_otas حاوی دو فایل فشرده OTA است : boot_ota_16k.zip و boot_ota_4k.zip.

استفاده از کلید ۱۶ کیلوبایتی

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

  4. روی راه‌اندازی با اندازه صفحه ۱۶ کیلوبایت کلیک کنید. اگر /data و /metadata‏ ext4 نباشند، کادر گفتگویی نمایش داده می‌شود که از شما می‌خواهد دستگاه را پاک‌سازی کنید. برای پاک کردن دستگاه و اعمال کردن «به‌روزرسانی‌های ازطریق شبکه» راه‌انداز سیستم، روی پاک کردن همه داده‌ها و به‌روز کردن کلیک کنید. دستگاه پاک‌سازی می‌شود و در حالت ۱۶ کیلوبایتی راه‌اندازی می‌شود. گزینه‌های توسعه‌دهندگان را دوباره فعال کنید. سپس می‌توانید بدون پاک کردن پارتیشن داده، بین حالت‌های ۴ کیلوبایتی و ۱۶ کیلوبایتی جابه‌جا شوید تا رفتار برنامه را آزمایش کنید.

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

برای درستی‌سنجی اندازه صفحه، مراحل دریافت اندازه صفحه را دنبال کنید.