Activar el botón de activación de 16 KB

El botón de activación de 16 KB te permite probar un kernel de 16 KB. Este botón de activación cambia entre un kernel de 4 KB y uno de 16 KB, y se puede encontrar en el menú "Opciones para desarrolladores" de la app de configuración. El botón de activación de 16 KB se puede usar para verificar la compatibilidad de la aplicación con el kernel de 16 KB, pero es posible que no refleje el rendimiento de un dispositivo real de 16 KB debido al uso de bloques de subpáginas (cuando se usa EXT4 para las particiones /data y /metadata) en el modo de 16 KB.

Pasos para configurar el botón de activación

  1. Asegúrate de que el dispositivo haya configurado las variables para que sean independientes de la página (para trabajar con kernels de tamaño de página de 4 KB y 16 KB). Te recomendamos que instales el kernel de 16 KB directamente para asegurarte de que el dispositivo funcione en el modo de 16 KB antes de continuar agregando la opción para desarrolladores. Consulta el ejemplo de configuración de destino del dispositivo virtual.

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. Configura la variable del producto para mostrar la opción para desarrolladores en la configuración PRODUCT_16K_DEVELOPER_OPTION := true

  3. Configura la ruta del kernel con BOARD_KERNEL_PATH_16K. Este kernel se debe compilar con CONFIG_ARM64_16K_PAGES=y..

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. Establece la variable de ruta de acceso de configuración de los módulos BOARD_KERNEL_MODULES_16K. Esta variable apunta a los módulos del kernel que admiten 16 KB. Establecer estos parámetros crea dos OTA en la partición del sistema : boot_ota_16k.zip(para cambiar al kernel de 16 KB) y boot_ota_4k.zip(para cambiar al kernel de 4 KB). Habilita las OTA incrementales configurando BOARD_16K_OTA_USE_INCREMENTAL := true para las OTA de inicio de menor tamaño.

      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. Establece BOARD_16K_OTA_MOVE_VENDOR := true para mover las OTA a la partición del proveedor. Solo se debe configurar para mover las OTA del sistema a la partición del proveedor.

Verificación

Después de configurar correctamente el botón de activación, sigue estos pasos:

  1. Verifica si el botón de activación Iniciar en tamaño de página 16 KB está visible en la app de configuración.
  2. Comprueba si /system/boot_otas o /vendor/boot_otas contienen dos archivos .zip de OTA : boot_ota_16k.zip y boot_ota_4k.zip.

Usar el botón de activación de 16 KB

  1. Ve a Configuración > Sistema > Actualizaciones de software y aplica las actualizaciones disponibles.
  2. Habilita las opciones para desarrolladores. Para obtener instrucciones, consulta Cómo configurar las opciones para desarrolladores en el dispositivo.
  3. Si se detecta que el dispositivo está bloqueado por el OEM, aparecerá un diálogo en el que se te pedirá que lo desbloquees. Para obtener instrucciones, consulta Cómo bloquear y desbloquear el bootloader.
  4. Haz clic en Boot with 16 KB page size. Si /data y /metadata no son ext4, se mostrará un diálogo en el que se te pedirá que borres los datos del dispositivo. Haz clic en Borrar todos los datos y actualizar para limpiar el dispositivo y aplicar las OTA de arranque. Se borran los datos del dispositivo y se inicia en el modo de 16 KB. Vuelve a habilitar las opciones para desarrolladores. Luego, puedes alternar entre el modo de 4 KB y el de 16 KB sin borrar la partición de datos para probar el comportamiento de la app.

Verificar el modo de 16 KB

Sigue los pasos que se indican en cómo obtener el tamaño de la página para verificar el tamaño de la página.