À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Activer le bouton d'activation des pages de 16 ko
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Le bouton d'activation/de désactivation de 16 ko vous permet de tester un kernel de 16 ko. Ce bouton bascule permet de passer d'un kernel de 4 ko à 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éé avec CONFIG_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) et boot_ota_4k.zip
(pour passer au kernel de 4 ko). Activez les OTA incrémentielles en définissant BOARD_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 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
et boot_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 ext4, 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.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Enable 16 KB toggle\n\n16 KB toggle lets you to try a 16 KB kernel. This toggle switches\nbetween a 4 KB kernel and 16 KB kernel and can be found inside the\n\"Developer option\" menu in the settings app. The 16 KB toggle can be used\nto check application compatibility with the 16 KB kernel, but it might not\nreflect performance of actual 16 KB device due to the use of subpage blocks\n(when using EXT4 for `/data` and `/metadata` partitions) in 16 KB mode.\n\nSteps for configuring toggle\n----------------------------\n\n1. Make sure the device has set up the variables to be page-agnostic (to work\n with both 4 KB and 16 KB page size kernels).\n You may want to install the 16k kernel directly to make sure the device works in\n 16 KB mode directly before continuing to add the developer option.\n See the virtual device example [target config](https://cs.android.com/android/platform/superproject/+/android-latest-release:device/google/cuttlefish/vsoc_arm64_pgagnostic/phone/aosp_cf.mk;l=68).\n\n PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true\n PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384\n\n2. Setup product variable to display developer option in settings\n `PRODUCT_16K_DEVELOPER_OPTION := true`\n\n3. Set kernel path using `BOARD_KERNEL_PATH_16K`.\n This kernel should be built with `CONFIG_ARM64_16K_PAGES=y.`\n\n BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.\n\n4. Set modules config path variable `BOARD_KERNEL_MODULES_16K`. This variable\n points to kernel modules which support 16KB. Setting these parameters creates\n two OTAs on the system partition : `boot_ota_16k.zip`(to switch to 16 KB\n kernel) and `boot_ota_4k.zip`(to switch to 4 KB kernel). Enable incremental\n OTAs by setting `BOARD_16K_OTA_USE_INCREMENTAL := true` for smaller size boot\n OTAs.\n\n BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)\n BOARD_KERNEL_MODULES_16K += $(wildcard kernel/prebuilts/common-modules/virtual-device/mainline/$(TARGET_KERNEL_ARCH)/16k/*.ko)\n\n5. Set `BOARD_16K_OTA_MOVE_VENDOR := true` to move OTAs to the vendor partition.\n Only set this to move OTAs from system to vendor partition.\n\n### Verification\n\nAfter successfully configuring the toggle, follow these steps:\n\n1. Check if **Boot with 16 KB page size** toggle is visible in settings app.\n2. Check if `/system/boot_otas` or `/vendor/boot_otas` contains two OTA zip files : `boot_ota_16k.zip` and `boot_ota_4k.zip`.\n\nUse 16 KB toggle\n----------------\n\n1. Go to **Settings \\\u003e System \\\u003e Software updates** and apply any updates which are available.\n2. Enable developer options. For instructions, see [Configure on-device developer options](https://developer.android.com/studio/debug/dev-options).\n3. If the device is detected as OEM locked, a dialog displays asking you to OEM unlock the phone. For instructions, see [Lock and unlock the bootloader](/docs/core/architecture/bootloader/locking_unlocking).\n4. Click **Boot with 16 KB page size** . If `/data` and `/metadata`aren't ext4, a dialog displays asking you to wipe the device. Click **Erase all data** to wipe the device. The device is wiped and you must enable developer options again.\n5. Click **Boot with 16 KB page size**. A dialog displays asking you to switch to 16 KB, and on confirming, boot OTAs are applied. You can then toggle back and forth between 4 KB and 16 KB mode without clearing the data partition to test app behavior.\n\nCheck 16 KB Mode\n----------------\n\nFollow steps at [getting page size](/docs/core/architecture/16kb-page-size/getting-page-size)\nto verify page size."]]