Schalter für 16 KB aktivieren

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

  1. 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
    
  2. Produktvariable einrichten, um die Entwickleroptionen 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 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) und boot_ota_4k.zip(zum Wechseln zum 4‑KB-Kernel). Inkrementelle OTAs können aktiviert werden, 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 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:

  1. Prüfen Sie, ob der Schalter Mit Seitengröße von 16 KB starten in den Einstellungen angezeigt wird.
  2. Prüfe, 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. Gehe zu Einstellungen > System > Softwareupdates und installiere alle verfügbaren Updates.
  2. Aktivieren Sie die Entwickleroptionen. Eine Anleitung finden Sie unter Entwickleroptionen auf dem Gerät konfigurieren.
  3. 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.
  4. 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.