diff --git a/scripts/setup-on-device.sh b/scripts/setup-on-device.sh index a193387..ba9e21d 100755 --- a/scripts/setup-on-device.sh +++ b/scripts/setup-on-device.sh @@ -11,18 +11,17 @@ fi sudo mount -o rw,remount / -# symlink /usr/comma/ echo "symlink /usr/comma" sudo rm -rf /usr/comma sudo ln -snf $ROOT/userspace/usr/comma/ /usr/comma -# symlink services -echo "symlink systemd services" +echo "cp systemd services" for s in $(ls $ROOT/userspace/files/*.service); do service=$(basename $s) echo "- $service" sudo rm -f /lib/systemd/system/$service - sudo ln -sf $ROOT/userspace/files/*.service /lib/systemd/system/ + sudo cp $ROOT/userspace/files/$service /lib/systemd/system/ done +sudo $ROOT/userspace/services.sh sudo mount -o ro,remount / diff --git a/userspace/files/comma.service b/userspace/files/comma.service index fde519a..10ef18d 100644 --- a/userspace/files/comma.service +++ b/userspace/files/comma.service @@ -1,5 +1,4 @@ [Unit] -After=weston-ready.service gpio.service [Service] Type=simple diff --git a/userspace/files/set_time.service b/userspace/files/set_time.service new file mode 100644 index 0000000..ecaff3c --- /dev/null +++ b/userspace/files/set_time.service @@ -0,0 +1,8 @@ +[Unit] + +[Service] +Type=oneshot +ExecStart=/usr/local/pyenv/shims/python -u /usr/comma/set_time.py + +[Install] +WantedBy=multi-user.target diff --git a/userspace/files/weston-ready.service b/userspace/files/weston-ready.service index b6c4057..c52c8b8 100644 --- a/userspace/files/weston-ready.service +++ b/userspace/files/weston-ready.service @@ -3,6 +3,7 @@ PartOf=weston.service [Service] Type=oneshot +RemainAfterExit=yes Restart=no Environment="XDG_RUNTIME_DIR=/var/tmp/weston" diff --git a/userspace/services.sh b/userspace/services.sh index a8540b4..2b0bcc7 100755 --- a/userspace/services.sh +++ b/userspace/services.sh @@ -24,6 +24,7 @@ systemctl enable ssh-param-watcher.path systemctl enable ssh-param-watcher.service systemctl enable home.mount systemctl enable logrotate-hourly.timer +systemctl enable set_time.service # Disable some of our services systemctl disable serial-hostname.service diff --git a/userspace/usr/comma/comma.sh b/userspace/usr/comma/comma.sh index 5bb2a62..ee09f02 100755 --- a/userspace/usr/comma/comma.sh +++ b/userspace/usr/comma/comma.sh @@ -8,6 +8,20 @@ CONTINUE="/data/continue.sh" INSTALLER="/tmp/installer" RESET_TRIGGER="/data/__system_reset__" +echo "waiting for weston" +for i in {1..200}; do + if systemctl is-active --quiet weston-ready; then + break + fi + sleep 0.1 +done + +if systemctl is-active --quiet weston-ready; then + echo "weston ready after ${SECONDS}s" +else + echo "timed out waiting for weston, ${SECONDS}s" +fi + sudo chown comma: /data sudo chown comma: /data/media @@ -47,10 +61,6 @@ fi mkdir -p /data/tmp/vscode-server ln -s /data/tmp/vscode-server ~/.vscode-server -# set time from panda -# sudo because udev isn't ready yet -sudo $(which python3) /usr/comma/set_time.py - while true; do pkill -f "$SETUP"