O botão de 16 KB permite testar um kernel de 16 KB. Essa alternância
alterna entre um kernel de 4 KB e um kernel de 16 KB e pode ser encontrada no
menu "Opções do desenvolvedor" no app de configurações. A alternância de 16 KB pode ser usada
para verificar a compatibilidade do aplicativo com o kernel de 16 KB, mas pode não
refletir o desempenho do dispositivo real de 16 KB devido ao uso de blocos de subpáginas
(ao usar o modo EXT4 para /data
e /metadata
).
Etapas para configurar a alternância
Verifique se o dispositivo configurou as variáveis para serem independentes de página (para funcionar com kernels de tamanho de página de 4 KB e 16 KB). Talvez seja necessário instalar o kernel de 16 KB diretamente para garantir que o dispositivo funcione no modo de 16 KB antes de continuar adicionando a opção para desenvolvedores. Consulte 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 do produto para mostrar a opção de 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 o caminho de configuração dos módulos
BOARD_KERNEL_MODULES_16K
. Isso aponta para módulos do kernel com suporte a 16 KB. A configuração desses parâmetros vai criar 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 OTAs incrementais definindoBOARD_16K_OTA_USE_INCREMENTAL := true
para OTAs de inicialização menores.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. Opcional, e a maioria dos dispositivos não precisa definir isso.
Verificação
Depois de configurar isso
- O botão de 16 KB fica visível no app Configurações com a opção "Inicializar com tamanho de página de 16 KB".
/system/boot_otas
ou/vendor/boot_otas
contém dois arquivos ZIP OTA:boot_ota_16k.zip
eboot_ota_4k.zip
.
Usar a alternância de 16 KB
- Ative as opções do desenvolvedor conforme indicado na documentação de opções do desenvolvedor.
- Se o dispositivo for detectado como bloqueado pelo OEM, uma caixa de diálogo será exibida para solicitar que o usuário desbloqueie o smartphone como OEM. Siga as etapas para desbloquear o OEM.
- Quando o usuário clica em "Inicializar com tamanho de página de 16 KB", as partições
/data
e/metadata
precisam ser ext4. Se não forem, uma caixa de diálogo será exibida para solicitar que o usuário limpe o dispositivo. A resposta "Sim" vai apagar o dispositivo, e você vai precisar ativar as opções do desenvolvedor novamente. - O botão de 16 KB agora mostra uma caixa de diálogo de confirmação para mudar para 16 KB. Ao confirmar, as OTAs de inicialização são aplicadas. Você pode alternar entre os modos de 4 e 16 KB sem limpar a partição de dados para testar o comportamento do app.
Verificar o modo de 16 KB
Siga as etapas em como conferir o tamanho da página para verificar o tamanho da página.