Binary locale generation fails with
FATAL: kernel too old
if (e)glibc is configured for kernels newer than 2.6.16. This comes from
kernel version check in sysdeps/unix/sysv/linux/dl-osinfo.h. We configure
(e)glibc with "--enable-kernel=${OLDEST_KERNEL}", so to pass this check we
need kernel version reported from QEMU to (e)glibc be $OLDEST_KERNEL or higher.
Fix qemu "-r" parameter to match OLDEST_KERNEL.
Acked-by: Tom Rini <trini@embeddedalley.com>
def output_locale_binary(name, locale, encoding):
target_arch = bb.data.getVar("TARGET_ARCH", d, 1)
- qemu = "qemu-%s -r 2.6.16" % target_arch
+ kernel_ver = bb.data.getVar("OLDEST_KERNEL", d, 1)
+ if kernel_ver is None:
+ qemu = "qemu-%s -s 1048576" % target_arch
+ else:
+ qemu = "qemu-%s -s 1048576 -r %s" % (target_arch, kernel_ver)
pkgname = 'locale-base-' + legitimize_package_name(name)
m = re.match("(.*)\.(.*)", name)
if m:
if target_arch in ("i486", "i586", "i686"):
target_arch = "i386"
- qemu = "qemu-%s -s 1048576 -r 2.6.16" % target_arch
+ kernel_ver = bb.data.getVar("OLDEST_KERNEL", d, 1)
+ if kernel_ver is None:
+ qemu = "qemu-%s -s 1048576" % target_arch
+ else:
+ qemu = "qemu-%s -s 1048576 -r %s" % (target_arch, kernel_ver)
pkgname = 'locale-base-' + legitimize_package_name(name)
m = re.match("(.*)\.(.*)", name)
if m: