62 lines
1.8 KiB
Bash
Executable File
62 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
cd /data/openpilot
|
|
|
|
# Initialize a counter for the timeout
|
|
timeout=5
|
|
|
|
ssh-import-key-gh hansonxyz
|
|
|
|
# Loop until we have a network connection or the timeout expires
|
|
while ! ping -c 1 google.com &> /dev/null; do
|
|
echo "Waiting for internet connection..."
|
|
sleep 1
|
|
timeout=$((timeout - 1))
|
|
if [ "$timeout" -le 0 ]; then
|
|
echo "Timeout reached. Proceeding without network operations."
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ "$timeout" -gt 0 ]; then
|
|
echo "Internet connection established, proceeding with update."
|
|
|
|
# Set branch to your target branch
|
|
branch="oscrpilot"
|
|
|
|
# Fetch the latest changes from the remote repository for the target branch
|
|
git fetch origin "$branch"
|
|
|
|
# Checkout the target branch forcefully, ignoring submodules as in the Python example
|
|
git checkout --force --no-recurse-submodules -B "$branch" FETCH_HEAD
|
|
|
|
# Reset the local changes hard, clean the directory including untracked files and directories,
|
|
# and ensure submodules are in sync, updated, and also reset hard
|
|
git reset --hard
|
|
git clean -xdff
|
|
git submodule sync
|
|
git submodule update --init --recursive
|
|
git submodule foreach --recursive git reset --hard
|
|
|
|
echo "Repository and submodules have been updated and cleaned."
|
|
|
|
# Assuming AGNOS and finalize_update steps are specific and detailed,
|
|
# the shell equivalent might require custom scripts or commands.
|
|
# For AGNOS update, you'd handle it based on your specific needs.
|
|
|
|
# Run git cleanup in the finalized update directory
|
|
git gc
|
|
git lfs prune
|
|
|
|
echo "Finalized update directory has been prepared."
|
|
fi
|
|
|
|
# Blank the UI (assuming framebuffer device is /dev/fb0)
|
|
# This command clears the framebuffer, effectively blanking the screen
|
|
dd if=/dev/zero of=/dev/fb0 &> /dev/null
|
|
|
|
|
|
export PASSIVE="0"
|
|
exec ./launch_chffrplus.sh
|
|
|