16KB 전환 버튼을 사용하면 16KB 커널을 사용해 볼 수 있습니다. 이 전환 버튼은 4KB 커널과 16KB 커널 간에 전환하며 설정 앱의 '개발자 옵션' 메뉴에서 찾을 수 있습니다. 16KB 전환 버튼을 사용하여 16KB 커널과의 애플리케이션 호환성을 확인할 수 있지만 16KB 모드에서 하위 페이지 블록(/data
및 /metadata
파티션에 EXT4 사용 시)을 사용하므로 실제 16KB 기기의 성능을 반영하지 않을 수 있습니다.
전환 버튼 구성 단계
기기에서 4KB 및 16KB 페이지 크기 커널 모두와 호환되도록 페이지 크기에 구속받지 않는 변수를 설정했는지 확인합니다. 개발자 옵션을 계속 추가하기 전에 기기가 16KB 모드에서 직접 작동하는지 확인하기 위해 16K 커널을 직접 설치할 수 있습니다. 가상 기기 예시 타겟 구성을 참고하세요.
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를 지원하는 커널 모듈을 가리킵니다. 이러한 매개변수를 설정하면 시스템 파티션에boot_ota_16k.zip
(16KB 커널로 전환) 및boot_ota_4k.zip
(4KB 커널로 전환)의 두 OTA가 생성됩니다. 더 작은 크기의 부팅 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를 이동하는 경우에만 이를 설정하세요.
인증
전환 버튼을 구성한 후 다음 단계를 따르세요.
- 16KB 페이지 크기로 부팅 전환 버튼이 설정 앱에 표시되는지 확인합니다.
/system/boot_otas
또는/vendor/boot_otas
에 OTA zip 파일boot_ota_16k.zip
및boot_ota_4k.zip
가 두 개 포함되어 있는지 확인합니다.
16KB 전환 버튼 사용
- 설정 > 시스템 > 소프트웨어 업데이트로 이동하여 사용 가능한 업데이트를 적용합니다.
- 개발자 옵션을 사용 설정합니다. 자세한 내용은 온디바이스 개발자 옵션 구성을 참고하세요.
- 기기가 OEM 잠금으로 감지되면 휴대전화의 OEM 잠금을 해제하라는 대화상자가 표시됩니다. 자세한 내용은 부트로더 잠금 및 잠금 해제를 참고하세요.
- 16KB 페이지 크기로 부팅을 클릭합니다.
/data
와/metadata
가 ext4가 아닌 경우 기기를 초기화하라는 대화상자가 표시됩니다. 모든 데이터 삭제 및 업데이트를 클릭하여 기기를 초기화하고 부팅 OTA를 적용합니다. 기기가 완전 삭제되고 16KB 모드로 부팅됩니다. 개발자 옵션을 다시 사용 설정합니다. 그런 다음 데이터 파티션을 삭제하지 않고도 4KB와 16KB 모드 사이를 전환하여 앱 동작을 테스트할 수 있습니다.
16KB 모드 확인
페이지 크기 가져오기의 단계에 따라 페이지 크기를 확인합니다.