Le bouton d'activation/de désactivation de 16 ko vous permet de tester un kernel de 16 ko. Ce bouton bascule entre un kernel de 4 ko et un kernel de 16 ko. Il se trouve dans le menu "Option pour les développeurs" de l'application Paramètres. Le bouton bascule 16 ko peut être utilisé pour vérifier la compatibilité de l'application avec le kernel 16 ko, mais il ne reflète peut-être pas les performances de l'appareil 16 ko réel en raison de l'utilisation de blocs de sous-pages (lorsque vous utilisez EXT4 pour les partitions /data
et /metadata
) en mode 16 ko.
Procédure de configuration du bouton d'activation/de désactivation
Assurez-vous que l'appareil a configuré les variables de manière agnostique de page (pour fonctionner avec les kernels de taille de page 4 ko et 16 ko). Vous pouvez installer directement le kernel 16 ko pour vous assurer que l'appareil fonctionne en mode 16 ko avant de continuer à ajouter l'option pour les développeurs. Consultez l'exemple de configuration cible de l'appareil virtuel.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
Configurer la variable produit pour afficher l'option pour les développeurs dans les paramètres
PRODUCT_16K_DEVELOPER_OPTION := true
Définissez le chemin d'accès au noyau à l'aide de
BOARD_KERNEL_PATH_16K
. Ce noyau doit être créé avecCONFIG_ARM64_16K_PAGES=y.
.BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
Définissez la variable de chemin de configuration des modules
BOARD_KERNEL_MODULES_16K
. Cette variable pointe vers des modules de kernel compatibles avec les pages de 16 ko. Définir ces paramètres crée deux OTA sur la partition système :boot_ota_16k.zip
(pour passer au kernel de 16 ko) etboot_ota_4k.zip
(pour passer au kernel de 4 ko). Activez les OTA incrémentielles en définissantBOARD_16K_OTA_USE_INCREMENTAL := true
pour les OTA de démarrage de petite taille.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)
Définissez
BOARD_16K_OTA_MOVE_VENDOR := true
pour déplacer les mises à jour OTA vers la partition du fournisseur. Définissez ce paramètre uniquement pour déplacer les OTA de la partition système vers la partition du fournisseur.
Validation
Une fois le bouton d'activation configuré, procédez comme suit:
- Vérifiez si l'option Démarrer avec une page de 16 ko est visible dans l'application Paramètres.
- Vérifiez si
/system/boot_otas
ou/vendor/boot_otas
contient deux fichiers ZIP OTA :boot_ota_16k.zip
etboot_ota_4k.zip
.
Utiliser le bouton d'activation/de désactivation des pages de 16 ko
- Accédez à Paramètres > Système > Mises à jour logicielles et appliquez les mises à jour disponibles.
- Activez les options pour les développeurs. Pour obtenir des instructions, consultez Configurer les options pour les développeurs sur l'appareil.
- Si l'appareil est détecté comme verrouillé par l'OEM, une boîte de dialogue s'affiche et vous invite à déverrouiller le téléphone par l'OEM. Pour obtenir des instructions, consultez Verrouiller et déverrouiller le bootloader.
- Cliquez sur Démarrer avec une page de 16 ko. Si
/data
et/metadata
ne sont pas en texte 4, une boîte de dialogue s'affiche et vous invite à effacer l'appareil. Cliquez sur Effacer toutes les données pour effacer l'appareil. L'appareil est effacé et vous devez réactiver les options pour les développeurs. - Cliquez sur Démarrer avec une page de 16 ko. Une boîte de dialogue s'affiche pour vous demander de passer à 16 ko. Une fois la confirmation effectuée, les OTA de démarrage sont appliqués. Vous pouvez ensuite basculer entre les modes 4 ko et 16 ko sans effacer la partition de données pour tester le comportement de l'application.
Vérifier le mode 16 ko
Pour vérifier la taille de la page, suivez la procédure décrite dans Obtenir la taille de la page.