코어 커널 요구사항

Android 8.0 이상은 VTS(공급업체 테스트 도구 모음) 및 OTA(무선) 업데이트에 의해 확인된 최소 커널 버전 및 커널 구성을 요구합니다. Android 기기 커널은 kernel .config 지원과 procfs 파일 시스템을 통해 런타임 시 커널 구성을 읽는 옵션을 사용 설정해야 합니다.

커널 .config 지원

모든 기기 커널은 android-base.cfg 전체를 사용해야 하는데 여기에는 다음 커널 구성 옵션(또는 상응하는 커널 버전)이 포함되어 있어야 합니다.

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

커널 버전

Android 9의 경우 최소 LTS(Long Term Support) 커널 버전 요구사항은 4.4.107, 4.9.84 및 4.14.42입니다.

  • 2018년에 제품화된 모든 SoC는 커널 4.9.84 이상과 함께 출시되어야 합니다.
  • Android 9가 설치된 Android 기기를 실행하는 다른 모든 SoC는 커널 4.4.107 이상을 사용해야 합니다.
  • 4.14 기반의 기기 커널에는 4.14.42 이상의 LTS 버전이 포함되어야 합니다.
  • 출시 날짜와 상관없이 Android 8.0 이상에서 출시된 기기가 포함된 모든 SoC는 Treble을 사용하는 데 필요한 커널 변경 사항이 적용됩니다.
  • Android 8.0 이상으로 업그레이드된 이전 Android 기기에서는 원래 기본 커널 버전을 계속 사용할 수 있습니다.

LTS 커널에 관한 자세한 내용은 장기적으로 안정적인 커널Android 일반 커널을 참고하세요.

기기 트리 지원

플랫폼이 ACPI(Advanced Configuration and Power Interface) 사양을 지원하지 않는 경우 커널의 기기 트리 지원을 사용하도록 설정해야 하고 부트로더는 하드웨어 설명을 기기 트리 형식으로 커널에 전달해야 합니다. 공급업체 및 ODM 관련 매개변수를 읽고 Android에 전달할 수 있도록 하려면 Android에서도 기기 트리를 사용할 수 있어야 합니다. CONFIG_OF는 다른 모든 기기 및 하위 시스템 관련 CONFIG_OF_* 커널 구성 옵션과 함께 필수입니다.

DebugFS 사용

공급업체 인터페이스 구현은 디버그 정보에 액세스하기 위해 DebugFS 파일 시스템을 사용할 수 없습니다. Android 7.0~10에서 DebugFS를 사용 설정할 수 있지만 VTS 테스트는 DebugFS가 마운트 해제된 상태에서 실행될 수 있기 때문입니다.

Android 11에서는 프로덕션 기기에서 DebugFS에 액세스하거나 이를 마운트할 수 없으므로 기기 제조업체가 이를 삭제해야 합니다. Android 11 이전에는 dumpstateDebugFS에서 바인더 통계에 액세스했습니다. Android 11 이상으로 출시되는 사용자 빌드는 DebugFS에 액세스할 수 없으므로 dumpstatebinderfs에서 바인더 통계에 액세스합니다. Binderfs를 사용 설정하려면 커널 구성 CONFIG_ANDROID_BINDERFS를 사용 설정합니다.

Android 11에서 VTS는 다음 두 가지 요구사항을 적용합니다.

  • CONFIG_DEBUG_FS는 기기의 커널 구성에서 사용 설정되어 있지 않습니다.
  • DebugFS/proc/filesystems 아래에 표시되지 않습니다.

Android 11의 DebugFS

다음 표에서는 이러한 세 카테고리가 각각 Android 11에서 지원되는 방식을 설명합니다. 다음은 userdebug 빌드에만 적용됩니다. DebugFS는 사용자 빌드에 마운트할 수 없기 때문입니다. Android 11로 출시되는 기기의 경우 사용자 빌드에 DebugFS를 마운트하면 안 됩니다.

사용 사례 Android 11 userdebug 빌드
시작 시 일회성 DebugFS 파일 초기화. 이 액세스는 부팅 시간에 한 번만 발생합니다. 공급업체 init가 이를 수행합니다.
버그 신고 생성: dumpstate HAL은 버그 신고의 일부가 되는 DebugFS 파일을 읽습니다. dumpstate 도구에서 호출할 때 DumpstateBoard() 내의 dumpstate HAL에서 실행합니다.
기기별 테스트 및 검증 adb 루트 및 셸