16KB 토글 활성화

16KB 토글을 사용하면 16KB 커널을 사용해 볼 수 있습니다. 이는 4KB 커널과 16KB 커널 사이를 전환합니다. 이 토글은 설정 앱의 "개발자 옵션" 메뉴 안에 있습니다. 장치별로 개별적으로 활성화해야 합니다.

토글 구성 단계

  1. 장치가 페이지 독립적인 변수를 설정했는지 확인하십시오(4KB 및 16KB 페이지 크기 커널 모두에서 작동함). 개발자 옵션을 계속 추가하기 전에 장치가 16KB 모드에서 직접 작동하는지 확인하기 위해 16k 커널을 직접 설치할 수 있습니다. 가상 장치 예시 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를 지원하는 커널 모듈을 가리킵니다. 이러한 매개변수를 설정하면 시스템 파티션에 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)
    
  5. OTA를 공급업체 파티션으로 이동하려면 BOARD_16K_OTA_MOVE_VENDOR := true 설정합니다. 선택 사항이며 대부분의 장치에서는 이를 설정하면 안 됩니다.

확인

성공적으로 설정한 후

  1. 16KB 토글은 "16KB 페이지 크기로 부팅"을 사용하여 설정 앱에 표시됩니다.
  2. /system/boot_otas 또는 /vendor/boot_otas 에는 boot_ota_16k.zipboot_ota_4k.zip 이라는 두 개의 OTA zip 파일이 포함되어 있습니다.

16KB 토글 사용

  1. dev options document 의 지시에 따라 개발자 옵션을 활성화합니다.
  2. 장치가 OEM 잠금으로 감지되면 사용자에게 OEM 잠금 해제를 요청하는 대화 상자가 표시됩니다. OEM 잠금 해제 단계를 따르세요.
  3. 사용자가 "16KB 페이지 크기로 부팅"을 누르면 /data/metadata 파티션은 ext4여야 합니다. 그렇지 않은 경우 장치를 초기화하라는 대화 상자가 표시됩니다.
  4. 이제 16KB 토글에 16KB로 전환하는 확인 대화 상자가 표시되고 확인 시 부팅 OTA가 적용됩니다.

16KB 모드 확인

페이지 크기를 확인하려면 페이지 크기 가져오기 단계를 따르세요.