Переключатель "16 КБ" позволяет попробовать ядро размером 16 КБ. Этот переключатель позволяет выбрать ядро с размером страницы 4 КБ или 16 КБ. Он находится в меню "Для разработчиков" в приложении "Настройки". С помощью переключателя можно проверить совместимость приложения с ядром, у которого размер страницы составляет 16 КБ. Однако из-за использования блоков подстраниц (при использовании EXT4 для разделов /data и /metadata) в режиме 16 КБ производительность может отличаться от реальной.
Как настроить переключатель
Убедитесь, что на устройстве заданы переменные, которые не зависят от размера страницы (чтобы работать с ядрами с размером страницы 4 КБ и 16 КБ). Вы можете установить ядро с размером страницы 16 КБ напрямую, чтобы убедиться, что устройство работает в режиме 16 КБ, прежде чем добавлять параметр для разработчиков. Ознакомьтесь с примером конфигурации целевого устройства.
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. Эта переменная указывает на модули ядра, поддерживающие 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)Установите значение
BOARD_16K_OTA_MOVE_VENDOR := true, чтобы переместить OTA в раздел поставщика. Установите это значение, только чтобы переместить OTA из системного раздела в раздел поставщика.
Проверка
После настройки переключателя выполните следующие действия:
- Проверьте, есть ли в настройках переключатель Загрузка с размером страницы 16 КБ.
- Проверьте, содержит ли элемент
/system/boot_otasили/vendor/boot_otasдва ZIP-файла OTA :boot_ota_16k.zipиboot_ota_4k.zip.
Переключатель "Использовать 16 КБ"
- Откройте Настройки > Система > Обновление ПО и установите все доступные обновления.
- Включите параметры для разработчиков. Инструкции приведены в разделе Как настроить параметры для разработчиков на устройстве.
Если устройство заблокировано производителем, появится диалоговое окно с предложением разблокировать его. Подробнее о том, как заблокировать и разблокировать загрузчик операционной системы… Если аппаратное обеспечение устройства полностью поддерживает размер страниц 16 КБ, разблокировка загрузчика может не потребоваться и вы можете пропустить этот шаг.
Нажмите Загрузка с размером страницы 16 КБ. Если
/dataи/metadataне используют файловую систему ext4, появится диалоговое окно с предложением стереть данные с устройства. Нажмите Удалить все данные с устройства и обновить, чтобы очистить устройство и применить обновления по беспроводной сети. Устройство будет сброшено до заводских настроек и загрузится в режиме 16 КБ. Снова включите параметры для разработчиков. После этого вы сможете переключаться между режимами 4 КБ и 16 КБ без очистки раздела данных, чтобы проверить работу приложения.
Проверить режим 16 КБ
Чтобы проверить размер страницы, выполните инструкции в разделе Как узнать размер страницы.