
Here’s the scenario: there is a malfunctioning server running a really ancient Linux installation (e.g. 2.6.x-series kernel). You boot up with a reasonably recent copy of SystemRescue, mount the machine’s filesystem, try to chroot into it and run a shell ... and it segfaults. Seems there has been a subtle incompatible change in Linux kernel behaviour since those times, to do with the disabling of something called the “vsyscall” mechanism (which is specific to 64-bit x86-based machines, I understand). This was supposed to be a way to speed up certain commonly-executed system calls (I think getting the system time was one of them) by allowing direct transfers to certain entry points with fixed memory addresses for invoking them. It was later decided this was a bad idea (I think for security reasons). The mechanism has not been completely removed (yet), but nowadays it is disabled by default. To get around this, you need to boot SystemRescue with a change to the kernel command-line parameters, adding this item vsyscall=emulate After you get to a shell, you can confirm that this setting is in effect by checking the /proc/self/maps file (the memory mappings for your own process). At the bottom, there should be an entry with “[vdso]” in it, and below that another line with “[vsyscall]”. The presence of the latter line indicates that vsyscall emulation is in effect. This is not present when I check a process on my own machine, for example. Linus is legendary for being a stickler for never, ever breaking backward compatibility for userland. So the reasons for turning this off must have been pretty compelling, for him to agree to it. But the compromise is, it’s still there to be enabled if you really, really need it. There’s a bit more technical info here <https://0xax.gitbooks.io/linux-insides/content/SysCall/linux-syscall-3.html>, if you are interested. By the way, the above page is part of a book beginning here <https://0xax.gitbooks.io/linux-insides/content/>, about the insides of the Linux kernel. The whole book seems to be accessible from that link, but if you step up a level, the site doesn’t seem to have any idea about the existence of that book.