Schalter für 16 KB aktivieren

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 Subspeicherseitenblö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 16‑KB-Kernel direkt installieren, um sicherzustellen, dass das Gerät direkt im 16‑KB-Modus funktioniert, bevor Sie fortfahren und die Entwickleroption hinzufügen. Siehe 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 die Variable „modules config path“ (Modulkonfigurationspfad) BOARD_KERNEL_MODULES_16K fest. Diese Variable 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) und boot_ota_4k.zip(zum Wechsel zum 4‑KB-Kernel). Aktivieren Sie inkrementelle OTAs, indem Sie BOARD_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)
    
  5. Legen Sie BOARD_16K_OTA_MOVE_VENDOR := true fest, um OTAs in die Anbieterpartition zu verschieben. Legen Sie diese Option nur fest, um OTAs von der System- zur Anbieterpartition zu verschieben.

Bestätigung

Nachdem Sie die Ein/Aus-Schaltfläche konfiguriert haben, gehen Sie so vor:

  1. Prüfen Sie, ob die Option Mit Seitengröße von 16 KB starten in den Einstellungen angezeigt wird.
  2. Prüfen Sie, ob /system/boot_otas oder /vendor/boot_otas zwei OTA-Zip-Dateien enthält : boot_ota_16k.zip und boot_ota_4k.zip.

16 KB-Schalter verwenden

  1. Gehen Sie zu Einstellungen > System > Softwareupdates und wenden Sie alle verfügbaren Updates an.
  2. Aktivieren Sie die Entwickleroptionen. Eine Anleitung finden Sie unter Entwickleroptionen auf dem Gerät konfigurieren.
  3. Wenn das Gerät als OEM-seitig gesperrt erkannt wird, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, das Smartphone vom OEM zu entsperren. Eine Anleitung finden Sie unter Bootloader sperren und entsperren.
  4. Klicken Sie auf Mit Seitengröße von 16 KB starten. Wenn /data und /metadata nicht text4 sind, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, das Gerät zu löschen. Klicken Sie auf Alle Daten löschen, um das Gerät zu löschen. Das Gerät wird gelöscht und Sie müssen die Entwickleroptionen wieder aktivieren.
  5. Klicken Sie auf Mit Seitengröße von 16 KB starten. In einem Dialogfeld werden Sie aufgefordert, zu 16 KB zu wechseln. Wenn Sie dies bestätigen, werden OTAs für den Start 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.