summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-09-01 15:08:09 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-01 15:08:45 +0100
commitcaab7fc509bf27706ff3248689f6afd04225cfda (patch)
treef832f656c91502303968fcee1aae382b9f713626
parent232ef8430e2cfbf6eee54f602dc74b9986e3997f (diff)
downloadopenembedded-core-caab7fc509bf27706ff3248689f6afd04225cfda.tar.gz
openembedded-core-caab7fc509bf27706ff3248689f6afd04225cfda.tar.bz2
openembedded-core-caab7fc509bf27706ff3248689f6afd04225cfda.tar.xz
openembedded-core-caab7fc509bf27706ff3248689f6afd04225cfda.zip
Drop chroot usage as its not well used, tested and is broken
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--handbook/development.xml42
-rw-r--r--meta/packages/oh/qemu-config.bb8
-rwxr-xr-xmeta/packages/oh/qemu-config/poky-chroot-init7
-rwxr-xr-xmeta/packages/oh/qemu-config/poky-chroot-launch26
-rwxr-xr-xscripts/poky-chroot-run86
-rwxr-xr-xscripts/poky-chroot-setup31
6 files changed, 2 insertions, 198 deletions
diff --git a/handbook/development.xml b/handbook/development.xml
index 4f36c7aa8..3bcf40506 100644
--- a/handbook/development.xml
+++ b/handbook/development.xml
@@ -241,48 +241,6 @@
</para>
</section>
- <section id="platdev-appdev-chroot">
- <title>Developing externally in a chroot</title>
- <para>
- If you have a system that matches the architecture of the Poky machine you're using,
- such as qemux86, you can run binaries directly from the image on the host system
- using a chroot combined with tools like <ulink url='http://projects.o-hand.com/xephyr'>Xephyr</ulink>.
- </para>
- <para>
- Poky has some scripts to make using its qemux86 images within a chroot easier. To use
- these you need to install the poky-scripts package or otherwise obtain the
- <filename>poky-chroot-setup</filename> and <filename>poky-chroot-run</filename> scripts.
- You also need Xephyr and chrootuid binaries available. To initialize a system use the setup script:
- </para>
- <para>
- <literallayout class='monospaced'>
-# poky-chroot-setup &lt;qemux86-rootfs.tgz&gt; &lt;target-directory&gt;
-</literallayout>
- </para>
- <para>
- which will unpack the specified qemux86 rootfs tarball into the target-directory.
- You can then start the system with:
- </para>
- <para>
- <literallayout class='monospaced'>
-# poky-chroot-run &lt;target-directory&gt; &lt;command&gt;
-</literallayout>
- </para>
- <para>
- where the target-directory is the place the rootfs was unpacked to and command is
- an optional command to run. If no command is specified, the system will drop you
- within a bash shell. A Xephyr window will be displayed containing the emulated
- system and you may be asked for a password since some of the commands used for
- bind mounting directories need to be run using sudo.
- </para>
- <para>
- There are limits as to how far the the realism of the chroot environment extends.
- It is useful for simple development work or quick tests but full system emulation
- with QEMU offers a much more realistic environment for more complex development
- tasks. Note that chroot support within Poky is still experimental.
- </para>
- </section>
-
<section id="platdev-appdev-insitu">
<title>Developing in Poky directly</title>
<para>
diff --git a/meta/packages/oh/qemu-config.bb b/meta/packages/oh/qemu-config.bb
index f1b7de74a..fc5932028 100644
--- a/meta/packages/oh/qemu-config.bb
+++ b/meta/packages/oh/qemu-config.bb
@@ -1,14 +1,12 @@
DESCRIPTION = "Adds scripts to use distcc on the host system under qemu"
LICENSE = "GPL"
-RDEPENDS = "distcc task-poky-nfs-server fakeroot oprofileui-server rsync bash"
-PR = "r16"
+RDEPENDS = "distcc task-poky-nfs-server oprofileui-server rsync bash"
+PR = "r17"
SRC_URI = "file://distcc.sh \
file://anjuta-remote-run \
file://exports \
file://shutdown.desktop \
- file://poky-chroot-init \
- file://poky-chroot-launch \
file://qemu-autostart"
S = "${WORKDIR}"
@@ -24,8 +22,6 @@ do_install() {
install -d ${D}${bindir}
install -m 0755 anjuta-remote-run ${D}${bindir}/
- install -m 0775 poky-chroot-init ${D}${bindir}/
- install -m 0775 poky-chroot-launch ${D}${bindir}/
install -d ${D}${datadir}/applications
install -m 0644 shutdown.desktop ${D}${datadir}/applications/
diff --git a/meta/packages/oh/qemu-config/poky-chroot-init b/meta/packages/oh/qemu-config/poky-chroot-init
deleted file mode 100755
index 0afa50510..000000000
--- a/meta/packages/oh/qemu-config/poky-chroot-init
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-export USER=root
-export HOME=/home/root
-export PATH=/sbin:/bin:/usr/sbin:/usr/bin
-
-fakeroot ipkg configure
diff --git a/meta/packages/oh/qemu-config/poky-chroot-launch b/meta/packages/oh/qemu-config/poky-chroot-launch
deleted file mode 100755
index dbc432b66..000000000
--- a/meta/packages/oh/qemu-config/poky-chroot-launch
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-export USER=root
-export HOME=/home/root
-export PATH=/sbin:/bin:/usr/sbin:/usr/bin
-
-export DISPLAY=:1
-
-unset DBUS_SESSION_BUS_ADDRESS
-
-SERVICES=dbus-1
-
-for S in $SERVICES; do
- fakeroot /etc/init.d/$S start
-done
-
-/etc/X11/Xsession &
-
-bash -l
-
-# The --user option in the dbus stop script breaks under chroot
-/sbin/start-stop-daemon --stop --pidfile /var/run/dbus/pid
-
-for S in $SERVICES; do
- fakeroot /etc/init.d/$S stop
-done
diff --git a/scripts/poky-chroot-run b/scripts/poky-chroot-run
deleted file mode 100755
index f1f4dec6a..000000000
--- a/scripts/poky-chroot-run
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/bash
-#
-# Runs a command within a Poky chroot
-#
-
-XEPHYR=`which Xephyr`
-if [ ! -n "$XEPHYR" -o ! -x "$XEPHYR" ]; then
- echo "You need to install Xephyr to use $0"
- exit 1
-fi
-
-CHROOTUID=`which chrootuid`
-if [ ! -n "$CHROOTUID" -o ! -x "$CHROOTUID" ]; then
- echo "You need to install Xephyr to use $0"
- exit 1
-fi
-
-
-case $# in
- 0)
- echo "Invalid arguments."
- echo "$ $0 <target> [command]"
- exit 1
- ;;
- 1)
- ROOTFS=$1
- shift
- # Set $1 to be the boot script
- set -- /usr/bin/poky-chroot-launch
- ;;
- *)
- ROOTFS=$1
- shift
- # Now $1 onwards are the command and arguments to run
- ;;
-esac
-
-test -f "$ROOTFS/.pokychroot" || { echo "$ROOTFS is not setup for use as a Poky chroot." ; exit 1 ;}
-
-set -e
-
-# chrootuid doesn't handle relative paths, so ensure that the rootfs path is
-# absolute
-if test ${ROOTFS:0:1} != /; then
- ROOTFS="$(pwd)/$ROOTFS"
-fi
-
-safe_mount() {
- if ! mountpoint -q "$ROOTFS/$1"; then
- sudo mount --bind $1 "$ROOTFS/$1"
- fi
-}
-safe_umount() {
- if mountpoint -q "$ROOTFS/$1"; then
- sudo umount "$ROOTFS/$1"
- fi
-}
-
-# Mount the directories we need
-for m in /dev /dev/pts /dev/shm /proc /sys /tmp; do
- safe_mount $m
-done
-
-# Set up the environment
-export PATH=/bin:/usr/bin:/sbin:/usr/sbin
-export HOME=/home/$USER
-
-if [ ! -f "$ROOTFS/.pokychroot.init" ]; then
- sudo $CHROOTUID -i "$ROOTFS" $USER /bin/sh -c "/usr/bin/poky-chroot-init"
- touch "$ROOTFS/.pokychroot.init"
-fi
-
-$XEPHYR :1 -ac -screen 640x480x16 &
-
-# Go go go!
-sudo $CHROOTUID -i "$ROOTFS" $USER "$@" || /bin/true
-
-# Trap term signals so we don't kill ourselves
-trap true TERM
-# send term signal to the process group
-kill -- -$$
-
-# Unmount TODO: only umount if there are no other sessions active, somehow.
-for m in /tmp /sys /proc /dev/shm /dev/pts /dev; do
- safe_umount $m
-done
diff --git a/scripts/poky-chroot-setup b/scripts/poky-chroot-setup
deleted file mode 100755
index 209efd6df..000000000
--- a/scripts/poky-chroot-setup
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-#
-# Script to extract a poky qemux86 rootfs and prepare it for
-# use as a chroot
-#
-
-set -e
-
-case $# in
- 2)
- TGZ=$1
- TARGET=$2
- ;;
- *)
- echo "Invalid arguments, please run as:"
- echo "$ $0 <qemux86-rootfs.tar.gz> <target-directory>"
- exit 1
-esac
-
-echo "Extracting $TGZ into $TARGET"
-
-test -d "$TARGET" && { echo "$TARGET already exists, please remove and retry or specify a dirferent directory." ; exit 1 ; }
-mkdir --parents "$TARGET"
-
-tar -C "$TARGET" --exclude ./dev/\* -jxp -f "$TGZ"
-echo "HAVE_TOUCHSCREEN=0" >> "$TARGET/etc/formfactor/machconfig"
-echo "DISPLAY_WIDTH_PIXELS=640" >> "$TARGET/etc/formfactor/machconfig"
-echo "DISPLAY_HEIGHT_PIXELS=480" >> "$TARGET/etc/formfactor/machconfig"
-cp /etc/passwd "$TARGET/etc/passwd"
-cp /etc/resolv.conf "$TARGET/etc/resolv.conf"
-touch "$TARGET/.pokychroot"