A alternância de 16 KB permite testar um kernel de 16 KB. Essa chave alterna entre um kernel de 4 KB e um de 16 KB e pode ser encontrada no menu "Opção para desenvolvedores" do app Configurações. A chave de 16 KB pode ser usada para verificar a compatibilidade do aplicativo com o kernel de 16 KB, mas talvez não reflita o desempenho de um dispositivo de 16 KB real devido ao uso de blocos de subpáginas (ao usar EXT4 para partições /data
e /metadata
) no modo de 16 KB.
Etapas para configurar a alternância
Verifique se o dispositivo configurou as variáveis para serem agnósticas de páginas (para funcionar com kernels de tamanho de página de 4 KB e 16 KB). Talvez seja necessário instalar o kernel de 16k diretamente para garantir que o dispositivo funcione no modo de 16 KB antes de continuar adicionando a opção para desenvolvedores. Confira o exemplo de configuração de destino do dispositivo virtual.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
Configurar a variável de produto para mostrar a opção do desenvolvedor nas configurações
PRODUCT_16K_DEVELOPER_OPTION := true
Defina o caminho do kernel usando
BOARD_KERNEL_PATH_16K
. Esse kernel precisa ser criado comCONFIG_ARM64_16K_PAGES=y.
.BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
Defina a variável de caminho de configuração de módulos
BOARD_KERNEL_MODULES_16K
. Essa variável aponta para módulos do kernel que aceitam 16 KB. A definição desses parâmetros cria duas OTAs na partição do sistema :boot_ota_16k.zip
(para mudar para o kernel de 16 KB) eboot_ota_4k.zip
(para mudar para o kernel de 4 KB). Ative as OTAs incrementais definindoBOARD_16K_OTA_USE_INCREMENTAL := true
para OTAs de inicialização de tamanho menor.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)
Defina
BOARD_16K_OTA_MOVE_VENDOR := true
para mover as OTAs para a partição do fornecedor. Defina isso apenas para mover OTAs do sistema para a partição do fornecedor.
Verificação
Depois de configurar a alternância, siga estas etapas:
- Verifique se a opção Inicializar com páginas de 16 KB está visível no app Configurações.
- Verifique se
/system/boot_otas
ou/vendor/boot_otas
contém dois arquivos ZIP OTA :boot_ota_16k.zip
eboot_ota_4k.zip
.
Usar a chave de 16 KB
- Acesse Configurações > Sistema > Atualizações de software e aplique as atualizações disponíveis.
- Ative as opções do desenvolvedor. Para instruções, consulte Configurar opções do desenvolvedor no dispositivo.
- Se o dispositivo for detectado como bloqueado pelo OEM, uma caixa de diálogo vai aparecer pedindo para desbloquear o smartphone. Para instruções, consulte Bloquear e desbloquear o carregador de inicialização.
- Clique em Inicializar com páginas de 16 KB. Se
/data
e/metadata
não forem ext4, uma caixa de diálogo vai aparecer pedindo para limpar o dispositivo. Clique em Limpar todos os dados e atualizar para limpar o dispositivo e aplicar OTAs de inicialização. O dispositivo é redefinido e inicializado no modo 16 KB. Ative as opções do desenvolvedor novamente. Em seguida, é possível alternar entre os modos 4 KB e 16 KB sem limpar a partição de dados para testar o comportamento do app.
Verificar o modo 16 KB
Siga as etapas em Como saber o tamanho da página para verificar o tamanho da página.