Переключатель 16 КБ позволяет вам попробовать ядро 16 КБ. Этот переключатель переключает между ядром 4 КБ и ядром 16 КБ и находится в меню «Опции разработчика» в приложении настроек. Переключатель 16 КБ можно использовать для проверки совместимости приложения с ядром 16 КБ, но он может не отражать производительность фактического устройства 16 КБ из-за использования блоков подстраниц (при использовании EXT4 для разделов /data
и /metadata
) в режиме 16 КБ.
Шаги по настройке переключателя
Убедитесь, что устройство настроило переменные как независимые от страницы (для работы с ядрами размером страницы 4 КБ и 16 КБ). Возможно, вы захотите установить ядро 16k напрямую, чтобы убедиться, что устройство работает в режиме 16 КБ, прежде чем продолжить добавлять опцию разработчика. См. пример виртуального устройства target config .
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
два OTA-zip-файла:boot_ota_16k.zip
иboot_ota_4k.zip
.
Использовать переключатель 16 КБ
- Перейдите в Настройки > Система > Обновления ПО и примените все доступные обновления.
- Включить параметры разработчика. Инструкции см. в разделе Настройка параметров разработчика на устройстве .
- Если устройство обнаружено как заблокированное OEM, появится диалоговое окно с просьбой разблокировать OEM телефон. Инструкции см. в разделе Блокировка и разблокировка загрузчика .
- Нажмите Boot with 16 KB page size . Если
/data
и/metadata
не ext4, появится диалоговое окно с просьбой стереть устройство. Нажмите Erase all data , чтобы стереть устройство. Устройство будет очищено, и вам нужно снова включить параметры разработчика. - Нажмите Boot with 16 KB page size . Откроется диалоговое окно с просьбой переключиться на 16 КБ, и после подтверждения будут применены загрузочные OTA. Затем вы можете переключаться между режимами 4 КБ и 16 КБ, не очищая раздел данных, чтобы протестировать поведение приложения.
Проверить режим 16 КБ
Чтобы проверить размер страницы, следуйте инструкциям по получению размера страницы.