啟用 16 KB 切換鈕

16 KB 切換按鈕可讓您試用 16 KB 核心。這個切換鈕可在 4 KB 核心和 16 KB 核心之間切換,位於設定應用程式的「開發人員選項」選單中。16 KB 切換鈕可用於檢查應用程式與 16 KB 核心的相容性,但由於 16 KB 模式會使用子頁面區塊 (在 /data/metadata 分區使用 EXT4 時),因此可能無法反映實際 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。這個變數指向支援 16 KB 的核心模組。設定這些參數會在系統分區中建立兩個 OTA: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 移至供應商分割區。 只有在將 OTA 從系統移至供應商分割區時,才需要設定這項屬性。

驗證

成功設定切換按鈕後,請按照下列步驟操作:

  1. 檢查設定應用程式是否顯示「以 16 KB 頁面大小啟動」切換鈕。
  2. 檢查 /system/boot_otas/vendor/boot_otas 是否包含兩個 OTA ZIP 檔案:boot_ota_16k.zipboot_ota_4k.zip

使用 16 KB 切換鈕

  1. 依序前往「設定」>「系統」>「軟體更新」,然後套用所有可用的更新。
  2. 啟用開發人員選項。如需操作說明,請參閱「設定裝置端開發人員選項」。
  3. 如果系統偵測到裝置已 OEM 鎖定,畫面上會顯示對話方塊,要求您 OEM 解鎖手機。如需操作說明,請參閱「鎖定及解鎖系統啟動載入程式」。
  4. 按一下「以 16 KB 頁面大小啟動」。如果 /data/metadata 不是 ext4,系統會顯示對話方塊,要求你清除裝置資料。按一下「清除所有資料並更新」,即可清除裝置資料並套用啟動 OTAs。裝置會清除資料並啟動 16 KB 模式。再次啟用開發人員選項。然後,您可以在 4 KB 和 16 KB 模式之間來回切換,無須清除資料分區即可測試應用程式行為。

勾選「16 KB 模式」

請按照「取得網頁大小」一文中的步驟操作,確認網頁大小。