Le bouton d'activation/de désactivation 16 Ko vous permet d'essayer un noyau de 16 Ko. Ce bouton bascule
entre un noyau de 4 Ko et un noyau de 16 Ko, et se trouvent dans le
"Options pour les développeurs" dans l'application Paramètres. Le bouton d'activation/de désactivation de 16 Ko peut être utilisé
pour vérifier la compatibilité de l'application avec le noyau de 16 Ko,
reflètent les performances réelles de l'appareil de 16 Ko 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 le noyau 16K directement pour vous assurer que le périphérique fonctionne 16 Ko directement avant de continuer à ajouter l'option pour les développeurs. Consultez l'exemple d'appareil virtuel configuration cible.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
Configurez une variable de 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éfinit le chemin d'accès de configuration des modules
BOARD_KERNEL_MODULES_16K
. Il pointe vers le noyau compatibles avec une taille de 16 Ko. Définir ces paramètres créera deux OTA sur le partition système -boot_ota_16k.zip
(pour passer à un noyau de 16 Ko) etboot_ota_4k.zip
(pour passer à un kernel de 4 Ko). Activez les OTA incrémentielles en définissantBOARD_16K_OTA_USE_INCREMENTAL := true
pour les OTA de démarrage de plus 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 OTA vers la partition du fournisseur. Facultatif. La plupart des appareils ne doivent pas définir cette valeur.
Validation
Une fois la configuration terminée
- Le bouton "Démarrage avec une taille de page de 16 Ko" est visible dans l'application Paramètres.
/system/boot_otas
ou/vendor/boot_otas
contient deux fichiers ZIP OTA :boot_ota_16k.zip
etboot_ota_4k.zip
.
Activer/Désactiver 16 Ko
- Activez les options pour les développeurs en suivant les instructions de la documentation sur les options pour les développeurs.
- Si l'appareil est détecté comme verrouillé par l'OEM, une boîte de dialogue s'affiche pour demander à l'utilisateur de déverrouiller le téléphone par l'OEM. Suivez la procédure de déverrouillage par l'OEM.
- Lorsque l'utilisateur clique sur "Démarrer avec une taille de page de 16 Ko",
/data
et/metadata
les partitions doivent être de type ext4. Si ce n'est pas le cas, une boîte de dialogue s'affiche pour demander à l'utilisateur d'effacer l'appareil. Si vous répondez "Oui", l'appareil sera effacé et vous devrez réactiver les options pour les développeurs. - Le bouton d'activation de 16 ko affiche désormais une boîte de dialogue de confirmation pour passer à 16 ko. Une fois la confirmation effectuée, les mises à jour OTA de démarrage sont appliquées. Vous pouvez ensuite basculer entre les modes 4 kB et 16 kB sans effacer la partition de données pour tester le comportement de l'application.
Vérifier le mode 16 kB
Pour vérifier la taille de la page, suivez la procédure décrite dans Obtenir la taille de la page.