on xenial help sign in
Support flipped image in run_on_device.
8258bacMichał Sawicz
run_on_device+23−5
@@ -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 ))'
18+FLIPPED=false
19+CHROOT_PREFIX="/data/ubuntu"
18
20
19usage() {
21usage() {
20 echo "usage: run_on_device [OPTIONS]\n"
22 echo "usage: run_on_device [OPTIONS]\n"
@@ -35,7 +37,11 @@ exec_with_ssh() {
35}
37}
36
38
37exec_with_adb() {
39exec_with_adb() {
40+ if $FLIPPED; then
41+ adb shell $@
42+ else
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 "$@"
44+ fi
39}
45}
40
46
41adb_root() {
47adb_root() {
@@ -45,7 +51,7 @@ adb_root() {
45
51
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() {
79}
85}
80
86
81run() {
87run() {
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
90 fi
97 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
110 fi
118 fi
111}
119}
112
120
@@ -130,6 +138,16 @@ done
130adb_root
138adb_root
131[ "${TARGET_IP}" = "127.0.0.1" ] && setup_adb_forwarding
139[ "${TARGET_IP}" = "127.0.0.1" ] && setup_adb_forwarding
132
140
141+if [ "`adb shell 'grep -q Ubuntu /etc/lsb-release 2> /dev/null && echo -n FLIPPED'`" = "FLIPPED" ]; then
142+ FLIPPED=true
143+ CHROOT_PREFIX=""
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."
147+ exit 2
148+ fi
149+fi
150+
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