새로운 glibc 버전을 이전 커널과 함께 사용할 수 있습니까?

새로운 glibc 버전을 이전 커널과 함께 사용할 수 있습니까?

--enable-kernel분명히 glibc는 이전 커널 버전을 지원하도록 컴파일될 수 있습니다 . 그런데 정보를 못찾았네요특정 버전의 glibc에서 지원되는 커널 버전. 이상적으로는 각 glibc(2.x) 및 커널(2.6.x) 버전에 대한 호환성 매트릭스를 보고 싶습니다. 존재합니까?

존재하지 않는다면 아마도 모든 glibc 버전(지난 5년 정도)이 2.6.0 이후의 모든 커널을 지원하기 때문일까요?

(중요한 경우 Arch=x86-64)

답변1

일부 버전의 경우 glibc공지 이메일에 호환되는 커널 버전이 표시됩니다.

glibc    Released      Requires Linux kernel version
----------------------------------------------------------

2.34     1 Aug 2021    ?   (same as 2.26?)
2.33     1 Feb 2021    ?   (same as 2.26?)
2.32     5 Aug 2020    ?   (same as 2.26?)
2.31     1 Feb 2020    ?   (same as 2.26?)
2.30     1 Aug 2019    ?   (same as 2.26?)
2.29     1 Feb 2019    ?   (same as 2.26?)
2.28     1 Aug 2018    ?   (same as 2.26?)
2.27     2 Feb 2018    ?   (same as 2.26?)
2.26     2 Aug 2017    3.2 (or higher)
2.25     5 Feb 2017    ?   (same as 2.24?)

2.24     4 Aug 2016    on i[4567]86 and x86_64  ->  2.6.32
2.24     4 Aug 2016    on other platforms       ->  3.2

Note 1:  Some minor architectures require a higher kernel version than
         listed above.

Note 2:  Your Linux distribution may vary from the above, as Glibc can
         optionally be configured at compile time to require a kernel
         version newer than the oldest supported version.

아마도 위의 표는 더 많은 이전(또는 새로운) 공지 이메일을 추적하고 읽으면 확장될 수 있습니다 glibc.

참고로:

Linux distribution    glibc version    Requires Linux kernel version

Debian 11 Bullseye    2.31             3.2 ?
Debian 10 Buster      2.28             3.2 ?
Debian 9 Stretch      2.24 on x86      2.6.32
Debian 9 Stretch      2.24 on other    3.2

Ubuntu 20.04          2.31             3.2
Ubuntu 18.04          2.27             3.2
Ubuntu 17.10          2.26             3.2
Ubuntu 17.04          2.24             ? 
Ubuntu 16.10          2.24             ?
Ubuntu 16.04          2.23             ?

원천:
GNU C 라이브러리 출시 일정
GNU C 라이브러리(glibc)
이제 GNU C 라이브러리 버전 2.27을 사용할 수 있습니다.
이제 GNU C 라이브러리 버전 2.26을 사용할 수 있습니다.
이제 GNU C 라이브러리 버전 2.25를 사용할 수 있습니다.
이제 GNU C 라이브러리 버전 2.24를 사용할 수 있습니다.
DistroWatch.com: 우분투
우분투 glibcMIN_KERNEL_SUPPORTED

답변2

소스를 확인하실 수 있습니다. 일반 종속성은 다음에 정의되어 있습니다.sysdeps/unix/sysv/linux/configure.ac현재(마스터 브랜치에서는 버전 2.32 이전) 3.2.0입니다.

몇 가지 아키텍처별 종속성이 있습니다. 예를 들어 현재 마스터 브랜치(2.32 이전 버전)에서 검색 arch_minimum_kernel하세요 .sysdeps/unix/sysv/linux/[arch]/configure

100% 정확하지는 않지만 RISC-V의 변경 사항을 참조하세요.정보:64비트 RISC-V에는 최소 커널 헤더 버전 5.0이 필요합니다..

답변3

프로젝트에 따르면읽어보기 파일2.6 이전 커널과 함께 glibc 2.4를 사용할 수 있지만 일부 기능이 손실됩니다.

Linux 커널을 사용하는 경우 GNU C 라이브러리 버전 2.4는 주로 Linux 커널 버전 2.6.0 이상과 함께 사용됩니다. 우리는 현재 기본 구성인 pthread를 사용하는 NPTL 구현만 지원합니다. 대부분의 C 라이브러리는 이전 Linux 커널에서 계속 작동하며 많은 프로그램은 올바르게 실행하기 위해 2.6 커널이 필요하지 않습니다. 그러나 pthread 및 관련 기능은 이전 커널에서는 작동하지 않으며 2.6 이전의 Linux 커널에서는 glibc 2.4를 사용하지 않는 것이 좋습니다.

이는 다음을 --enable-kernel=VERSION의미합니다.

이전 커널과의 호환성을 위해 컴파일

관련 정보