是否有使用 --enable-kernel=VERSION 对非常旧的内核(早于 3.2.0)进行 glibc (2.28) 编译的解决方法?

Is there any workaround for glibc (2.28) compilation for very old kernel (older than 3.2.0) using --enable-kernel=VERSION?

我正在尝试为某些应用程序交叉编译(从 x86_64 linux 到 ARMv7a)。主机是 运行 Linux 4.4.0,目标是 运行 Linux 3.0.2

我能够使用 Linaro 的交叉编译工具链成功构建此类应用程序 但是,当我执行 binary

时出现了问题

Fatal: kernel too old

在互联网上进行一些研究后,我发现解决方法是同时使用 --enable-kernel=VERSION 选项交叉编译 glibc,但此选项带来了另一个问题。

configure: WARNING: minimum kernel version reset to 3.2.0

是否有任何解决方法可以将内核版本设置为早于 3.2.0 的版本?

Is there any workaround to set kernel version to the one older than 3.2.0?

没有。在 glibc-2.24 中支持低于 3.2 was dropped 的内核,并且您无法将其恢复(除非恢复执行它的提交)。

您需要构建 glibc-2.23 或更早版本。