diff --git a/selfdrive/manager.py b/selfdrive/manager.py index 898297d64c..93b7b697f1 100755 --- a/selfdrive/manager.py +++ b/selfdrive/manager.py @@ -221,15 +221,11 @@ persistent_processes = [ if not PC: persistent_processes += [ + 'updated', 'logcatd', 'tombstoned', ] -if ANDROID: - persistent_processes += [ - 'updated', - ] - car_started_processes = [ 'controlsd', 'plannerd', diff --git a/selfdrive/updated.py b/selfdrive/updated.py index 1788816d34..bf2427e3a3 100755 --- a/selfdrive/updated.py +++ b/selfdrive/updated.py @@ -34,7 +34,7 @@ import threading from pathlib import Path from typing import List, Tuple, Optional -from common.hardware import ANDROID +from common.hardware import ANDROID, TICI from common.basedir import BASEDIR from common.params import Params from selfdrive.swaglog import cloudlog @@ -142,7 +142,10 @@ def setup_git_options(cwd: str) -> None: def dismount_overlay() -> None: if os.path.ismount(OVERLAY_MERGED): cloudlog.info("unmounting existing overlay") - run(["umount", "-l", OVERLAY_MERGED]) + args = ["umount", "-l", OVERLAY_MERGED] + if TICI: + args = ["sudo"] + args + run(args) def init_overlay() -> None: @@ -185,7 +188,13 @@ def init_overlay() -> None: os.sync() overlay_opts = f"lowerdir={BASEDIR},upperdir={OVERLAY_UPPER},workdir={OVERLAY_METADATA}" - run(["mount", "-t", "overlay", "-o", overlay_opts, "none", OVERLAY_MERGED]) + + mount_cmd = ["mount", "-t", "overlay", "-o", overlay_opts, "none", OVERLAY_MERGED] + if TICI: + run(["sudo"] + mount_cmd) + run(["sudo", "chmod", "755", os.path.join(OVERLAY_METADATA, "work")]) + else: + run(mount_cmd) def finalize_update() -> None: