A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Attivare l'opzione per attivare/disattivare le pagine di memoria di 16 kB
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Il pulsante di attivazione/disattivazione 16 KB ti consente di provare un kernel a 16 KB. Questo pulsante di attivazione/disattivazione consente di passare da un kernel a 4 kB a un kernel a 16 kB e si trova nel menu "Opzione sviluppatore" dell'app Impostazioni. Il pulsante di attivazione/disattivazione a 16 kB può essere utilizzato per verificare la compatibilità dell'applicazione con il kernel a 16 kB, ma potrebbe non riflettere le prestazioni del dispositivo a 16 kB effettivo a causa dell'utilizzo di blocchi di sottopagine (se si utilizza EXT4 per le partizioni /data
e /metadata
) in modalità a 16 kB.
Passaggi per la configurazione dell'opzione di attivazione/disattivazione
Assicurati che sul dispositivo le variabili siano impostate come indipendenti dalla pagina (per funzionare con kernel di dimensioni pagina di 4 e 16 kB).
Ti consigliamo di installare direttamente il kernel a 16 kB per assicurarti che il dispositivo funzioni in modalità
16 KB prima di continuare ad aggiungere l'opzione sviluppatore.
Consulta l'esempio di target config per il dispositivo virtuale.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
Configura la variabile prodotto per visualizzare l'opzione sviluppatore nelle impostazioni
PRODUCT_16K_DEVELOPER_OPTION := true
Imposta il percorso del kernel utilizzando BOARD_KERNEL_PATH_16K
.
Questo kernel deve essere compilato con CONFIG_ARM64_16K_PAGES=y.
BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
Imposta la variabile del percorso di configurazione dei moduli BOARD_KERNEL_MODULES_16K
. Questa variabile
indica i moduli del kernel che supportano 16 KB. L'impostazione di questi parametri crea due OTA nella partizione di sistema : boot_ota_16k.zip
(per passare al kernel a 16 KB) e boot_ota_4k.zip
(per passare al kernel a 4 KB). Attiva gli OTA incrementali impostando BOARD_16K_OTA_USE_INCREMENTAL := true
per gli OTA di avvio di dimensioni ridotte.
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)
Imposta BOARD_16K_OTA_MOVE_VENDOR := true
per spostare gli OTA nella partizione del fornitore.
Imposta questa opzione solo per spostare gli OTA dalla partizione di sistema a quella del fornitore.
Verifica
Dopo aver configurato correttamente l'opzione, segui questi passaggi:
- Controlla se l'opzione di attivazione/disattivazione Avvia con dimensione pagina 16 KB è visibile nell'app Impostazioni.
- Controlla se
/system/boot_otas
o /vendor/boot_otas
contiene due file ZIP OTA : boot_ota_16k.zip
e boot_ota_4k.zip
.
Attiva/disattiva 16 KB
- Vai a Impostazioni > Sistema > Aggiornamenti software e applica gli aggiornamenti disponibili.
- Attiva le opzioni sviluppatore. Per le istruzioni, vedi Configurare le opzioni per sviluppatori sul dispositivo.
- Se il dispositivo viene rilevato come bloccato dall'OEM, viene visualizzata una finestra di dialogo che ti chiede di sbloccare lo smartphone dall'OEM. Per istruzioni, vedi Bloccare e sbloccare il bootloader.
- Fai clic su Avvia con dimensione pagina di 16 KB. Se
/data
e /metadata
non sono ext4, viene visualizzata una finestra di dialogo che ti chiede di resettare il dispositivo. Fai clic su
Cancella tutti i dati per resettare il dispositivo. Il dispositivo viene resettato e devi attivare di nuovo le opzioni sviluppatore.
- Fai clic su Avvia con dimensione pagina di 16 KB. Viene visualizzata una finestra di dialogo che ti chiede di passare a 16 KB e, dopo la conferma, vengono applicate le OTA di avvio. Puoi quindi attivare e disattivare la modalità a 4 KB e a 16 KB senza cancellare la partizione dei dati per testare il comportamento dell'app.
Verifica la modalità a 16 KB
Segui i passaggi descritti nella sezione Ottenere le dimensioni della pagina per verificare le dimensioni della pagina.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]