Le bouton bascule 16 Ko vous permet d'essayer 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 "Options pour les développeurs" de l'application Paramètres. Le bouton bascule de 16 ko peut être utilisé pour vérifier la compatibilité des applications avec le kernel de 16 ko, mais il ne reflète pas nécessairement les performances d'un véritable appareil de 16 ko en raison de l'utilisation de blocs de sous-page (lors de l'utilisation d'EXT4 pour les partitions /data
et /metadata
) en mode 16 ko.
Étapes de configuration du bouton bascule
Assurez-vous que l'appareil a configuré les variables pour être agnostique de page (afin de fonctionner avec les kernels de taille de page 4 ko et 16 ko). Vous pouvez installer le kernel 16 ko directement 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 développeur 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 les modules du noyau qui prennent en charge 16 Ko. La définition de 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 mises à jour OTA incrémentielles en définissantBOARD_16K_OTA_USE_INCREMENTAL := true
pour les mises à jour 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. Ne définissez ce paramètre que pour déplacer les mises à jour OTA de la partition système vers la partition du fournisseur.
Validation
Une fois le bouton bascule 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
contiennent deux fichiers zip OTA :boot_ota_16k.zip
etboot_ota_4k.zip
.
Utiliser le bouton bascule 16 Ko
- Accédez à Paramètres > Système > Mises à jour logicielles et installez 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 demande de déverrouiller l'OEM du téléphone. 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 au format ext4, une boîte de dialogue s'affiche pour vous demander d'effacer l'appareil. Cliquez sur Effacer toutes les données et mettre à jour pour effacer l'appareil et appliquer les OTA de démarrage. L'appareil est réinitialisé et démarre en mode 16 ko. Réactivez les options pour les développeurs. Vous pouvez ensuite basculer entre le mode 4 ko et le mode 16 ko sans effacer la partition de données pour tester le comportement de l'application.
Vérifier le mode 16 ko
Suivez les étapes décrites dans Obtenir la taille de la page pour vérifier la taille de la page.