16KB 전환 사용 설정

16KB 전환 버튼을 사용하면 16KB 커널을 사용해 볼 수 있습니다. 이 전환 버튼은 4KB 커널과 16KB 커널 간에 전환하며 설정 앱의 '개발자 옵션' 메뉴에서 찾을 수 있습니다. 16KB 전환 버튼은 애플리케이션과 16KB 커널의 호환성을 확인하는 데 사용할 수 있지만, 16KB 모드에서 하위 페이지 블록(/data/metadata 파티션에 EXT4를 사용하는 경우)이 사용되므로 실제 16KB 기기의 성능을 반영하지 않을 수 있습니다.

전환 버튼 구성 단계

  1. 기기가 4KB 및 16KB 페이지 크기 커널 모두에서 작동하도록 페이지에 구애되지 않는 방식으로 변수를 설정했는지 확인합니다. 16k 커널을 직접 설치하여 기기가 제대로 작동하는지 확인하는 것이 좋습니다. 16KB 모드로 바로 이동해야 합니다. 가상 기기 예시 대상 구성을 참고하세요.

        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를 지원하는 모듈을 선택합니다. 이 매개변수를 설정하면 시스템 파티션에 boot_ota_16k.zip(16KB 커널로 전환) 및 boot_ota_4k.zip(4KB 커널로 전환)라는 두 가지 OTA가 생성됩니다. 증분 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. OTA를 공급업체 파티션으로 이동하도록 BOARD_16K_OTA_MOVE_VENDOR := true를 설정합니다. 선택사항이며 대부분의 기기에서는 이 값을 설정하면 안 됩니다.

인증

설정 완료 후

  1. 16KB 전환 버튼이 설정 앱에 '16KB 페이지 크기로 부팅'과 함께 표시됩니다.
  2. /system/boot_otas 또는 /vendor/boot_otas에는 두 개의 OTA ZIP 파일(boot_ota_16k.zipboot_ota_4k.zip)이 포함되어 있습니다.

16KB 전환 버튼 사용

  1. 개발자 옵션 문서에 설명된 대로 개발자 옵션을 사용 설정합니다.
  2. 기기가 OEM 잠금으로 감지되면 휴대전화를 OEM 잠금 해제할 수 있습니다. OEM 잠금 해제 단계를 따릅니다.
  3. 사용자가 '16KB 페이지 크기로 부팅'을 누르면 /data/metadata가 실행됩니다. 파티션은 ext4여야 합니다 그렇지 않으면 사용자에게 기기를 삭제하도록 요청하는 대화상자가 표시됩니다. '예'라고 답하면 기기가 초기화되며 개발자 옵션을 다시 활성화해야 합니다.
  4. 이제 16KB 전환 버튼에 16KB로 전환하는 확인 대화상자가 표시되며 확인하면 부팅 OTA가 적용됩니다. 그런 다음 데이터 파티션을 지우지 않고 4KB에서 16KB 사이로 변경합니다. 앱 동작 테스트

16KB 모드 확인

페이지 크기 가져오기의 단계 따르기 페이지 크기를 확인합니다.