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ú "Opción 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 del dispositivo real de 16 KB debido al uso de bloques de subpáginas (cuando se usa EXT4 para 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 que funcionen con kernels de tamaño de página de 4 KB y 16 KB). Te recomendamos que instales el kernel de 16 K directamente para asegurarte de que el dispositivo funcione en el modo de 16 KB antes de continuar con la adición de 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 de 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 configuración de los módulos BOARD_KERNEL_MODULES_16K. Esta variable apunta a módulos de kernel que admiten 16 KB. Si configuras estos parámetros, se crean 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). Para habilitar las actualizaciones OTA incrementales, configura BOARD_16K_OTA_USE_INCREMENTAL := true para las actualizaciones OTA de inicio de tamaño más pequeñ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 actualizaciones OTA a la partición del proveedor. Solo configúralo para mover las actualizaciones 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 se puede ver en la app de configuración.
  2. Comprueba si /system/boot_otas o /vendor/boot_otas contiene dos archivos ZIP OTA : boot_ota_16k.zip y boot_ota_4k.zip.

Usa 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 desbloquees el teléfono con el OEM. 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, aparecerá un diálogo en el que se te pedirá que borres el dispositivo. Haz clic en Borrar todos los datos para limpiar el dispositivo. Se borrará el dispositivo y deberás volver a habilitar las opciones para desarrolladores.
  5. Haz clic en Boot with 16 KB page size. Aparecerá un diálogo en el que se te pedirá que cambies a 16 KB y, cuando confirmes, se aplicarán las actualizaciones OTA de inicio. Luego, puedes cambiar entre los modos de 4 KB y 16 KB sin borrar la partición de datos para probar el comportamiento de la app.

Cómo verificar el modo de 16 KB

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