Attiva l'opzione di attivazione/disattivazione di 16 kB

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

  1. 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
    
  2. Configura la variabile prodotto per visualizzare l'opzione Sviluppatore nelle impostazioni PRODUCT_16K_DEVELOPER_OPTION := true

  3. Imposta il percorso del kernel utilizzando BOARD_KERNEL_PATH_16K. Questo kernel deve essere creato con CONFIG_ARM64_16K_PAGES=y.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. 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) e boot_ota_4k.zip(per passare al kernel da 4 kB). Attiva gli OTA incrementali impostando BOARD_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)
    
  5. 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

  1. L'opzione di attivazione/disattivazione 16 kB è visibile nell'app Impostazioni con "Avvia con dimensioni pagina di 16 kB".
  2. /system/boot_otas o /vendor/boot_otas contiene due file ZIP OTA: boot_ota_16k.zip e boot_ota_4k.zip.

Usare l'opzione Attiva/Disattiva 16 KB

  1. Attiva le Opzioni sviluppatore come indicato nella documentazione relativa alle opzioni per sviluppatori.
  2. 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.
  3. 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.
  4. 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.