|
|
|
|
@@ -32,11 +32,9 @@ sudo mount -o remount,rw /
|
|
|
|
|
echo "Installing packages..."
|
|
|
|
|
sudo apt-get update -qq
|
|
|
|
|
sudo apt-get install -y openvpn curl ccrypt
|
|
|
|
|
echo "Installing Node.js 18..."
|
|
|
|
|
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
|
|
|
|
|
#echo "Installing Node.js 20..."
|
|
|
|
|
#curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
|
|
|
sudo apt-get install -y nodejs
|
|
|
|
|
node -v
|
|
|
|
|
sudo apt-get install -y npm
|
|
|
|
|
mount -o rw,remount /
|
|
|
|
|
echo "Installing Claude Code..."
|
|
|
|
|
curl -fsSL https://claude.ai/install.sh | bash
|
|
|
|
|
@@ -49,19 +47,29 @@ serial=$(sed 's/.*androidboot.serialno=\([^ ]*\).*/\1/' /proc/cmdline)
|
|
|
|
|
ssh_dir="/data/ssh/.ssh"
|
|
|
|
|
if [[ $serial == 3889765b ]] && [[ ! -f "$ssh_dir/id_ed25519" || ! -f "$ssh_dir/id_ed25519.pub" ]]; then
|
|
|
|
|
echo "Decrypting SSH identity keys (serial=$serial)..."
|
|
|
|
|
bash /data/openpilot/system/clearpilot/tools/decrypt /data/openpilot/system/clearpilot/dev/id_ed25519.cpt /data/openpilot/system/clearpilot/dev/id_ed25519
|
|
|
|
|
bash /data/openpilot/system/clearpilot/tools/decrypt /data/openpilot/system/clearpilot/dev/id_ed25519.pub.cpt /data/openpilot/system/clearpilot/dev/id_ed25519.pub
|
|
|
|
|
tmpdir=$(mktemp -d)
|
|
|
|
|
bash /data/openpilot/system/clearpilot/tools/decrypt /data/openpilot/system/clearpilot/dev/id_ed25519.cpt "$tmpdir/id_ed25519"
|
|
|
|
|
bash /data/openpilot/system/clearpilot/tools/decrypt /data/openpilot/system/clearpilot/dev/id_ed25519.pub.cpt "$tmpdir/id_ed25519.pub"
|
|
|
|
|
mkdir -p "$ssh_dir"
|
|
|
|
|
cp /data/openpilot/system/clearpilot/dev/id_ed25519 /data/openpilot/system/clearpilot/dev/id_ed25519.pub "$ssh_dir/"
|
|
|
|
|
cp "$tmpdir/id_ed25519" "$tmpdir/id_ed25519.pub" "$ssh_dir/"
|
|
|
|
|
rm -rf "$tmpdir"
|
|
|
|
|
chmod 700 "$ssh_dir"
|
|
|
|
|
chmod 600 "$ssh_dir/id_ed25519"
|
|
|
|
|
chmod 644 "$ssh_dir/id_ed25519.pub"
|
|
|
|
|
echo "SSH identity keys installed to $ssh_dir"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# 4. Pull latest from remote (remote always wins)
|
|
|
|
|
echo "Checking for updates..."
|
|
|
|
|
# 4. Ensure git remote uses SSH (not HTTPS)
|
|
|
|
|
cd /data/openpilot
|
|
|
|
|
EXPECTED_REMOTE="git@git.hanson.xyz:brianhansonxyz/clearpilot.git"
|
|
|
|
|
CURRENT_REMOTE=$(git remote get-url origin 2>/dev/null)
|
|
|
|
|
if [ "$CURRENT_REMOTE" != "$EXPECTED_REMOTE" ]; then
|
|
|
|
|
echo "Fixing git remote: $CURRENT_REMOTE -> $EXPECTED_REMOTE"
|
|
|
|
|
git remote set-url origin "$EXPECTED_REMOTE"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# 5. Pull latest from remote (remote always wins)
|
|
|
|
|
echo "Checking for updates..."
|
|
|
|
|
git fetch origin clearpilot
|
|
|
|
|
LOCAL=$(git rev-parse HEAD)
|
|
|
|
|
REMOTE=$(git rev-parse origin/clearpilot)
|
|
|
|
|
@@ -76,15 +84,8 @@ fi
|
|
|
|
|
|
|
|
|
|
# 5. Build
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Starting build..."
|
|
|
|
|
sudo su - comma -c "bash /data/openpilot/build_only.sh"
|
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
|
echo "Build succeeded"
|
|
|
|
|
touch /data/quick_boot
|
|
|
|
|
else
|
|
|
|
|
echo "Build failed"
|
|
|
|
|
sleep 10
|
|
|
|
|
fi
|
|
|
|
|
sudo chown -R comma:comma /data/openpilot
|
|
|
|
|
touch /data/quick_boot
|
|
|
|
|
|
|
|
|
|
echo "Provision complete"
|
|
|
|
|
sleep 2
|
|
|
|
|
|