Mit dem 16‑KB-Schalter können Sie einen 16‑KB-Kernel ausprobieren. Mit dieser Ein/Aus-Schaltfläche kann zwischen einem 4‑KB-Kernel und einem 16‑KB-Kernel gewechselt werden. Sie befindet sich in den Einstellungen im Menü „Entwickleroptionen“. Mit der 16‑KB-Schaltfläche kann die Kompatibilität von Anwendungen mit dem 16‑KB-Kernel geprüft werden. Die Leistung eines tatsächlichen 16‑KB-Geräts wird jedoch möglicherweise nicht widergespiegelt, da im 16‑KB-Modus Unterseitenblöcke verwendet werden (wenn EXT4 für die Partitionen /data
und /metadata
verwendet wird).
Schritte zum Konfigurieren des Schalters
Achten Sie darauf, dass auf dem Gerät die Variablen so eingerichtet sind, dass sie speicherseitenunabhängig sind und sowohl mit 4‑KB- als auch mit 16‑KB-Kerneln funktionieren. Möglicherweise möchten Sie den 16‑KB-Kernel direkt installieren, um sicherzustellen, dass das Gerät im 16‑KB-Modus funktioniert, bevor Sie die Entwickleroption hinzufügen. Beispiel für die Zielkonfiguration für ein virtuelles Gerät
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
Produktvariable einrichten, um die Entwickleroptionen in den Einstellungen anzuzeigen
PRODUCT_16K_DEVELOPER_OPTION := true
Legen Sie den Kernelpfad mit
BOARD_KERNEL_PATH_16K
fest. Dieser Kernel sollte mitCONFIG_ARM64_16K_PAGES=y.
erstellt werden.BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
Legen Sie die Variable für den Konfigurationspfad der Module
BOARD_KERNEL_MODULES_16K
fest. Diese Variable verweist auf Kernelmodule, die 16 KB unterstützen. Durch das Festlegen dieser Parameter werden zwei OTAs auf der Systempartition erstellt :boot_ota_16k.zip
(zum Wechseln zum 16‑KB-Kernel) undboot_ota_4k.zip
(zum Wechseln zum 4‑KB-Kernel). Inkrementelle OTAs können aktiviert werden, indem SieBOARD_16K_OTA_USE_INCREMENTAL := true
für kleinere Boot-OTAs festlegen.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)
Legen Sie
BOARD_16K_OTA_MOVE_VENDOR := true
fest, um OTAs in die Anbieterpartition zu verschieben. Legen Sie dies nur fest, um OTAs von der System- auf die Anbieterpartition zu verschieben.
Bestätigung
Nachdem Sie den Schalter erfolgreich konfiguriert haben, führen Sie die folgenden Schritte aus:
- Prüfen Sie, ob der Schalter Mit Seitengröße von 16 KB starten in den Einstellungen angezeigt wird.
- Prüfe, ob
/system/boot_otas
oder/vendor/boot_otas
zwei OTA-ZIP-Dateien enthält :boot_ota_16k.zip
undboot_ota_4k.zip
.
16‑KB-Schalter verwenden
- Gehe zu Einstellungen > System > Softwareupdates und installiere alle verfügbaren Updates.
- Aktivieren Sie die Entwickleroptionen. Eine Anleitung finden Sie unter Entwickleroptionen auf dem Gerät konfigurieren.
- Wenn das Gerät als OEM-gesperrt erkannt wird, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, das Smartphone OEM-seitig zu entsperren. Eine Anleitung dazu finden Sie unter Bootloader sperren und entsperren.
- Klicken Sie auf Mit Seitengröße von 16 KB starten. Wenn
/data
und/metadata
nicht ext4 sind, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, das Gerät zu löschen. Klicken Sie auf Alle Daten löschen und aktualisieren, um das Gerät zu löschen und Boot-OTAs anzuwenden. Das Gerät wird zurückgesetzt und startet im 16‑KB-Modus. Aktivieren Sie die Entwickleroptionen noch einmal. Sie können dann zwischen dem 4‑KB- und dem 16‑KB-Modus wechseln, ohne die Datenpartition zu löschen, um das App-Verhalten zu testen.
16‑KB-Modus prüfen
Folgen Sie der Anleitung unter Seitengröße abrufen, um die Seitengröße zu prüfen.