Aktivieren Sie die 16-KB-Umschaltung

Mit dem 16-KB-Schalter können Sie einen 16-KB-Kernel ausprobieren. Dadurch wird zwischen einem 4-KB-Kernel und einem 16-KB-Kernel umgeschaltet. Dieser Schalter befindet sich im Menü „Entwickleroptionen“ in der Einstellungs-App. Es muss für das Gerät einzeln aktiviert werden.

Schritte zum Konfigurieren des Umschalters

  1. Stellen Sie sicher, dass das Gerät die Variablen so eingerichtet hat, dass sie seitenunabhängig sind (um sowohl mit Kerneln mit einer Seitengröße von 4 KB als auch mit einer Seitengröße von 16 KB zu funktionieren). Möglicherweise möchten Sie den 16-KB-Kernel direkt installieren, um sicherzustellen, dass das Gerät direkt im 16-KB-Modus funktioniert, bevor Sie mit dem Hinzufügen der Entwickleroption fortfahren. Sehen Sie sich die Beispielzielkonfiguration für ein virtuelles Gerät an.

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. Richten Sie die Produktvariable ein, um die 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.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. Legen Sie den Modulkonfigurationspfad BOARD_KERNEL_MODULES_16K fest. Dies weist auf Kernelmodule hin, die 16 KB unterstützen. Durch 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). 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. Setzen Sie BOARD_16K_OTA_MOVE_VENDOR := true um OTAs in die Anbieterpartition zu verschieben. Optional, und die meisten Geräte sollten dies nicht festlegen.

Überprüfung

Nach erfolgreicher Einrichtung

  1. Die 16-KB-Umschaltung ist in der Einstellungs-App mit „Booten mit 16-KB-Seitengröße“ sichtbar.
  2. /system/boot_otas oder /vendor/boot_otas enthält zwei OTA-ZIP-Dateien – boot_ota_16k.zip und boot_ota_4k.zip .

Verwenden Sie die 16-KB-Umschaltung

  1. Aktivieren Sie Entwickleroptionen gemäß den Anweisungen in der Dokumentation zu Entwicklungsoptionen .
  2. Wenn erkannt wird, dass das Gerät vom OEM gesperrt ist, wird ein Dialogfeld angezeigt, in dem der Benutzer aufgefordert wird, das Telefon vom OEM zu entsperren. Befolgen Sie die Schritte zum OEM-Entsperren .
  3. Wenn der Benutzer auf „Booten mit 16 KB Seitengröße“ klickt, müssen die Partitionen /data und /metadata ext4 sein. Ist dies nicht der Fall, wird ein Dialogfeld zum Löschen des Geräts angezeigt.
  4. Beim Umschalten auf 16 KB wird jetzt ein Bestätigungsdialog zum Wechseln auf 16 KB angezeigt. Bei der Bestätigung werden Start-OTAs angewendet.

Überprüfen Sie den 16-KB-Modus

Befolgen Sie die Schritte zum Ermitteln der Seitengröße , um die Seitengröße zu überprüfen.