Włącz przełącznik 16 KB

Przełącznik 16 KB umożliwia wypróbowanie jądra 16 KB. Ten przełącznik umożliwia przełączanie się między jądrem systemu 4 KB a jądrem systemu 16 KB. Znajduje się w menu „Opcje programisty” w aplikacji Ustawienia. Przełącznik 16 KB można używać do sprawdzania zgodności aplikacji z jądrem systemu 16 KB, ale ze względu na używanie bloków podstron (w przypadku korzystania z systemu EXT4 na partycjach /data/metadata) w trybie 16 KB może nie odzwierciedlać wydajności rzeczywistego urządzenia 16 KB.

Konfigurowanie przełącznika

  1. Upewnij się, że na urządzeniu skonfigurowano zmienne tak, aby były niezależne od rozmiaru strony (działały zarówno z jądrami o rozmiarze strony 4 KB, jak i 16 KB). Aby mieć pewność, że urządzenie działa w trybie 16 KB, możesz zainstalować jądro 16 KB bezpośrednio przed dodaniem opcji dla programistów. Zobacz przykładowe konfigurację urządzenia wirtualnego.

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. Skonfiguruj zmienną produktu, aby wyświetlać opcje programisty w ustawieniach PRODUCT_16K_DEVELOPER_OPTION := true

  3. Ustaw ścieżkę jądra za pomocą BOARD_KERNEL_PATH_16K. Ten kernel powinien być zbudowany za pomocą CONFIG_ARM64_16K_PAGES=y.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. Ustaw zmienną ścieżki konfiguracji modułów BOARD_KERNEL_MODULES_16K. Ta zmienna wskazuje moduły jądra, które obsługują strony pamięci o rozmiarze 16 KB. Ustawienie tych parametrów powoduje utworzenie 2 aktualizacji OTA na partycji systemowej : boot_ota_16k.zip(aby przełączyć się na jądro 16 KB) i boot_ota_4k.zip(aby przełączyć się na jądro 4 KB). Włącz przyrostowe aktualizacje OTA, ustawiając BOARD_16K_OTA_USE_INCREMENTAL := true dla mniejszych aktualizacji OTA.

      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. Ustaw BOARD_16K_OTA_MOVE_VENDOR := true, aby przenieść OTAs do partycji dostawcy. Ustaw to tylko w przypadku przenoszenia aktualizacji OTA z partycji systemowej do partycji dostawcy.

Weryfikacja

Po skonfigurowaniu przełącznika wykonaj te czynności:

  1. Sprawdź, czy w aplikacji Ustawienia widoczny jest przełącznik Uruchom ze stroną 16 KB.
  2. Sprawdź, czy /system/boot_otas lub /vendor/boot_otas zawiera 2 pliki ZIP OTA : boot_ota_16k.zipboot_ota_4k.zip.

Używanie przełącznika 16 KB

  1. Otwórz Ustawienia > System > Aktualizacje oprogramowania i zastosuj dostępne aktualizacje.
  2. Włącz opcje programisty. Instrukcje znajdziesz w artykule Konfigurowanie opcji programisty na urządzeniu.
  3. Jeśli urządzenie zostanie wykryte jako zablokowane przez producenta, pojawi się okno dialogowe z prośbą o odblokowanie telefonu. Instrukcje znajdziesz w artykule Blokowanie i odblokowywanie programu rozruchowego. Jeśli sprzęt urządzenia w pełni obsługuje 16 KB, zdjęcie blokady OEM może nie być wymagane i możesz pominąć ten krok.

  4. Kliknij Uruchom z rozmiarem strony 16 KB. Jeśli /data/metadata nie są w formacie ext4, pojawi się okno dialogowe z prośbą o wyczyszczenie urządzenia. Kliknij Usuń wszystkie dane i zaktualizuj, aby wyczyścić urządzenie i zastosować aktualizacje OTAs. Urządzenie zostanie wyczyszczone i uruchomi się w trybie 16 KB. Ponownie włącz opcje programisty. Następnie możesz przełączać się między trybami 4 KB i 16 KB bez czyszczenia partycji danych, aby przetestować działanie aplikacji.

Sprawdzanie trybu 16 KB

Aby sprawdzić rozmiar strony, wykonaj czynności opisane w artykule Uzyskiwanie rozmiaru strony.