在实际 386 硬件上运行的最高版本的 glibc

在实际 386 硬件上运行的最高版本的 glibc

我需要构建一个可在实际 386 级硬件上运行的最小 Linux 环境。我知道我必须使用 <3.8 的内核,这不是问题。问题出在glibc,因为似乎最近的版本(现在我尝试过Glibc-2.23)仅使用 386 代码无法工作(甚至无法编译)。我成功地编译了 i486,但它在实际硬件上不起作用。我已经在许多不同的 486 系统上进行了测试,问题总是相同的 - 内核启动,安装 fs root,然后执行init,它失败并出现错误 in sysdeps/i386/cacheinfo.c, in function handle_intel,错误是断言maxcpuid>=2失败,位于系统挂起的时间点。 i586 级机器(Intel Pentium、Pentium MMX)上也会发生同样的情况。在 i686 级硬件(Pentium PRO 及更高版本)上一切正常。所有软件包(包括 glibc)都已使用-march=i486 -mcpu=i486标志进行编译gcc-5.3.0。不幸的是,使用“现成的”旧 PC 发行版(如 dslinux 或 puppylinux)是不可能的,因为它们非常过时且有限。有任何想法吗?

答案1

cacheinfo.c被移入glibc2007 年至 2010 年间,其中glibc-2.2380386 除外,因为它没有缓存。

对 386 的支持已于 2012 年末取消,因此您确实必须使用kernel,glibc最晚gcc从 2012 年中期开始。

2012年还不算晚。我还在用2002年的机器。有些东西运行良好,有些则不然(html 已经改变,https 现在无处不在)。

考虑一下您想在机器上做什么。

当我在大学时,我们使用 486 台机器,但许多程序是在 vax 上执行的,本地机器是 X 客户端。

相关内容