39 lines
713 B
Bash
39 lines
713 B
Bash
#!/bin/sh /etc/rc.common
|
|
|
|
START=95
|
|
STOP=10
|
|
|
|
NAME=msm-firmware-dumper
|
|
PROG="/usr/bin/msm-firmware-dumper"
|
|
FLAG="/lib/firmware/DUMPED"
|
|
|
|
start() {
|
|
local timeout=30
|
|
while [ $timeout -gt 0 ]; do
|
|
if mount | grep -q "overlayfs:/overlay"; then
|
|
logger -t "$NAME" "Overlay mounted, proceeding"
|
|
break
|
|
fi
|
|
sleep 1
|
|
timeout=$((timeout - 1))
|
|
done
|
|
|
|
if [ $timeout -eq 0 ]; then
|
|
logger -t "$NAME" "ERROR: Overlay not mounted after ${timeout}s"
|
|
return 1
|
|
fi
|
|
|
|
[ -f "$FLAG" ] && return 0
|
|
|
|
logger -t "$NAME" "Starting firmware dump"
|
|
|
|
if FLAG="$FLAG" $PROG; then
|
|
logger -t "$NAME" "Firmware dump successful, rebooting"
|
|
sleep 1
|
|
reboot
|
|
else
|
|
logger -t "$NAME" "Firmware dump FAILED"
|
|
return 1
|
|
fi
|
|
}
|