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 la configuración de destino del ejemplo de dispositivo virtual.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
Configura la variable de producto para que se muestre 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 al 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 a un kernel de 16 KB) yboot_ota_4k.zip
(para cambiar a 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 actualizaciones inalámbricas a la partición del proveedor. Este campo es opcional; la mayoría de los dispositivos no deben configurarlo.
Verificación
Después de configurar esta opción 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 OEM, aparecerá un diálogo para solicitar el usuario para desbloquear el teléfono con OEM. Sigue los pasos para desbloquear OEM.
- Cuando el usuario selecciona "Inicio con un tamaño de página de 16 KB",
/data
y/metadata
. particiones deben ser ext4. De lo contrario, aparecerá un diálogo para solicitar que que el usuario limpie el dispositivo. Respondiendo "Sí" limpia el dispositivo y tendrás para volver a activar estas opciones. - 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 entre 4 KB y 16 KB sin borrar la partición de datos a probar el comportamiento de la app.
Verifica 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.