El botón de activación de 16 KB te permite probar un kernel de 16 KB. Este interruptor
entre un kernel de 4 KB y un kernel de 16 KB, y se encuentran en el
"Opción para desarrolladores" en 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
reflejan 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 modo de 16 KB.
Pasos para configurar el botón de activación
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 de 16 KB). Es posible que quieras instalar el kernel de 16k directamente para asegurarte de que el dispositivo funcione en modo de 16 KB directamente 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
Configura la variable del producto para mostrar la opción para desarrolladores en la configuración
PRODUCT_16K_DEVELOPER_OPTION := true
Configura la ruta de acceso del kernel con
BOARD_KERNEL_PATH_16K
. Este kernel debe compilarse conCONFIG_ARM64_16K_PAGES=y.
.BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
Establece la ruta de configuración de módulos
BOARD_KERNEL_MODULES_16K
. Esto apunta a los módulos del kernel que admiten 16 KB. Si configuras estos parámetros, se crearán dos OTA en la partición del sistema:boot_ota_16k.zip
(para cambiar al kernel de 16 KB) yboot_ota_4k.zip
(para cambiar al kernel de 4 KB). Habilita las OTA incrementales: ConfiguraBOARD_16K_OTA_USE_INCREMENTAL := true
para 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)
Configura
BOARD_16K_OTA_MOVE_VENDOR := true
para mover las OTA a la partición del proveedor. Este campo es opcional; la mayoría de los dispositivos no deben configurarlo.
Verificación
Después de configurarlo correctamente
- El botón de activación de 16 KB se puede ver en la app de configuración con "Inicio con un tamaño de página de 16 KB".
/system/boot_otas
o/vendor/boot_otas
contienen dos archivos ZIP inalámbricos:boot_ota_16k.zip
yboot_ota_4k.zip
.
Usa el botón de activación de 16 KB
- Habilita las opciones para desarrolladores como se indica en la documentación sobre opciones para desarrolladores.
- Si se detecta que el dispositivo está bloqueado por el OEM, aparecerá un diálogo para solicitarle al usuario que desbloquee el teléfono con el OEM. Sigue los pasos para desbloquear el OEM.
- Cuando el usuario presiona "Iniciar en tamaño de página de 16 KB", las particiones
/data
y/metadata
deben ser ext4. Si no es así, aparecerá un diálogo para solicitarle al usuario que borre el dispositivo. Si respondes "Sí", se borrará el dispositivo y deberás volver a activar las opciones para desarrolladores. - El botón de activación de 16 KB ahora muestra un diálogo de confirmación para cambiar a 16 KB y, luego de confirmar, se aplican las OTA de inicio. Luego, puedes alternar 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.