sanity.bbclass: handle lack of permission to read /proc/sys/vm/mmap_min_addr

Patch from OE.dev by Martin Jansa to workaround that we on modern Linux we can
no longer read this file.

We need a better fix but best option will be to update to a newer, relocatable,
QEMU release.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
This commit is contained in:
Joshua Lock 2010-04-16 16:41:33 +01:00
parent 6763d7506f
commit d1f413ff30
1 changed files with 9 additions and 5 deletions

View File

@ -95,11 +95,15 @@ def check_sanity(e):
messages = messages + "qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH"
if data.getVar('TARGET_ARCH', e.data, True) == "arm":
if os.path.exists("/proc/sys/vm/mmap_min_addr"):
f = file("/proc/sys/vm/mmap_min_addr", "r")
if (f.read().strip() != "0"):
messages = messages + "/proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).\n\nTo fix this in later reboots, set vm.mmap_min_addr = 0 in /etc/sysctl.conf.\n"
f.close()
# This path is no longer user-readable in modern (very recent) Linux
try:
if os.path.exists("/proc/sys/vm/mmap_min_addr"):
f = file("/proc/sys/vm/mmap_min_addr", "r")
if (f.read().strip() != "0"):
messages = messages + "/proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).\n\nTo fix this in later reboots, set vm.mmap_min_addr = 0 in /etc/sysctl.conf.\n"
f.close()
except:
pass
for util in required_utilities.split():
if not check_app_exists( util, e.data ):