Schalter für 16 KB aktivieren

Mit der 16-KB-Schaltfläche können Sie einen 16-KB-Kernel testen. 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

  1. Die Variablen müssen auf dem Gerät speicherseitenunabhängig eingerichtet sein, 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 in 16 KB speichern, bevor Sie die Entwickleroption hinzufügen. Hier finden Sie ein Beispiel für die Zielkonfiguration für virtuelle Geräte.

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. Produktvariable einrichten, um Entwickleroption in den Einstellungen anzuzeigen PRODUCT_16K_DEVELOPER_OPTION := true

  3. Legen Sie den Kernelpfad mit BOARD_KERNEL_PATH_16K fest. Dieser Kernel sollte mit CONFIG_ARM64_16K_PAGES=y. erstellt werden.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. Legen Sie den Pfad zur Modulkonfiguration BOARD_KERNEL_MODULES_16K fest. Dies verweist auf den Kernel Module, 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) und boot_ota_4k.zip (zum Wechsel zum 4‑KB-Kernel). Inkrementelle OTAs aktivieren durch Einstellung BOARD_16K_OTA_USE_INCREMENTAL := true für kleinere Boot-OTAs.

      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. 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

  1. In der App „Einstellungen“ ist die Option „Mit einer Seitengröße von 16 KB starten“ zu sehen.
  2. /system/boot_otas oder /vendor/boot_otas enthält zwei OTA-ZIP-Dateien: boot_ota_16k.zip und boot_ota_4k.zip.

16 KB-Modus verwenden

  1. Aktivieren Sie die Entwickleroptionen wie in der Dokumentation zu Entwickleroptionen beschrieben.
  2. Wenn erkannt wird, dass das Gerät vom OEM gesperrt wurde, wird ein Dialogfeld angezeigt, in dem Sie den zum Entsperren des Smartphones durch den OEM. Folgen Sie der Anleitung unter OEM-Sperre aufheben.
  3. Wenn der Nutzer auf „Mit Seitengröße von 16 KB starten“ klickt, müssen die Partitionen /data und /metadata ext4 sein. Ist dies nicht der Fall, wird ein Dialogfeld angezeigt, das Gerät zu löschen. Antwort mit „Ja“ werden die Daten auf dem Gerät gelöscht. um die Entwickleroptionen wieder zu aktivieren.
  4. Beim Umschalten auf 16 KB wird jetzt ein Bestätigungsdialogfeld angezeigt. Wenn Sie bestätigen, werden Boot-OTAs angewendet. Anschließend können Sie zwischen zwischen 4 KB und 16 KB groß, ohne die Datenpartition zu löschen, App-Verhalten zu testen.

16‑KB-Modus prüfen

Folgen Sie der Anleitung unter Seitengröße abrufen, um die Seitengröße zu prüfen.