ปุ่มเปิด/ปิด 16 KB ช่วยให้คุณลองใช้เคอร์เนลขนาด 16 KB ได้ ปุ่มเปิด/ปิดนี้จะสลับระหว่างเคอร์เนลขนาด 4 KB กับ 16 KB และจะอยู่ในเมนู "ตัวเลือกสำหรับนักพัฒนาแอป" ในแอปการตั้งค่า คุณสามารถใช้ปุ่มเปิด/ปิด 16 KB เพื่อตรวจสอบความเข้ากันได้ของแอปพลิเคชันกับเคอร์เนลขนาด 16 KB แต่การทำงานอาจไม่สะท้อนประสิทธิภาพของอุปกรณ์ 16 KB จริงเนื่องจากการใช้บล็อกหน้าย่อย (เมื่อใช้ EXT4 สำหรับพาร์ติชัน /data และ /metadata) ในโหมด 16 KB
ขั้นตอนการกำหนดค่าปุ่มเปิด/ปิด
ตรวจสอบว่าอุปกรณ์ได้ตั้งค่าตัวแปรให้ไม่คำนึงถึงขนาดหน้า (เพื่อให้ทำงานได้กับเคอร์เนลทั้งขนาดหน้า 4 KB และ 16 KB) คุณอาจต้องการติดตั้งเคอร์เนล 16k โดยตรงเพื่อให้แน่ใจว่าอุปกรณ์ทำงานในโหมด 16 KB ได้โดยตรงก่อนที่จะเพิ่มตัวเลือกสำหรับนักพัฒนาแอป ดูตัวอย่างอุปกรณ์เสมือนจริงtarget config
PRODUCT_NO_BIONIC_PAGE_SIZE_MACRO := true PRODUCT_MAX_PAGE_SIZE_SUPPORTED := 16384ตั้งค่าตัวแปรผลิตภัณฑ์เพื่อแสดงตัวเลือกสำหรับนักพัฒนาแอปในการตั้งค่า
PRODUCT_16K_DEVELOPER_OPTION := trueตั้งค่าเส้นทางเคอร์เนลโดยใช้
BOARD_KERNEL_PATH_16Kควรสร้างเคอร์เนลนี้ด้วยCONFIG_ARM64_16K_PAGES=y.BOARD_KERNEL_PATH_16K := kernel/prebuilts/mainline/$(TARGET_KERNEL_ARCH)/16k/kernel-mainline.ตั้งค่าตัวแปรเส้นทางการกำหนดค่าโมดูล
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)ตั้งค่า
BOARD_16K_OTA_MOVE_VENDOR := trueเพื่อย้าย OTA ไปยังพาร์ติชันของผู้ให้บริการ ตั้งค่านี้เพื่อย้าย OTA จากระบบไปยังพาร์ติชันของผู้ให้บริการเท่านั้น
การยืนยัน
หลังจากกำหนดค่าปุ่มเปิด/ปิดเรียบร้อยแล้ว ให้ทำตามขั้นตอนต่อไปนี้
- ตรวจสอบว่าปุ่มเปิด/ปิดบูตโดยใช้หน้าขนาด 16 KB ปรากฏในแอปการตั้งค่าหรือไม่
- ตรวจสอบว่า
/system/boot_otasหรือ/vendor/boot_otasมีไฟล์ ZIP ของ OTA 2 ไฟล์ ได้แก่boot_ota_16k.zipและboot_ota_4k.zipหรือไม่
ใช้ปุ่มเปิด/ปิด 16 KB
- ไปที่การตั้งค่า > ระบบ > การอัปเดตซอฟต์แวร์ แล้วใช้การอัปเดตที่มี
- เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป ดูวิธีการได้ที่หัวข้อกำหนดค่าตัวเลือกสำหรับนักพัฒนาแอปในอุปกรณ์
หากระบบตรวจพบว่าอุปกรณ์ถูกล็อกโดย OEM กล่องโต้ตอบจะปรากฏขึ้นเพื่อขอให้คุณปลดล็อก OEM ของโทรศัพท์ ดูวิธีการได้ที่หัวข้อล็อกและปลดล็อก Bootloader หากฮาร์ดแวร์ของอุปกรณ์รองรับ 16 KB อย่างเต็มที่ คุณอาจไม่จำเป็นต้องปลดล็อก OEM และข้ามขั้นตอนนี้ได้
คลิกบูตโดยใช้หน้าขนาด 16 KB หาก
/dataและ/metadataไม่ใช่ ext4 กล่องโต้ตอบจะปรากฏขึ้นเพื่อขอให้คุณล้างข้อมูลในอุปกรณ์ คลิกลบข้อมูลทั้งหมดและอัปเดต เพื่อล้างข้อมูลในอุปกรณ์และใช้ OTA การบูต ระบบจะล้างข้อมูลในอุปกรณ์และบูตเข้าสู่โหมด 16 KB เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอปอีกครั้ง จากนั้นคุณจะสลับไปมาระหว่างโหมด 4 KB กับ 16 KB ได้โดยไม่ต้องล้างพาร์ติชันข้อมูลเพื่อทดสอบลักษณะการทำงานของแอป
ตรวจสอบโหมด 16 KB
ทำตามขั้นตอนที่ หัวข้อการรับขนาดหน้า เพื่อยืนยันขนาดหน้า