啟用 16 KB 的切換鈕

16 KB 切換按鈕可讓您試用 16 KB 的核心。這個切換鈕 介於 4 KB 核心和 16 KB 核心之間,可以位於 「開發人員選項」選單。可以使用 16 KB 切換鈕 可檢查應用程式與 16 KB 核心的相容性,但這通常 反映由於使用子頁面區塊造成的實際 16 KB 裝置效能 以 16 KB 模式 (/data/metadata 分區使用 EXT4)。

切換設定的步驟

  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。這會指向核心 支援 16 KB 的模組。設定這些參數後,系統會在 系統分區 - boot_ota_16k.zip(如要改用 16 KB 核心) 和 boot_ota_4k.zip(如要切換至 4 KB 核心)。透過以下方式啟用漸進式 OTA: 為較小的啟動 OTA 設定 BOARD_16K_OTA_USE_INCREMENTAL := true

      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。您可直接切換使用 介於 4 KB 到 16 KB 之間,而且並未清除資料分區, 測試應用程式行為。

檢查 16 KB 模式

請按照取得頁面大小一文中的步驟操作 以便驗證網頁大小