Ativar a chave de 16 KB

O botão de 16 KB permite testar um kernel de 16 KB. Esse botão alterna entre um kernel de 4 KB e um de 16 KB e pode ser encontrado no menu "Opção para desenvolvedores" no app de configurações. O botão de 16 KB pode ser usado para verificar a compatibilidade do aplicativo com o kernel de 16 KB, mas pode não refletir o desempenho do dispositivo de 16 KB devido ao uso de blocos de subpágina (ao usar EXT4 para partições /data e /metadata) no modo de 16 KB.

Etapas para configurar a alternância

  1. Verifique se o dispositivo configurou as variáveis para serem independentes da 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
    
  2. Configurar a variável do produto para mostrar a opção de desenvolvedor nas configurações PRODUCT_16K_DEVELOPER_OPTION := true

  3. 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.
    
  4. Defina a variável de caminho de configuração dos módulos BOARD_KERNEL_MODULES_16K. Essa variável aponta para módulos do kernel que oferecem suporte a 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 := 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)
    
  5. Defina BOARD_16K_OTA_MOVE_VENDOR := true para mover OTAs para a partição do fornecedor. Defina isso apenas para mover OTAs da partição do sistema para a do fornecedor.

Verificação

Depois de configurar a opção, siga estas etapas:

  1. Verifique se a opção Inicializar com tamanho de página de 16 KB está visível no app de configurações.
  2. Verifique se /system/boot_otas ou /vendor/boot_otas contém dois arquivos ZIP OTA : boot_ota_16k.zip e boot_ota_4k.zip.

Usar o botão de 16 KB

  1. Acesse Configurações > Sistema > Atualizações de software e aplique as atualizações disponíveis.
  2. Ative as opções do desenvolvedor. Para instruções, consulte Configurar opções do desenvolvedor no dispositivo.
  3. Se o dispositivo for detectado como bloqueado pelo OEM, uma caixa de diálogo será mostrada solicitando que você desbloqueie o smartphone. Para instruções, consulte Bloquear e desbloquear o carregador de inicialização.
  4. 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 que você limpe o dispositivo. Clique em Limpar todos os dados para excluir permanentemente o dispositivo. O dispositivo é apagado e você precisa ativar as opções do desenvolvedor novamente.
  5. Clique em Inicializar com páginas de 16 KB. Uma caixa de diálogo aparece pedindo que você mude para 16 KB. Ao confirmar, as OTAs de inicialização são aplicadas. Em seguida, alterne entre os modos 4 KB 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.