เปิดใช้การสลับขนาด 16 KB

ปุ่มสลับขนาด 16 KB ให้คุณลองใช้เคอร์เนลขนาด 16 KB ได้ ส่วนสลับนี้จะสลับระหว่างเคอร์เนล 4 KB และเคอร์เนล 16 KB และอยู่ในเมนู "ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์" ในแอปการตั้งค่า คุณสามารถใช้การสลับ 16 KB เพื่อตรวจสอบความเข้ากันได้ของแอปพลิเคชันกับเคอร์เนล 16 KB แต่อาจไม่สะท้อนประสิทธิภาพของอุปกรณ์ 16 KB จริง ขณะใช้การบล็อกหน้าย่อย /metadata ของ /data (ใช้การบล็อกหน้าย่อย /metadata)

ขั้นตอนการกําหนดค่าปุ่มเปิด/ปิด

  1. ตรวจสอบว่าอุปกรณ์ได้ตั้งค่าตัวแปรให้ไม่คำนึงถึงขนาดหน้า (เพื่อให้ทำงานได้กับทั้งเคอร์เนลขนาดหน้า 4 KB และ 16 KB) คุณอาจต้องติดตั้งเคอร์เนล 16 KB โดยตรงเพื่อให้แน่ใจว่าอุปกรณ์ทำงานในโหมด 16 KB ได้โดยตรงก่อนที่จะเพิ่มตัวเลือกสำหรับนักพัฒนาแอปต่อ ดูตัวอย่างอุปกรณ์เสมือน target config

        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 2 รายการในพาร์ติชันระบบ ได้แก่ 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 มีไฟล์ ZIP ของ OTA 2 ไฟล์ ได้แก่ boot_ota_16k.zip และ boot_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

ทําตามขั้นตอนที่หัวข้อดูขนาดหน้าเว็บเพื่อยืนยันขนาดหน้าเว็บ