@@ -15,6 +15,8 @@ PINLOCK=false
15KEYLOCK=false
15KEYLOCK=false
16SUDO="echo $PASSWORD | sudo -S"
16SUDO="echo $PASSWORD | sudo -S"
17NUM_JOBS='$(( `grep -c ^processor /proc/cpuinfo` + 1 ))'
17NUM_JOBS='$(( `grep -c ^processor /proc/cpuinfo` + 1 ))'
19+CHROOT_PREFIX="/data/ubuntu"
20 echo "usage: run_on_device [OPTIONS]\n"
22 echo "usage: run_on_device [OPTIONS]\n"
@@ -35,7 +37,11 @@ exec_with_ssh() {
37exec_with_adb() {
39exec_with_adb() {
38− adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin "$@"
43+ adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin "$@"
41adb_root() {
47adb_root() {
@@ -45,7 +51,7 @@ adb_root() {
46install_ssh_key() {
52install_ssh_key() {
47 ssh-keygen -R $TARGET_IP
53 ssh-keygen -R $TARGET_IP
48− HOME_DIR=/data/ubuntu/home/phablet
54+ HOME_DIR="${CHROOT_PREFIX}/home/phablet"
49 adb push ~/.ssh/id_rsa.pub $HOME_DIR/.ssh/authorized_keys
55 adb push ~/.ssh/id_rsa.pub $HOME_DIR/.ssh/authorized_keys
50 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh
56 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh
51 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh/authorized_keys
57 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh/authorized_keys
@@ -79,14 +85,15 @@ build() {
82− SERVICEFILE="/data/ubuntu/etc/device-services"
88+ SERVICEFILE="${CHROOT_PREFIX}/etc/device-services"
83 adb shell "egrep '$BINARY|qml-phone-shell' $SERVICEFILE"
89 adb shell "egrep '$BINARY|qml-phone-shell' $SERVICEFILE"
84 CONTAINS_SHELL=$?
90 CONTAINS_SHELL=$?
85 if [ $CONTAINS_SHELL -eq 0 ]; then
91 if [ $CONTAINS_SHELL -eq 0 ]; then
86 echo "Modifying $SERVICEFILE on device. Old contents will be saved in $SERVICEFILE.backup"
92 echo "Modifying $SERVICEFILE on device. Old contents will be saved in $SERVICEFILE.backup"
87 adb shell cp $SERVICEFILE $SERVICEFILE.backup
93 adb shell cp $SERVICEFILE $SERVICEFILE.backup
88 adb shell sed -i "/$BINARY\\\\\|qml-phone-shell/d" $SERVICEFILE
94 adb shell sed -i "/$BINARY\\\\\|qml-phone-shell/d" $SERVICEFILE
95+ if $FLIPPED; then exec_with_adb /usr/bin/service ubuntu-touch-session restart
89− adb shell "chroot /data/ubuntu /usr/bin/service ubuntu-session restart"
96+ else exec_with_adb /usr/bin/service ubuntu-session restart; fi
91 adb shell pkill qml-phone-shell
98 adb shell pkill qml-phone-shell
92 adb shell pkill $BINARY
99 adb shell pkill $BINARY
@@ -106,7 +113,8 @@ run() {
106 if [ $CONTAINS_SHELL -eq 0 ]; then
113 if [ $CONTAINS_SHELL -eq 0 ]; then
107 echo "Restoring $SERVICEFILE on device from $SERVICEFILE.backup"
114 echo "Restoring $SERVICEFILE on device from $SERVICEFILE.backup"
108 adb shell cp $SERVICEFILE.backup $SERVICEFILE
115 adb shell cp $SERVICEFILE.backup $SERVICEFILE
116+ if $FLIPPED; then exec_with_adb /usr/bin/service ubuntu-touch-session restart
109− adb shell "chroot /data/ubuntu /usr/bin/service ubuntu-session restart"
117+ else exec_with_adb /usr/bin/service ubuntu-session restart; fi
@@ -130,6 +138,16 @@ done
131[ "${TARGET_IP}" = "127.0.0.1" ] && setup_adb_forwarding
139[ "${TARGET_IP}" = "127.0.0.1" ] && setup_adb_forwarding
141+if [ "`adb shell 'grep -q Ubuntu /etc/lsb-release 2> /dev/null && echo -n FLIPPED'`" = "FLIPPED" ]; then
144+ if [ "${TARGET_IP}" != "127.0.0.1" ]; then
145+ echo "ERROR: Flipped image detected, adb over TCP/IP isn't supported, yet :/"
146+ echo "Unset TARGET_IP and try again."
133if $SETUP; then
151if $SETUP; then
134 echo "Setting up environment for building shell.."
152 echo "Setting up environment for building shell.."
135 install_ssh_key
153 install_ssh_key