diff --git a/tools/package/init/onos.initd b/tools/package/init/onos.initd
index 9e33c98..95c2641 100755
--- a/tools/package/init/onos.initd
+++ b/tools/package/init/onos.initd
@@ -22,26 +22,51 @@
 [ -f $ONOS_HOME/options ] && . $ONOS_HOME/options
 ONOS_USER=${ONOS_USER:-root}
 ONOS_GROUP=${ONOS_GROUP:-$ONOS_USER}
-ONOS_OPTS=${ONOS_OPTS:-server}
-ONOS_PID=${ONOS_PID:-/var/run/onos.pid}
+ONOS_OPTS=${ONOS_OPTS:-""}
 
 start () {
-    mkdir -p $ONOS_HOME/var 2>/dev/null && chown $ONOS_USER.$ONOS_GROUP $ONOS_HOME/var
-    mkdir -p $ONOS_HOME/config 2>/dev/null && chown $ONOS_USER.$ONOS_GROUP $ONOS_HOME/config
+    mkdir -p $ONOS_HOME/var 2>/dev/null && chown $ONOS_USER:$ONOS_GROUP $ONOS_HOME/var
+    mkdir -p $ONOS_HOME/config 2>/dev/null && chown $ONOS_USER:$ONOS_GROUP $ONOS_HOME/config
     [ ! -h $ONOS_HOME/log ]  && ln -s $ONOS_HOME/karaf/data/log $ONOS_HOME/log || :
     # Start ONOS if it's not already running
-    if ! status > /dev/null; then
-        start-stop-daemon --signal INT --start --chuid $ONOS_USER \
-            --background --exec $ONOS_HOME/bin/onos-service \
-            -- $ONOS_OPTS >$ONOS_HOME/var/stdout.log 2>$ONOS_HOME/var/stderr.log
+    if ! status >/dev/null; then
+        echo "Starting ONOS"
+        startonos $ONOS_HOME/bin/onos-service server $ONOS_OPTS
     else
         echo "ONOS/karaf is already running"
     fi
 }
 
+startonos () {
+    cmd=$1
+    shift
+    # Start ONOS as a daemon
+    . /etc/init.d/functions && true
+    if type daemon | grep -i function >/dev/null 2>&1; then
+        # Use 'daemon' function if available
+        # Shell metacharacters are passed as arguments to daemon
+        daemon --user $ONOS_USER $cmd $* \
+            \>$ONOS_HOME/var/stdout.log 2\>$ONOS_HOME/var/stderr.log \&
+    elif type start-stop-daemon >/dev/null 2>&1; then
+        # Use start-stop-daemon if available
+        # Warning! running as root can overwrite any linked log file
+        start-stop-daemon --signal INT --start --chuid $ONOS_USER \
+            --background --exec $cmd -- $* \
+            >$ONOS_HOME/var/stdout.log 2>$ONOS_HOME/var/stderr.log
+    else
+        # Fall back to using sudo
+        # Warning! running as root can overwrite any linked log file
+        sudo -E -n -u -b $ONOS_USER $cmd $* \
+            >$ONOS_HOME/var/stdout.log 2>$ONOS_HOME/var/stderr.log
+    fi
+}
+
 stop () {
-    if status> /dev/null; then
+    if status >/dev/null; then
+        echo "Stopping ONOS"
         $ONOS_HOME/karaf/bin/stop
+        # Wait until karaf claims not to be running
+        while status >/dev/null; do echo -n .; sleep 1; done
     else
         echo "ONOS/karaf is not running"
     fi
@@ -49,12 +74,18 @@
 
 restart () {
         stop
+        sleep 2  # Bogus hack since karaf stop doesn't work ;-(
         start
 }
 
 status () {
     # karaf status returns 0 if running, 1 if not
-    $ONOS_HOME/karaf/bin/status
+    if [ `id -u` == 0 ]; then
+        # Avoid creating data dir as root
+        sudo -n -u $ONOS_USER $ONOS_HOME/karaf/bin/status
+    else
+        $ONOS_HOME/karaf/bin/status
+    fi
 }
 
 case $1 in
diff --git a/tools/test/bin/onos-config b/tools/test/bin/onos-config
index e37dc3b..a38191d 100755
--- a/tools/test/bin/onos-config
+++ b/tools/test/bin/onos-config
@@ -37,7 +37,7 @@
 # ONOS builtin apps and providers ignited by default
 export ONOS_APPS="${ONOS_APPS:-drivers,openflow}"
 
-ssh $remote "
+ssh -tt $remote "
     echo \"onos.ip = \$(sudo ifconfig | grep $ONOS_NIC | cut -d: -f2 | cut -d\\  -f1)\" \
         >> $ONOS_INSTALL_DIR/$KARAF_DIST/etc/system.properties
 
diff --git a/tools/test/bin/onos-install b/tools/test/bin/onos-install
index f0fb9dd..e35585c 100755
--- a/tools/test/bin/onos-install
+++ b/tools/test/bin/onos-install
@@ -55,7 +55,7 @@
 
 [ ! -z "$mvn_settings" ] && scp -q $mvn_settings $remote:/tmp/settings.xml
 
-ssh $remote "
+ssh -tt $remote "
     [ -d $ONOS_INSTALL_DIR/bin ] && echo \"ONOS is already installed\" && exit 1
 
     # Prepare a landing zone and unroll the bits
diff --git a/tools/test/bin/onos-service b/tools/test/bin/onos-service
index 43c231c..eab52ed 100755
--- a/tools/test/bin/onos-service
+++ b/tools/test/bin/onos-service
@@ -43,7 +43,7 @@
 
         # Execute the remote commands
         for node in $nodes; do
-            ssh $ONOS_USER@${node} "sudo service onos ${2:-status}"
+            ssh -tt $ONOS_USER@${node} "sudo service onos ${2:-status}"
         done
     ;;
     *)
diff --git a/tools/test/bin/onos-uninstall b/tools/test/bin/onos-uninstall
index ff8ff53..cf767c4 100755
--- a/tools/test/bin/onos-uninstall
+++ b/tools/test/bin/onos-uninstall
@@ -26,9 +26,8 @@
 
 remote=$ONOS_USER@${1:-$OCI}
 
-ssh $remote "
-    sudo stop onos 1>/dev/null 2>/dev/null
-
+ssh -tt $remote "
+    sudo service onos stop  1>/dev/null 2>/dev/null
     # Wait for onos to stop up to 5 seconds
     for i in \$(seq 1 5); do
       [ -z \"\$(ps -ef | grep karaf.jar | grep -v grep)\" ] && break
