qemu: add host/target Linux version check
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 10 Dec 2014 22:11:59 +0000 (23:11 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 23 Dec 2014 11:09:29 +0000 (12:09 +0100)
commitf7add51c3933e16f2b747637af82e5ebcc906f8f
tree85062086ec34c6f7ba387d78fe1b339f5baa0b80
parentb268df55c17e8323fe658412df681268b0f1b0df
qemu: add host/target Linux version check

Raise an error if the host is using an older kernel than the target.
Since qemu-user passes emulated system calls to the host kernel,
this prevents usage of qemu-user in situations where those system
calls will fail.

This is based on an original patch from Frank Hunleth
<fhunleth@troodon-software.com>, but completely rewritten in a
different way:

 * Instead of using shell based testing, we use pure make tests, which
   allows to detect the problem not when host-qemu starts to build,
   but at the very beginning of the entire Buildroot build.

 * Instead of looking at $(STAGING_DIR)/usr/include/linux/version.h
   (which requires having a dependency on the 'toolchain' package,
   which is a bit unusual for a host package), we use the
   BR2_TOOLCHAIN_HEADERS_AT_LEAST Config.in option which tells us the
   version of the kernel headers used in the toolchain.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
package/qemu/qemu.mk