blob: 6f774f1b7e356a069e8599c57c3bf9ee53b585e4 [file] [log] [blame]
#!/bin/sh
case "$1" in
start)
# GFLT300 and beyond will use hnvram with 1ST_SERIAL_NUMBER variable.
# GFLT110 uses legacy sysvar_cmd with SERIAL_NO variable.
if [ -e /dev/mtd/hnvram ]; then
SERIAL=$(hnvram -qr 1ST_SERIAL_NUMBER)
else
SERIAL=$(hnvram -qr SERIAL_NO)
fi
[ -n "$SERIAL" ] &&
echo "$SERIAL" >/etc/serial &&
chmod 444 /etc/serial
# The serial number needs to match the given format, otherwise sycl will
# complain.
PARSED_SERIAL=$(parse_sn "$SERIAL")
if [ "$PARSED_SERIAL" = "sn__deadbeef" ]; then
echo "Optical link may not come up! Serial number does not match" \
"expected format: 4 char prefix with an 8 hex char suffix, got:" \
"'$SERIAL'"
fi
# Do this before gpio-mailbox
update-gpio-links
babysit 60 gpio-mailbox 2>&1 | logos gpio-mailbox &
;;
stop)
pkillwait -x gpio-mailbox
;;
restart)
$0 stop; $0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac