diff --git a/qemu-build.sh b/qemu-build.sh
index 7a5b533..9468159 100755
--- a/qemu-build.sh
+++ b/qemu-build.sh
@@ -1,60 +1,44 @@
 #!/bin/bash
 ###############################################################################
 #
-# This build script is for running the QEMU build as a container with the
-# option of launching the container with Docker or Kubernetes.
+# This build script is for running the QEMU build in a container
+#
+# It expects to be run in with the qemu source present in the directory called
+# '$WORKSPACE/qemu', where WORKSPACE is an environment variable.
+#
+# In Jenkins configure the git SCM 'Additional Behaviours', 'check-out to a sub
+# directory' called 'qemu'.
+#
+# When building locally set WORKSPACE to be the directory above the qemu
+# checkout:
+#   git clone https://github.com/qemu/qemu
+#   WORKSPACE=$PWD/qemu ~/openbmc-build-scripts/qemu-build.sh
 #
 ###############################################################################
 #
 # Script Variables:
-#  build_scripts_dir  The path of the openbmc-build-scripts directory.
-#                     Default: The directory containing this script
 #  http_proxy         The HTTP address of the proxy server to connect to.
 #                     Default: "", proxy is not setup if this is not set
-#  qemu_dir           Path of the directory that holds the QEMU repo, if none
-#                     exists will clone in the OpenBMC/QEMU repo to WORKSPACE.
-#                     Default: "${WORKSPACE}/qemu"
-#  WORKSPACE          Path of the workspace directory where some intermediate
-#                     files and the images will be saved to.
-#                     Default: "~/{RandomNumber}"
-#
-# Docker Image Build Variables:
-#  build_dir          Path of the directory that is created within the docker
-#                     container where the build is actually done. Done this way
-#                     to allow NFS volumes to be used as the qemu_dir.
-#                     Default: "/tmp/qemu"
-#  img_name           Defaults to qemu-build with the arch as its tag, can be
-#                     changed or passed to give a specific name to created image
-#
-# Deployment Variables:
-#  launch             ""|job|pod
-#                     Leave blank to launch via Docker if not using kubernetes
-#                     to launch the container.
-#                     Job lets you keep a copy of job and container logs on the
-#                     api, can be useful if not using Jenkins as you can run the
-#                     job again via the api without needing this script.
-#                     Pod launches a container which runs to completion without
-#                     saving anything to the api when it completes.
+#  WORKSPACE          Path of the workspace directory where the build will
+#                     occur, and output artifacts will be produced.
 #
 ###############################################################################
 # Trace bash processing
-set -x
+#set -x
 
 # Script Variables:
-build_scripts_dir=${build_scripts_dir:-"$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"}
 http_proxy=${http_proxy:-}
-qemu_dir=${qemu_dir:-${WORKSPACE}/qemu}
-WORKSPACE=${WORKSPACE:-${HOME}/${RANDOM}${RANDOM}}
+
+if [ -z ${WORKSPACE+x} ]; then
+    echo "Please set WORKSPACE variable"
+    exit 1
+fi
 
 # Determine the architecture
 ARCH=$(uname -m)
 
 # Docker Image Build Variables:
-build_dir=${build_dir:-/tmp/qemu}
-img_name=${img_name:-qemu-build:${ARCH}}
-
-# Deployment Variables
-launch=${launch:-}
+img_name=qemu-build
 
 # Timestamp for job
 echo "Build started, $(date)"
@@ -77,29 +61,18 @@
     exit 1
 esac
 
-# If there is no qemu directory, git clone in the openbmc mirror
-if [ ! -d ${qemu_dir} ]; then
-  echo "Clone in openbmc master to ${qemu_dir}"
-  git clone https://github.com/openbmc/qemu ${qemu_dir}
-fi
-
 # Create the docker run script
 export PROXY_HOST=${http_proxy/#http*:\/\/}
 export PROXY_HOST=${PROXY_HOST/%:[0-9]*}
 export PROXY_PORT=${http_proxy/#http*:\/\/*:}
 
-mkdir -p ${WORKSPACE}
-
 cat > "${WORKSPACE}"/build.sh << EOF_SCRIPT
 #!/bin/bash
 
 set -x
 
-# create a copy of the qemudir in /qemu to use as the build directory
-cp -a ${qemu_dir}/. ${build_dir}
-
 # Go into the build directory
-cd ${build_dir}
+cd ${WORKSPACE}/qemu
 
 gcc --version
 git submodule update --init dtc
@@ -118,9 +91,9 @@
     --disable-vnc \
     --disable-werror \
     --disable-vnc-png
+make clean
 make -j4
 
-cp -a ${build_dir}/arm-softmmu/. ${WORKSPACE}/arm-softmmu/
 EOF_SCRIPT
 
 chmod a+x ${WORKSPACE}/build.sh
@@ -149,33 +122,21 @@
 RUN grep -q ${GROUPS} /etc/group || groupadd -g ${GROUPS} ${USER}
 RUN grep -q ${UID} /etc/passwd || useradd -d ${HOME} -m -u ${UID} -g ${GROUPS} ${USER}
 USER ${USER}
-RUN mkdir ${build_dir}
 ENV HOME ${HOME}
 EOF
 )
 
 docker build -t ${img_name} - <<< "${Dockerfile}"
-# If Launch is left empty will create a docker container
-if [[ "${launch}" == "" ]]; then
-
-  if [[ "$?" -ne 0 ]]; then
-    echo "Failed to build docker container."
-    exit 1
-  fi
-  mount_qemu="-v ""${qemu_dir}"":""${qemu_dir}"" "
-  if [[ "${qemu_dir}" = "${HOME}/"* || "${qemu_dir}" = "${HOME}" ]]; then
-    mount_qemu=""
-  fi
-  docker run \
-      --rm=true \
-      -e WORKSPACE=${WORKSPACE} \
-      -w "${HOME}" \
-      -v "${HOME}":"${HOME}" \
-      ${mount_qemu} \
-      -t ${img_name} \
-      ${WORKSPACE}/build.sh
-elif [[ "${launch}" == "pod" || "${launch}" == "job" ]]; then
-  . ${build_scripts_dir}/kubernetes/kubernetes-launch.sh QEMU-build true true
-else
-  echo "Launch Parameter is invalid"
+if [[ "$?" -ne 0 ]]; then
+  echo "Failed to build docker container."
+  exit 1
 fi
+
+docker run \
+    --rm=true \
+    -e WORKSPACE=${WORKSPACE} \
+    -w "${HOME}" \
+    --user="${USER}" \
+    -v "${HOME}":"${HOME}" \
+    -t ${img_name} \
+    ${WORKSPACE}/build.sh
