Il pulsante di attivazione/disattivazione 16 KB ti consente di provare un kernel da 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 con dimensioni di 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 creato conCONFIG_ARM64_16K_PAGES=y.
BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
Imposta il percorso di configurazione dei moduli
BOARD_KERNEL_MODULES_16K
. Indica i moduli del kernel che supportano 16 KB. L'impostazione di questi parametri creerà due OTA sulla partizione di sistema:boot_ota_16k.zip
(per passare al kernel da 16 kB) eboot_ota_4k.zip
(per passare al kernel da 4 kB). Attiva gli OTA incrementali impostandoBOARD_16K_OTA_USE_INCREMENTAL := true
per gli OTA di avvio più piccoli.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 le OTA nella partizione del fornitore. Facoltativo. La maggior parte dei dispositivi non dovrebbe impostarlo.
Verifica
Dopo aver completato la configurazione
- L'opzione di attivazione/disattivazione 16 kB è visibile nell'app Impostazioni con "Avvia con dimensioni pagina di 16 kB".
/system/boot_otas
o/vendor/boot_otas
contiene due file ZIP OTA:boot_ota_16k.zip
eboot_ota_4k.zip
.
Usare l'opzione Attiva/Disattiva 16 KB
- Attiva le Opzioni sviluppatore come indicato nella documentazione relativa alle opzioni per sviluppatori.
- Se il dispositivo viene rilevato come bloccato dall'OEM, viene visualizzata una finestra di dialogo che chiede all'utente di sbloccare lo smartphone dall'OEM. Segui i passaggi per lo sblocco dell'OEM.
- Quando l'utente fa clic su "Avvia con dimensione pagina di 16 kB", le partizioni
/data
e/metadata
devono essere ext4. In caso contrario, viene visualizzata una finestra di dialogo che chiede all'utente di resettare il dispositivo. Se rispondi "Sì", il dispositivo viene resettato e dovrai nuovamente attivare le opzioni sviluppatore. - Ora l'opzione di attivazione/disattivazione di 16 KB mostra una finestra di dialogo di conferma per passare a 16 KB. e, al termine della conferma, vengono applicate le OTA di avvio. Puoi quindi alternare tra la modalità da 4 e 16 kB senza cancellare la partizione 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.