diff options
-rw-r--r-- | meta/classes/sanity.bbclass | 11 | ||||
-rwxr-xr-x | scripts/poky-qemu-internal | 7 |
2 files changed, 18 insertions, 0 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index ef1020b215..f963f280e0 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass @@ -120,6 +120,17 @@ def check_sanity(e): if not check_app_exists("qemu-arm", e.data): 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": + # 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 ): missing = missing + "%s," % util diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal index e7b7af3930..cb5d28b904 100755 --- a/scripts/poky-qemu-internal +++ b/scripts/poky-qemu-internal @@ -150,6 +150,13 @@ if [ ! -f "$ZIMAGE" ]; then return fi +if [ -e /proc/sys/vm/mmap_min_addr ]; then + if [ `cat /proc/sys/vm/mmap_min_addr` != "0" ]; then + echo "Error, please set /proc/sys/vm/mmap_min_addr to 0 since otherwise it can cause problems with QEMU" + return + fi +fi + if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarmv7" ]; then QEMU=qemu-system-arm MACHINE_SUBTYPE=versatilepb |