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