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 real de 16 KB 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ágina (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 com- CONFIG_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) e- boot_ota_4k.zip(para mudar para o kernel de 4 KB). Ative as OTAs incrementais definindo- BOARD_16K_OTA_USE_INCREMENTAL := truepara 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 := truepara 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_otasou/vendor/boot_otascontém dois arquivos ZIP OTA :boot_ota_16k.zipeboot_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 tamanho de página de 16 KB. Se /datae/metadatanã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.
