#!/bin/sh # setup_ondev.sh — 一次性:解包 overlay + 安全重启播放器(bind 稳定版) # 前提: /data/ov.tar.gz 已推送 (overlay/hiby_player, overlay/theme1, overlay/str) echo "== pre state ==" echo "flag: $(ls /data/recovery_all 2>/dev/null || echo none)" echo "instances: $(ps | grep hiby_player | grep -v grep | grep -v sh | wc -l)" rm -f /data/recovery_all echo "== unpack overlay ==" mkdir -p /data/overlay cd /data && gunzip -c /data/ov.tar.gz | tar xf - rm -f /data/ov.tar.gz ls -la /data/overlay/ /data/overlay/theme1/ md5sum /data/overlay/hiby_player echo "== kill player (parent shell first) ==" kill $(ps | grep hiby_player.sh | grep -v grep | awk '{print $1}') 2>/dev/null sleep 1 kill -9 $(ps | grep 'hiby_player$' | grep -v grep | awk '{print $1}') 2>/dev/null sleep 1 echo "instances after kill: $(ps | grep hiby_player | grep -v grep | grep -v sh | wc -l)" echo "== umount old binds ==" umount /usr/bin/hiby_player 2>/dev/null umount /usr/resource/layout/theme1 2>/dev/null for d in /usr/resource/str/*; do umount "$d" 2>/dev/null; done echo "binds: $(mount | grep -c overlay)" echo "== bind ==" mount --bind /data/overlay/hiby_player /usr/bin/hiby_player mount --bind /data/overlay/theme1 /usr/resource/layout/theme1 for l in english french german italy japanese korean poland russian simplified_chinese spain thai traditional_chinese ukrainian; do mount --bind "/data/overlay/str/$l" "/usr/resource/str/$l" 2>/dev/null done echo "binds now: $(mount | grep -c overlay)" md5sum /usr/bin/hiby_player ls -la /usr/data/meow_watchdog >/dev/null && echo "wd at /usr/data ok" ls /usr/resource/layout/theme1/hiby_apps_main.view >/dev/null && echo "view ok" ls /usr/resource/str/english/apps.ini >/dev/null && echo "ini ok" echo "== relaunch ==" nohup /usr/bin/hiby_player >/dev/null 2>&1 & sleep 8 echo "instances: $(ps | grep hiby_player | grep -v grep | grep -v sh | wc -l)" echo "flag: $(ls /data/recovery_all 2>/dev/null || echo none)" echo "brightness: $(cat /sys/class/backlight/backlight_pwm0/brightness 2>/dev/null)" echo 101 > /sys/class/backlight/backlight_pwm0/brightness 2>/dev/null echo "brightness set: $(cat /sys/class/backlight/backlight_pwm0/brightness 2>/dev/null)" echo "== done =="