Dimitrios Apostolou wrote:
> Hello list,
>
> for testing purposes I need to boot my arch system using old versions of
> linux. However, because of udev and libc, I doubt I'll be able to boot
> old enough kernels.
>
> So what is the oldest kernel that should work out of the box with
> current archlinux? What are the problems and how can they be surpassed
> (static /dev perhaps)? What about linux 2.4? Would I need to compile an
> old, linuxthreads-capable glibc? In that case would the whole system
> need rebuilding?
After lots of testing, here is a summary of the situation about arch and
old linux kernels:
-- Kernel as old as 2.6.16 runs out of the box.
-- To be able to boot kernel 2.6.13 you have to create a static /dev
filesystem underneath udev, and change the initscripts to perhaps
recognize a "noudev" option and fallback to the static /dev. (Although
initscripts have autodetect functionality about udev, with 2.6.13 they
try using udev even if it doesn't work).
-- 2.6.12 and older kernels DO NOT WORK. The message I get is "FATAL:
kernel too old" and this happens probably when kernel tries to call
init. Even though /sbin/init is a binary capable of old kernels, it
seems its dependency on glibc doesn't allow it to run, as indicated from
the following commands:
$ file /sbin/init
/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
for GNU/Linux 2.4.1, dynamically linked (uses shared libs), stripped
$ ldd /sbin/init
linux-gate.so.1 => (0xb7f27000)
libc.so.6 => /lib/libc.so.6 (0xb7ded000)
/lib/ld-linux.so.2 (0xb7f28000)
$ file /lib/libc-2.6.1.so
/lib/libc-2.6.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1
(SYSV), for GNU/Linux 2.6.13, not stripped
Dimitris
_______________________________________________
arch mailing list
[email protected]
http://archlinux.org/mailman/listinfo/arch