From M Carling on Sat, 21 Nov 1998
I'm preparing to configure and compile 2.1.129. At the moment, I'm trying to bring up-to-date all the software on which it's dependant. The documentation ambiguously seems to suggest that one needs BOTH libc5 AND libc6. Is that right? Or is it either/or?
The linux kernel is completely independent of your libc version. You can run a 1.2.x, 2.0.x and 2.1.x kernels with libc4, libc5 and glibc (libc6). You can switch among kernels mostly with impunity and you can have all of these libc's on the system concurrently. (The dlopen stuff will resolve the problems according to how each binary was linked).
The few gotchyas in this:
Really old kernels (1.2.x) used a different presentation of key nodes under /proc. Thus the procps utilities (like 'ps' and 'top') from that era would core dump when executed under a newer kernel (with an incompatible proc representation). I don't know if the newer procps suite will gracefully deal with the obsolete proc format or not. I should check that some time.
The format of the utmp and wtmp files has changed between libc5 and glibc. This is completely unrelated to the kernel. However, it means that all utmp/wtmp using programs must be linked against or or the other library. Those won't co-exist gracefully.
(I imagine you could isolated all your libc5/utmp/wtmp programs under a chroot or some silly thing --- but I doubt that's going to be useful in practice).
There is a list of all of "Linux 2.1 Required Utility Program Upgrades" at LinuxHQ:
... with convenient links to the tar.gz file for each of them. I have run 2.1.12x kernels without upgrading any of these and without any mishaps. I'd probably eliminate some of minor quirks and Ooops' that I've see --- and I'll get around to that when I get the time.