Ativar alternância de 16 KB

A alternância de 16 KB permite que você experimente um kernel de 16 KB. Isso alterna entre um kernel de 4 KB e um kernel de 16 KB. Essa alternância está dentro do menu "Opções do desenvolvedor" no aplicativo de configurações. Ele precisa ser habilitado para dispositivo individualmente.

Etapas para configurar a alternância

  1. Certifique-se de que o dispositivo tenha configurado as variáveis ​​para serem independentes de página (para funcionar com kernels de tamanho de página de 4 KB e 16 KB). Você pode querer instalar o kernel de 16k diretamente para garantir que o dispositivo funcione diretamente no modo de 16 KB antes de continuar a adicionar a opção de desenvolvedor. 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. Configure a variável do produto para exibir a opção do desenvolvedor nas configurações PRODUCT_16K_DEVELOPER_OPTION := true

  3. Defina o caminho do kernel usando BOARD_KERNEL_PATH_16K . Este kernel deve ser compilado com CONFIG_ARM64_16K_PAGES=y.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. Defina o caminho de configuração dos módulos BOARD_KERNEL_MODULES_16K . Isto aponta para módulos do kernel que suportam 16 KB. Definir esses parâmetros criará dois 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). Habilite 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. Opcional, e a maioria dos dispositivos não deve definir isso.

Verificação

Depois de configurar isso com sucesso

  1. A alternância de 16 KB é visível no aplicativo de configurações com "Inicialização com tamanho de página de 16 KB".
  2. /system/boot_otas ou /vendor/boot_otas contém dois arquivos zip OTA - boot_ota_16k.zip e boot_ota_4k.zip .

Usar alternância de 16 KB

  1. Habilite as opções do desenvolvedor conforme indicado na documentação de opções de desenvolvimento .
  2. Se o dispositivo for detectado como bloqueado pelo OEM, uma caixa de diálogo será exibida solicitando que o usuário desbloqueie o telefone pelo OEM. Siga as etapas para desbloquear o OEM .
  3. Quando o usuário clica em "Boot com tamanho de página de 16 KB", as partições /data e /metadata precisam ser ext4. Se não estiverem, uma caixa de diálogo será exibida para limpar o dispositivo.
  4. A alternância de 16 KB agora mostra uma caixa de diálogo de confirmação para mudar para 16 KB e, ao confirmar, os OTAs de inicialização são aplicados.

Verifique o modo de 16 KB

Siga as etapas para obter o tamanho da página para verificar o tamanho da página.