From 1fd13c87b429102951c69c5c980da2804cd3681a Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Sat, 12 Sep 2020 17:57:24 -0700 Subject: [PATCH] tici launch script (#2155) --- launch_chffrplus.sh | 99 ++++++++++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 46 deletions(-) diff --git a/launch_chffrplus.sh b/launch_chffrplus.sh index af548356..09f18c5d 100755 --- a/launch_chffrplus.sh +++ b/launch_chffrplus.sh @@ -8,52 +8,7 @@ source "$BASEDIR/launch_env.sh" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -function launch { - # Wifi scan - wpa_cli IFNAME=wlan0 SCAN - - # Remove orphaned git lock if it exists on boot - [ -f "$DIR/.git/index.lock" ] && rm -f $DIR/.git/index.lock - - # Check to see if there's a valid overlay-based update available. Conditions - # are as follows: - # - # 1. The BASEDIR init file has to exist, with a newer modtime than anything in - # the BASEDIR Git repo. This checks for local development work or the user - # switching branches/forks, which should not be overwritten. - # 2. The FINALIZED consistent file has to exist, indicating there's an update - # that completed successfully and synced to disk. - - if [ -f "${BASEDIR}/.overlay_init" ]; then - find ${BASEDIR}/.git -newer ${BASEDIR}/.overlay_init | grep -q '.' 2> /dev/null - if [ $? -eq 0 ]; then - echo "${BASEDIR} has been modified, skipping overlay update installation" - else - if [ -f "${STAGING_ROOT}/finalized/.overlay_consistent" ]; then - if [ ! -d /data/safe_staging/old_openpilot ]; then - echo "Valid overlay update found, installing" - LAUNCHER_LOCATION="${BASH_SOURCE[0]}" - - mv $BASEDIR /data/safe_staging/old_openpilot - mv "${STAGING_ROOT}/finalized" $BASEDIR - cd $BASEDIR - - # Partial mitigation for symlink-related filesystem corruption - # Ensure all files match the repo versions after update - git reset --hard - git submodule foreach --recursive git reset --hard - - echo "Restarting launch script ${LAUNCHER_LOCATION}" - unset REQUIRED_NEOS_VERSION - exec "${LAUNCHER_LOCATION}" - else - echo "openpilot backup found, not updating" - # TODO: restore backup? This means the updater didn't start after swapping - fi - fi - fi - fi - +function two_init { # Android and other system processes are not permitted to run on CPU 3 # NEOS installed app processes can run anywhere echo 0-2 > /dev/cpuset/background/cpus @@ -105,6 +60,58 @@ function launch { echo "restart" > /sys/kernel/debug/msm_subsys/slpi && sleep 5 # Give Android sensor subsystem a moment to recover fi +} + +function launch { + # Wifi scan + wpa_cli IFNAME=wlan0 SCAN + + # Remove orphaned git lock if it exists on boot + [ -f "$DIR/.git/index.lock" ] && rm -f $DIR/.git/index.lock + + # Check to see if there's a valid overlay-based update available. Conditions + # are as follows: + # + # 1. The BASEDIR init file has to exist, with a newer modtime than anything in + # the BASEDIR Git repo. This checks for local development work or the user + # switching branches/forks, which should not be overwritten. + # 2. The FINALIZED consistent file has to exist, indicating there's an update + # that completed successfully and synced to disk. + + if [ -f "${BASEDIR}/.overlay_init" ]; then + find ${BASEDIR}/.git -newer ${BASEDIR}/.overlay_init | grep -q '.' 2> /dev/null + if [ $? -eq 0 ]; then + echo "${BASEDIR} has been modified, skipping overlay update installation" + else + if [ -f "${STAGING_ROOT}/finalized/.overlay_consistent" ]; then + if [ ! -d /data/safe_staging/old_openpilot ]; then + echo "Valid overlay update found, installing" + LAUNCHER_LOCATION="${BASH_SOURCE[0]}" + + mv $BASEDIR /data/safe_staging/old_openpilot + mv "${STAGING_ROOT}/finalized" $BASEDIR + cd $BASEDIR + + # Partial mitigation for symlink-related filesystem corruption + # Ensure all files match the repo versions after update + git reset --hard + git submodule foreach --recursive git reset --hard + + echo "Restarting launch script ${LAUNCHER_LOCATION}" + unset REQUIRED_NEOS_VERSION + exec "${LAUNCHER_LOCATION}" + else + echo "openpilot backup found, not updating" + # TODO: restore backup? This means the updater didn't start after swapping + fi + fi + fi + fi + + # comma two init + if [ -f /EON ]; then + two_init + fi # handle pythonpath ln -sfn $(pwd) /data/pythonpath