Mit der Ein/Aus-Schaltfläche für 16 KB können Sie einen 16 KB-Kernel ausprobieren. Mit dieser Ein/Aus-Schaltfläche können Sie zwischen einem 4‑KB-Kernel und einem 16‑KB-Kernel wechseln. Sie finden sie in den Einstellungen im Menü „Entwickleroptionen“. Mit der 16‑KB-Ein/Aus-Schaltfläche können Sie die Anwendungskompatibilität mit dem 16‑KB-Kernel prüfen. Die Leistung des tatsächlichen 16‑KB-Geräts wird jedoch möglicherweise nicht korrekt widergespiegelt, da im 16‑KB-Modus Subpage-Blöcke verwendet werden (bei Verwendung von EXT4 für /data
- und /metadata
-Partitionen).
Schritte zum Konfigurieren des Ein-/Aus-Schalters
Achten Sie darauf, dass die Variablen auf dem Gerät speicherseitenunabhängig eingerichtet sind, damit sie sowohl mit Kerneln mit einer Seitengröße von 4 KB als auch mit Kerneln mit einer Seitengröße von 16 KB funktionieren. Sie können den 16k-Kernel direkt installieren, um sicherzustellen, dass das Gerät direkt im 16 KB-Modus funktioniert, bevor Sie fortfahren und die Entwickleroption hinzufügen. Siehe Zielkonfiguration für virtuelle Geräte.
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
Produktvariable einrichten, um Entwickleroption 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 den Pfad zur Modulkonfiguration
BOARD_KERNEL_MODULES_16K
fest. Dies verweist auf Kernelmodule, die 16 KB unterstützen. Wenn Sie diese Parameter festlegen, werden zwei OTAs in der Systempartition erstellt:boot_ota_16k.zip
(zum Wechsel zum 16‑KB-Kernel) undboot_ota_4k.zip
(zum Wechsel zum 4‑KB-Kernel). Aktivieren Sie inkrementelle OTAs, 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. Optional. Bei den meisten Geräten sollte dies nicht festgelegt werden.
Bestätigung
Nach der erfolgreichen Einrichtung
- Die Option „16 KB“ ist in den Einstellungen unter „Mit Seitengröße von 16 KB starten“ zu sehen.
/system/boot_otas
oder/vendor/boot_otas
enthält zwei OTA-ZIP-Dateien:boot_ota_16k.zip
undboot_ota_4k.zip
.
16 KB-Schalter verwenden
- Aktivieren Sie die Entwickleroptionen wie in der Dokumentation zu Entwickleroptionen beschrieben.
- Wenn das Gerät als vom Hersteller gesperrt erkannt wird, wird ein Dialogfeld angezeigt, in dem der Nutzer aufgefordert wird, das Smartphone vom Hersteller zu entsperren. Folgen Sie der Anleitung unter OEM-Sperre aufheben.
- Wenn der Nutzer auf „Mit Seitengröße von 16 KB starten“ klickt, müssen die Partitionen
/data
und/metadata
ext4 sein. Andernfalls wird ein Dialogfeld angezeigt, in dem der Nutzer aufgefordert wird, das Gerät zu löschen. Wenn Sie „Ja“ auswählen, wird das Gerät gelöscht und Sie müssen die Entwickleroptionen noch einmal aktivieren. - Beim Umschalten auf 16 KB wird jetzt ein Bestätigungsdialogfeld angezeigt. Wenn Sie bestätigen, werden Boot-OTAs angewendet. 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.