Quick and dirty script to build files for USB update.
[hdmi-switcher.git] / update.sh
1 #!/bin/bash
2 if [[ ! -e "/dev/sda1" ]]; then
3 exit 1
4 fi
5
6 printf "Found USB... "
7
8 umount /dev/sda1 > /dev/null 2>&1
9 mount /dev/sda1 > /dev/null 2>&1 || (printf "Mount failure\n" && exit 1)
10
11 printf "\t\tMount OK\n"
12
13 if [[ -e "/mnt/usb-update/config.ini" ]]; then
14 printf "Found config.ini... "
15 (cp /mnt/usb-update/config.ini ./ > /dev/null 2>&1 && printf "\tCopy OK\n") || printf "\tCopy failure\n"
16 fi
17
18 if [[ -e "/mnt/usb-update/video.mp4" ]]; then
19 printf "Found video.mp4... "
20 (cp /mnt/usb-update/video.mp4 ./ > /dev/null 2>&1 && printf "\tCopy OK\n") || printf "\tCopy failure\n"
21 fi
22
23 if [[ -e "/mnt/usb-update/update.zip" ]] && [[ -e "/mnt/usb-update/update.sig" ]]; then
24 printf "Updating software... "
25 openssl dgst -sha256 -verify public.pem -signature /mnt/usb-update/update.sig /mnt/usb-update/update.zip > /dev/null 2>&1
26 if [[ $? = 0 ]]; then
27 (unzip -o /mnt/usb-update/update.zip -d /home/pi > /dev/null 2>&1 && printf "\tOK\n") || printf "\tExtract failure\n"
28 chmod +x start.sh
29 chmod +x update.sh
30 chmod +x hdmi-switcher
31 else
32 printf "\tSignature failure\n"
33 fi
34 fi
35
36 umount /dev/sda1 > /dev/null 2>&1