어떤 Android가 어떤 Linux 커널을 실행합니까?


답변:


57

AOSP의 Linux 버전

    Android Version    |API Level  |Linux Version in AOSP                    |Header Version
    ----------------------------------------------------------------------------------------
    1.5   Cupcake      |3          |(2.6.27)                                 |
    1.6   Donut        |4          |(2.6.29)                                 |2.6.18
    2.0/1 Eclair       |5-7        |(2.6.29)                                 |2.6.18
    2.2.x Froyo        |8          |(2.6.32)                                 |2.6.18
    2.3.x Gingerbread  |9, 10      |(2.6.35)                                 |2.6.18
    3.x.x Honeycomb    |11-13      |(2.6.36)                                 |2.6.18
    4.0.x Ice Cream San|14, 15     |(3.0.1)                                  |2.6.18
    4.1.x Jelly Bean   |16         |(3.0.31)                                 |2.6.18
    4.2.x Jelly Bean   |17         |(3.4.0)                                  |2.6.18
    4.3   Jelly Bean   |18         |(3.4.39)                                 |2.6.18
    4.4   Kit Kat      |19, 20     |(3.10)                                   |2.6.18
    5.x   Lollipop     |21, 22     |(3.16.1)                                 |3.14.0
    6.0   Marshmallow  |23         |(3.18.10)                                |3.18.10
    7.0   Nougat       |24         | 3.18.48 4.4.0                           |4.4.1
    7.1   Nougat       |25         | ?                                       |4.4.1
    8.0   Oreo         |26         | 3.18.72 4.4.83  4.9.44                  |4.10.0
    8.1   Oreo         |27         | 3.18.70 4.4.88  4.9.56                  |4.10.0
    9.0   Pie          |28         |         4.4.146 4.9.118 4.14.61         |4.15.0
   10.0   Q            |29         |                 4.9.191 4.14.142 4.19.71|5.0.3

컴파일 된 테이블 :

참고 : Android의 다른 "배포"는 다른 커널 버전을 실행할 수 있습니다.

누구나이 표를 수정하고 확장 할 수 있습니다. 형식을 유지하십시오.

Android OS / 커널 버전이 일치하지 않는 이유

OEM은 주요 Android 업데이트를 장치가 처음 릴리스 된 커널과 비슷한 커널로 제공하는 경향이 있습니다. 이것은 최신 커널의 하드웨어 및 드라이버 비 호환성 문제피할 가능성이 높습니다 . 예를 들어 Android 8.0 Oreo를 실행하도록 업데이트되었지만 원래 6.0 Marshmallow와 함께 제공된 장치는 여전히 Linux 4.10.x 대신 Linux 3.18.x를 실행하고있을 수 있습니다.

Linux 버전의 공급 업체 테스트 스위트 (VTS) 요구 사항

XDA-Developers에 관한 2017 년 기사에 따르면 :

OEM에 달려있는 한 가지 측면은 Linux 커널 버전이지만 Android Oreo에서 변경되고 있습니다.

OEM이 Google이 제시 한 인증 테스트를 통과 할 수있는 한 새 장치에서 사용 된 커널 버전은 신경 쓰지 않았습니다. 대부분의 OEM이 다른 OEM이 사용하고있는 세대와 동일한 버전의 커널을 사용하므로 하드웨어 드라이버가 지원하는 것과 크게 관련되어 있기 때문에 이는 일반적으로 문제가되지 않았습니다. 그러나 일부는 균열을 겪고 있었기 때문에 보안 문제가 발생하기 시작했습니다. 이것은 Google이 최근에 심각하게 받아들이고있는 부분이므로이를 위임하기를 원할 것입니다.

올해 Google은 Android Oreo와 함께 제공되는 스마트 폰을 시작으로 2017 년에 생산 된 모든 SoC가 커널 4.4 이상으로 시작해야합니다.

현재 Android Oreo로 업그레이드 된 기존 장치는 커널 버전 3.18 이상 만 실행하면되며 Project Treble을 지원하기 위해 업그레이드 할 필요는 없습니다.

https://android.googlesource.com/platform/test/vts-testcase/kernel/ 에 따르면 Linux 버전 인 VtsKernelConfigTest 또는 VtsKernelVersionTest (8.0, 8.1 및 9.0)에 대한 요구 사항이 있지만 나중에 10.0에서 제거되었습니다. 8.0 및 8.1의 경우 버전이 3.18, 4.4 또는 4.9 여야합니다. 9.0의 경우 버전이 4.4.107, 4.9.84 또는 4.14.42 이상이어야합니다.

AOSP 웹 사이트에서 직접 제공되는 추가 기술 및 최신 정보 : https://source.android.com/devices/architecture/kernel/core-kernel-reqs


7
어려운 빠른 규칙은 없습니다! 예를 들어, ZTE 블레이드에 ICS / JB 커널 2.6.35을 사용, 소니 엑스 페리아 미니에 ICS는 2.6.32이었다 ... 유일한 지침 : 같은 약간의 소금과 함께이 걸릴
t0mm13b

3
같은 안드로이드 버전을 실행하는 다른 장치가 다른 커널을 실행하는 이유를 완전히 알 수 있습니다. 그러나이 표는 단지 ​​경험 법칙입니다. 예, 제 경험 법칙에 따라 소금 알갱이를 원합니다 =)
John

3
여기 표를 AOSP Android로 제한하겠습니다!
Robert Siemer

3
또한 장치가 특정 안드로이드 버전 및 커널로 출시되고 나중에 안드로이드 버전이 제조업체에 의해 업데이트되면 커널 버전은 대부분 패치가있는 초기 버전으로 유지됩니다.
Bharat G

1
Google조차도이를 따르지 않습니다. API 26으로 에뮬레이터를 확인했고 커널은 3.18.56+입니다.
Roy Falk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.