Files
Pluto-SDR/scripts/deploy.sh
2026-07-17 08:53:30 +03:00

42 lines
1.6 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
# deploy.sh — заливка бинарей на Pluto (обе или одна плата)
# Использование:
# scripts/deploy.sh # обе платы из toolchain.env
# scripts/deploy.sh 192.168.2.1 # только одна плата
# scripts/deploy.sh <ipA> <ipB> # явные адреса
# scripts/deploy.sh bench <ip> # только бенчмарк
# Прошивка v0.38: sftp-server отсутствует → обязателен scp -O (legacy).
set -euo pipefail
source "$(dirname "$0")/../toolchain.env"
cd "$(dirname "$0")/.."
# sshpass, если установлен, избавляет от ввода пароля (пароль: analog)
if command -v sshpass >/dev/null; then
SCP=(sshpass -p "$PLUTO_PASS" scp -O -o StrictHostKeyChecking=no)
else
SCP=(scp -O)
fi
FILES=(build/transmitter build/receiver build/ofdm_bench build/udp_gw)
TARGETS=()
case "${1:-}" in
bench) FILES=(build/ofdm_bench); TARGETS=("${2:-$PLUTO_A}") ;;
"") TARGETS=("$PLUTO_A" "$PLUTO_B") ;;
*) TARGETS=("$@") ;;
esac
for f in "${FILES[@]}"; do
[ -f "$f" ] || { echo "нет $f — сначала make"; exit 1; }
done
for ip in "${TARGETS[@]}"; do
echo "=== деплой на root@$ip:/tmp/ ==="
if ! ping -c1 -W2 "$ip" >/dev/null 2>&1; then
echo " ! $ip не пингуется, пропускаю"; continue
fi
"${SCP[@]}" "${FILES[@]}" "root@$ip:/tmp/"
echo " ok: ${FILES[*]}"
done
echo "Напоминание: rootfs платы в RAM — после перезагрузки залить заново."