啟用 16 KB 切換

16 KB 切換可讓您嘗試 16 KB 核心。這會在 4 KB 核心和 16 KB 核心之間切換。此切換位於設定應用程式中的「開發人員選項」功能表內。需要單獨為設備啟用它。

配置切換的步驟

  1. 確保裝置已將變數設定為與頁面無關(以與 4 KB 和 16 KB 頁面大小核心一起使用)。您可能想要直接安裝 16k 內核,以確保裝置直接工作在 16 KB 模式下,然後再繼續新增開發者選項。請參閱虛擬設備範例目標配置

        PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true
        PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384
    
  2. 設定產品變數以在設定中顯示開發人員選項PRODUCT_16K_DEVELOPER_OPTION := true

  3. 使用BOARD_KERNEL_PATH_16K設定核心路徑。該核心應使用CONFIG_ARM64_16K_PAGES=y.

      BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.
    
  4. 設定模組配置路徑BOARD_KERNEL_MODULES_16K 。這指向支援 16KB 的核心模組。設定這些參數將在系統分區上建立兩個 OTA - boot_ota_16k.zip (切換到 16 KB 核心)和boot_ota_4k.zip (切換到 4 KB 核心)。對於較小尺寸的引導 OTA,透過設定BOARD_16K_OTA_USE_INCREMENTAL := true來啟用增量 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. 設定BOARD_16K_OTA_MOVE_VENDOR := true將 OTA 移至供應商分區。可選,大多數設備不應設定此項目。

確認

設定成功後

  1. 16 KB 切換在設定應用程式中可見,並帶有「以 16 KB 頁面大小啟動」。
  2. /system/boot_otas/vendor/boot_otas包含兩個 OTA zip 檔案 - boot_ota_16k.zipboot_ota_4k.zip

使用 16 KB 切換

  1. 依照開發選項文件的指示啟用開發人員選項。
  2. 如果裝置被偵測為 OEM 鎖定,則會顯示對話框,請使用者 OEM 解鎖手機。依照步驟進行OEM 解鎖
  3. 當使用者點選「以 16 KB 頁大小啟動」時, /data/metadata分割區需要為 ext4。如果不是,則會顯示對話方塊以擦除裝置。
  4. 16 KB 切換現在顯示切換到 16 KB 的確認對話框,確認後將應用程式啟動 OTA。

檢查 16 KB 模式

請依照取得頁面大小中的步驟來驗證頁面大小。