On Thu, Jun 25, 2015 at 06:30:41PM +0100, Steve Blinkhorn wrote:
The machine is a fresh out of the box 6.1. The binary is a
statically-linked 32-bit Linux executable of impeccable provenance.
Such 3rd-party 64-bit Linux executables that I have tried run fine
and without complaint.
But on starting this one, I get "FATAL kernel too old". There is a
Linux procfs in place, so presumably I'm lacking some libraries to do
with the compatibility layer.
I can't find any real guidance for this situation, and would
appreciate advice from someone acquainted with the emulation and how
to configure it.
that error message means that the binary requires a later linux kernel version
than what it thinks it's running under. the kernel version that our
emulation layer reports for 32-bit binaries is controlled by the sysctl node
"emul.linux32.kern.osrelease". on netbsd 6.x this was "2.6.18", which is
approximately RHEL 5. you can change the version that is reported
to something newer and see if your binary works, but the binary probably
really does need something that the emulation in netbsd 6.x doesn't provide.
if that's the case, the only practical thing to do is upgrade to 7.x
when it comes out, or try the 7.0_RC1 pre-release version which was
just announced. 7.x has support for some newer linux kernel features,
enough to run most binaries from opensuse 13.1, which is our current
linux compatibility target.
-Chuck