summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Garman <scott.a.garman@intel.com>2010-12-07 20:59:06 -0800
committerJoshua Lock <josh@linux.intel.com>2011-01-14 12:07:29 +0000
commit54f08d23cd7d0de6aec31f4764389ff4dab2990d (patch)
tree1514e13c646a2c22031a0c2a75a2602ea4fae47e
parent8a3d0f375ce416ada1a5443e4a8e467504001beb (diff)
downloadpoky-54f08d23cd7d0de6aec31f4764389ff4dab2990d.tar.gz
Make poky-qemu and related scripts work with arbitrary SDK locations
* No longer assume SDK toolchains are installed in /opt/poky * [BUGFIX #568] where specifying paths to both the kernel and fs image caused an error due to POKY_NATIVE_SYSROOT never being set, triggering failure of poky-qemu-ifup/ifdown * Cosmetic improvements to usage() functions by using basename Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-rwxr-xr-xscripts/poky-find-native-sysroot2
-rwxr-xr-xscripts/poky-qemu38
-rwxr-xr-xscripts/poky-qemu-ifdown9
-rwxr-xr-xscripts/poky-qemu-ifup9
-rwxr-xr-xscripts/poky-qemu-internal16
5 files changed, 26 insertions, 48 deletions
diff --git a/scripts/poky-find-native-sysroot b/scripts/poky-find-native-sysroot
index d8002f963e..226229421c 100755
--- a/scripts/poky-find-native-sysroot
+++ b/scripts/poky-find-native-sysroot
@@ -1,7 +1,7 @@
1#!/bin/bash 1#!/bin/bash
2# 2#
3# Find a native sysroot to use - either from an in-tree Poky build or 3# Find a native sysroot to use - either from an in-tree Poky build or
4# from a toolchain installation in /opt/poky. It then ensures the variable 4# from a toolchain installation. It then ensures the variable
5# $POKY_NATIVE_SYSROOT is set to the sysroot's base directory, and sets 5# $POKY_NATIVE_SYSROOT is set to the sysroot's base directory, and sets
6# $PSEUDO to the path of the pseudo binary. 6# $PSEUDO to the path of the pseudo binary.
7# 7#
diff --git a/scripts/poky-qemu b/scripts/poky-qemu
index bc312e0fb6..67af439ea9 100755
--- a/scripts/poky-qemu
+++ b/scripts/poky-qemu
@@ -31,9 +31,9 @@ usage() {
31 echo " serial - enables a serial console on /dev/ttyS0" 31 echo " serial - enables a serial console on /dev/ttyS0"
32 echo "" 32 echo ""
33 echo "Examples:" 33 echo "Examples:"
34 echo " $0 qemuarm" 34 echo " $MYNAME qemuarm"
35 echo " $0 qemux86-64 poky-image-sato ext3" 35 echo " $MYNAME qemux86-64 poky-image-sato ext3"
36 echo " $0 path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial" 36 echo " $MYNAME path/to/bzImage-qemux86.bin path/to/nfsrootdir/ serial"
37 exit 1 37 exit 1
38} 38}
39 39
@@ -213,23 +213,29 @@ setup_tmpdir() {
213 echo "before running this script" >&2; 213 echo "before running this script" >&2;
214 exit 1; } 214 exit 1; }
215 215
216 # We have bitbake in PATH, get TMPDIR and BUILD_SYS 216 # We have bitbake in PATH, get TMPDIR from bitbake
217 # from the environment
218 TMPDIR=`bitbake -e | grep TMPDIR=\" | cut -d '=' -f2 | cut -d '"' -f2` 217 TMPDIR=`bitbake -e | grep TMPDIR=\" | cut -d '=' -f2 | cut -d '"' -f2`
219 BUILD_SYS=`bitbake -e | grep BUILD_SYS=\" | cut -d '=' -f2 | cut -d '"' -f2`
220 else 218 else
221 BUILD_ARCH=`uname -m`
222 BUILD_OS=`uname | tr '[A-Z]' '[a-z]'`
223 BUILD_SYS="$BUILD_ARCH-$BUILD_OS"
224 TMPDIR=$BUILDDIR/tmp 219 TMPDIR=$BUILDDIR/tmp
225 fi 220 fi
226 if [ -z "$POKY_NATIVE_SYSROOT" ]; then
227 POKY_NATIVE_SYSROOT=$TMPDIR/sysroots/$BUILD_SYS
228 fi
229 CROSSPATH=$POKY_NATIVE_SYSROOT/usr/bin
230 fi 221 fi
231} 222}
232 223
224setup_sysroot() {
225 # Toolchain installs set up $POKY_NATIVE_SYSROOT in their
226 # environment script. If that variable isn't set, we're
227 # either in an in-tree poky scenario or the environment
228 # script wasn't source'd.
229 if [ -z "$POKY_NATIVE_SYSROOT" ]; then
230 setup_tmpdir
231 BUILD_ARCH=`uname -m`
232 BUILD_OS=`uname | tr '[A-Z]' '[a-z]'`
233 BUILD_SYS="$BUILD_ARCH-$BUILD_OS"
234
235 POKY_NATIVE_SYSROOT=$TMPDIR/sysroots/$BUILD_SYS
236 fi
237}
238
233# Locate a rootfs image based on defaults defined above 239# Locate a rootfs image based on defaults defined above
234findimage() { 240findimage() {
235 where=$1 241 where=$1
@@ -254,8 +260,6 @@ findimage() {
254} 260}
255 261
256if [[ -e "$ROOTFS" && -z "$FSTYPE" ]]; then 262if [[ -e "$ROOTFS" && -z "$FSTYPE" ]]; then
257 setup_tmpdir
258
259 # Extract the filename extension 263 # Extract the filename extension
260 EXT=`echo $ROOTFS | awk -F . '{ print \$NF }'` 264 EXT=`echo $ROOTFS | awk -F . '{ print \$NF }'`
261 if [[ "x$EXT" == "xext2" || "x$EXT" == "xext3" || 265 if [[ "x$EXT" == "xext2" || "x$EXT" == "xext3" ||
@@ -281,7 +285,6 @@ fi
281# KERNEL is now set for all cases 285# KERNEL is now set for all cases
282 286
283if [ -z "$FSTYPE" ]; then 287if [ -z "$FSTYPE" ]; then
284 setup_tmpdir
285 eval FSTYPE=\$${machine2}_DEFAULT_FSTYPE 288 eval FSTYPE=\$${machine2}_DEFAULT_FSTYPE
286 289
287 if [ -z "$FSTYPE" ]; then 290 if [ -z "$FSTYPE" ]; then
@@ -318,6 +321,9 @@ echo "KERNEL: [$KERNEL]"
318echo "ROOTFS: [$ROOTFS]" 321echo "ROOTFS: [$ROOTFS]"
319echo "FSTYPE: [$FSTYPE]" 322echo "FSTYPE: [$FSTYPE]"
320 323
324setup_sysroot
325# POKY_NATIVE_SYSROOT is now set for all cases
326
321# We can't run without a libGL.so 327# We can't run without a libGL.so
322libgl='no' 328libgl='no'
323 329
diff --git a/scripts/poky-qemu-ifdown b/scripts/poky-qemu-ifdown
index 60ca919dea..bc90a9c12d 100755
--- a/scripts/poky-qemu-ifdown
+++ b/scripts/poky-qemu-ifdown
@@ -27,7 +27,7 @@
27# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 27# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28 28
29usage() { 29usage() {
30 echo "sudo $0 <tap-dev> <native-sysroot-basedir>" 30 echo "sudo $(basename $0) <tap-dev> <native-sysroot-basedir>"
31} 31}
32 32
33if [ $EUID -ne 0 ]; then 33if [ $EUID -ne 0 ]; then
@@ -46,13 +46,6 @@ NATIVE_SYSROOT_DIR=$2
46TUNCTL=$NATIVE_SYSROOT_DIR/usr/bin/tunctl 46TUNCTL=$NATIVE_SYSROOT_DIR/usr/bin/tunctl
47if [ ! -e "$TUNCTL" ]; then 47if [ ! -e "$TUNCTL" ]; then
48 echo "Error: Unable to find tunctl binary in '$NATIVE_SYSROOT_DIR/usr/bin'" 48 echo "Error: Unable to find tunctl binary in '$NATIVE_SYSROOT_DIR/usr/bin'"
49
50 if [[ "$NATIVE_SYSROOT_DIR" =~ ^\/opt\/poky ]]; then
51 echo "This shouldn't happen - something is wrong with your toolchain installation"
52 else
53 echo "Have you run 'bitbake meta-ide-support'?"
54 fi
55
56 exit 1 49 exit 1
57fi 50fi
58 51
diff --git a/scripts/poky-qemu-ifup b/scripts/poky-qemu-ifup
index 8685c83cce..f82848ccce 100755
--- a/scripts/poky-qemu-ifup
+++ b/scripts/poky-qemu-ifup
@@ -34,7 +34,7 @@
34# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 34# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
35 35
36usage() { 36usage() {
37 echo "sudo $0 <gid> <native-sysroot-basedir>" 37 echo "sudo $(basename $0) <gid> <native-sysroot-basedir>"
38} 38}
39 39
40if [ $EUID -ne 0 ]; then 40if [ $EUID -ne 0 ]; then
@@ -53,13 +53,6 @@ NATIVE_SYSROOT_DIR=$2
53TUNCTL=$NATIVE_SYSROOT_DIR/usr/bin/tunctl 53TUNCTL=$NATIVE_SYSROOT_DIR/usr/bin/tunctl
54if [ ! -x "$TUNCTL" ]; then 54if [ ! -x "$TUNCTL" ]; then
55 echo "Error: Unable to find tunctl binary in '$NATIVE_SYSROOT_DIR/usr/bin'" 55 echo "Error: Unable to find tunctl binary in '$NATIVE_SYSROOT_DIR/usr/bin'"
56
57 if [[ "$NATIVE_SYSROOT_DIR" =~ ^\/opt\/poky ]]; then
58 echo "This shouldn't happen - something is wrong with your toolchain installation"
59 else
60 echo "Have you run 'bitbake meta-ide-support'?"
61 fi
62
63 exit 1 56 exit 1
64fi 57fi
65 58
diff --git a/scripts/poky-qemu-internal b/scripts/poky-qemu-internal
index cf16407e2a..c38d530336 100755
--- a/scripts/poky-qemu-internal
+++ b/scripts/poky-qemu-internal
@@ -394,23 +394,9 @@ if [ "x$QEMUOPTIONS" = "x" ]; then
394 return 394 return
395fi 395fi
396 396
397SDKDIR="/opt/poky/sysroots" 397PATH=$CROSSPATH:$POKY_NATIVE_SYSROOT/usr/bin:$PATH
398if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "spitz" -o "$MACHINE" = "borzoi" -o "$MACHINE" = "akita" -o "$MACHINE" = "nokia800" ]; then
399 SDKPATH="$SDKDIR/arm-poky-linux-gnueabi/bin"
400fi
401
402if [ "$MACHINE" = "qemux86" ]; then
403 SDKPATH="$SDKDIR/i586-poky-linux/bin"
404fi
405
406if [ "$MACHINE" = "qemux86-64" ]; then
407 SDKPATH="$SDKDIR/x86_64-poky-linux/bin"
408fi
409
410PATH=$CROSSPATH:$SDKPATH:$PATH
411 398
412QEMUBIN=`which $QEMU` 399QEMUBIN=`which $QEMU`
413
414if [ ! -x "$QEMUBIN" ]; then 400if [ ! -x "$QEMUBIN" ]; then
415 echo "Error: No QEMU binary '$QEMU' could be found." 401 echo "Error: No QEMU binary '$QEMU' could be found."
416 cleanup 402 cleanup