• 全新单提交:清除含敏感信息的旧历史(sudo 口令、内网 IP、SSH 密钥路径、热点 SSID、设备 MAC) • 本地开发文档/测试记录/构建脚本全部移入 gitignored 的 devdocs/ 与 scripts/build/(不入库) • 保留:MeowOS 源码(launcher/watchdog/bootmenu/meow_svcd/SDK)、项目规范文档、mips-repo 增补组件:SDK 统一日志+通知 API、meow_svcd 服务管理器、mips-repo 软件仓库
32 lines
1.6 KiB
Bash
Executable File
32 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# onboard.sh — 一键上板: 推送 ov.tgz + hello + uinput_tap + 执行 setup_ondev.sh
|
|
# 用法: ./onboard.sh
|
|
# 前置: 设备 SSH 可达; 本机已跑 make_ov.sh 生成 /tmp/ov.tar.gz
|
|
set -e
|
|
DEV="<alt_device_ip>"
|
|
KEY="$HOME/Project/R3ProII/ssh_keys/<device_key>"
|
|
ROOT=~/Project/R3ProII
|
|
SSH="ssh -i $KEY -o StrictHostKeyChecking=accept-new -o ConnectTimeout=10"
|
|
SCP="scp -i $KEY -o StrictHostKeyChecking=accept-new"
|
|
|
|
echo "== 0) 设备可达性 =="
|
|
$SSH root@$DEV 'echo ALIVE; uptime' || { echo "设备不可达"; exit 1; }
|
|
|
|
echo "== 1) 轮前状态 =="
|
|
$SSH root@$DEV 'echo "inst=$(ps | grep hiby_player | grep -v grep | grep -v sh | wc -l) flag=$(ls /data/recovery_all 2>/dev/null || echo none) binds=$(mount | grep -c overlay) bri=$(cat /sys/class/backlight/backlight_pwm0/brightness 2>/dev/null) sd=$(grep -c sd_0 /proc/mounts)"'
|
|
|
|
echo "== 2) 推送 ov.tgz / uinput_tap / hello =="
|
|
[ -f /tmp/ov.tar.gz ] || "$ROOT/patch_v2/make_ov.sh"
|
|
$SCP /tmp/ov.tar.gz root@$DEV:/data/ov.tgz
|
|
$SCP "$ROOT/patch_v2/uinput_tap/uinput_tap" root@$DEV:/data/uinput_tap
|
|
$SCP "$ROOT/patch_v2/apps_assets/apps/hello/hello" root@$DEV:/data/hello.bin
|
|
$SCP "$ROOT/patch_v2/apps_assets/apps/hello/app.json" root@$DEV:/data/hello_app.json
|
|
$SSH root@$DEV 'chmod 755 /data/uinput_tap /data/hello.bin; md5sum /data/ov.tgz /data/uinput_tap /data/hello.bin'
|
|
|
|
echo "== 3) 设备侧: 解包+bind+安全重启 =="
|
|
$SSH root@$DEV 'sh -s' < "$ROOT/patch_v2/setup_ondev.sh"
|
|
|
|
echo "== 4) 部署后状态 =="
|
|
$SSH root@$DEV 'echo "inst=$(ps | grep hiby_player | grep -v grep | grep -v sh | wc -l) flag=$(ls /data/recovery_all 2>/dev/null || echo none)"'
|
|
echo "== onboard 完成 =="
|