From 73e2fd0bee726369729a7ce34b9af758126470ab Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Wed, 27 Mar 2013 17:58:57 +0200 Subject: [PATCH] add SZ 1.52 updater files --- hotfix_updater/superzaxxon/PXML.xml | 39 +++++++ hotfix_updater/superzaxxon/index.html | 113 +++++++++++++++++++ hotfix_updater/superzaxxon/run.sh | 11 ++ hotfix_updater/superzaxxon/updater.png | Bin 0 -> 6142 bytes hotfix_updater/superzaxxon/updater.sh | 146 +++++++++++++++++++++++++ 5 files changed, 309 insertions(+) create mode 100644 hotfix_updater/superzaxxon/PXML.xml create mode 100644 hotfix_updater/superzaxxon/index.html create mode 100755 hotfix_updater/superzaxxon/run.sh create mode 100644 hotfix_updater/superzaxxon/updater.png create mode 100755 hotfix_updater/superzaxxon/updater.sh diff --git a/hotfix_updater/superzaxxon/PXML.xml b/hotfix_updater/superzaxxon/PXML.xml new file mode 100644 index 0000000..44459d2 --- /dev/null +++ b/hotfix_updater/superzaxxon/PXML.xml @@ -0,0 +1,39 @@ + + + + + + Pandora SuperZaxxon updater + + + + + + + + Pandora SuperZaxxon updater + + Pandora SuperZaxxon updater + + + + + + + SuperZaxxon firmware updater. + + + + + + + + + + + + + + + + diff --git a/hotfix_updater/superzaxxon/index.html b/hotfix_updater/superzaxxon/index.html new file mode 100644 index 0000000..d6947a9 --- /dev/null +++ b/hotfix_updater/superzaxxon/index.html @@ -0,0 +1,113 @@ + + + Updater for SuperZaxxon + + +

Information

This file will update your Pandora OS. Simply run it as any normal PND. After installation, you can delete it.
This pack is intended for SuperZaxxon firmware line, it will not work properly if applied on older firmwares. + + + + diff --git a/hotfix_updater/superzaxxon/run.sh b/hotfix_updater/superzaxxon/run.sh new file mode 100755 index 0000000..c114351 --- /dev/null +++ b/hotfix_updater/superzaxxon/run.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +t=`which terminal` +if [ -z "$t" ]; then + zenity --error --text='terminal is missing.' + exit 1 +fi + +gksudo -m "Firmware updater requires root permissions, please enter your password" id +exec sudo -n terminal -x sh -c ./updater.sh diff --git a/hotfix_updater/superzaxxon/updater.png b/hotfix_updater/superzaxxon/updater.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2ec0220d903c0c3450dc73b37d0813722c0182 GIT binary patch literal 6142 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 QY5)KL07*qoM6N<$f^y{U#{d8T literal 0 HcmV?d00001 diff --git a/hotfix_updater/superzaxxon/updater.sh b/hotfix_updater/superzaxxon/updater.sh new file mode 100755 index 0000000..9e72b9b --- /dev/null +++ b/hotfix_updater/superzaxxon/updater.sh @@ -0,0 +1,146 @@ +#!/bin/sh + +logfile=/tmp/updater.log +oldkernel=/boot/uImage-3 +newkernel=boot/uImage-3 + +if ! grep -q '[[:blank:]]/[[:blank:]]*ubifs' /proc/mounts; then + # prefer alternative locations when running from SD + test -e /media/PANDORABOOT/uImage && oldkernel=/media/PANDORABOOT/uImage + test -e /media/PANDORABOOT/uImage-3 && oldkernel=/media/PANDORABOOT/uImage-3 + test -e /media/BOOT/uImage && oldkernel=/media/BOOT/uImage + test -e /media/BOOT/uImage-3 && oldkernel=/media/BOOT/uImage-3 +fi + +if ! test -e $oldkernel; then + zenity --error --text "SuperZaxxon Final firmware required, sorry." + exit 1 +fi + +if ! test -e $newkernel || ! test -d lib || ! test -d ipk; then + zenity --error --text "Required files are missing, perhaps this .pnd got corrupted." + exit 1 +fi + +root_free=`df | grep '/$' | sed -e '2~1d' | awk '{print $4}'` +if [ "$root_free" -lt 2000 ]; then + zenity --error --text "There is not enough space left in root partition. +This usually means your NAND is almost full. + +Delete some files and try again, or just do a full reflash." + exit 1 +fi + +if [ "`id -u`" != "0" ]; then + zenity --error --text "Root permissions required." + exit 1 +fi + +get_ver() +{ + dd if=$1 bs=32 skip=1 count=1 2> /dev/null \ + | strings | sed -e 's/.*\([0-9]\.[0-9]\.[0-9]*\).*/\1/' +} + +get_vercode() +{ + ver1=`echo $1 | awk -F. '{printf $1}'` + ver2=`echo $1 | awk -F. '{printf $2}'` + ver3=`echo $1 | awk -F. '{printf $3}'` + echo $((($ver1 << 16) + ($ver2 << 8) + $ver3)) +} + +log() +{ + echo -en "\033[0;32m" + echo "$@" + echo -en "\033[0m" + + echo "$@" >> $logfile +} + +echo > $logfile + +kernel_failed_detect=true +kernel_ask_newer=false +kernel_do_update=false +kernel_reboot_needed=false + +oldver=`get_ver $oldkernel` +newver=`get_ver $newkernel` +oldvcode=`get_vercode $oldver` +newvcode=`get_vercode $newver` + +# echo $oldver $newver $oldvcode $newvcode + +if [ -n "$oldver" -a -n "$newver" -a -n "$oldvcode" -a -n "$newvcode" ]; then + if [ "$oldvcode" -lt "$(((3 << 16) + (2 << 8) + 21))" ]; then + # a version before SZ-Final + zenity --error --text "SuperZaxxon Final firmware required, sorry." + exit 1 + fi + + if [ "$oldvcode" -eq "$newvcode" ]; then + oldtime=`stat -c %Y $oldkernel` + newtime=`stat -c %Y $newkernel` + if [ "$oldtime" -gt "$newtime" ]; then + kernel_ask_newer=true + else + kernel_failed_detect=false + kernel_do_update=true + fi + elif [ "$oldvcode" -gt "$newvcode" ]; then + kernel_ask_newer=true + else + kernel_failed_detect=false + kernel_do_update=true + fi +fi + +if $kernel_ask_newer; then + if zenity --question --text "It seems you have newer kernel already installed, +overwrite it?"; then + kernel_do_update=true + fi +elif $kernel_failed_detect; then + if zenity --question --text "Could not determine what kernel is installed on your system, +so have to ask, do you want to overwrite your current kernel?"; then + kernel_do_update=true + fi +fi + +if $kernel_do_update; then + if ! cmp $newkernel $oldkernel > /dev/null; then + log "updating kernel at $oldkernel from $oldver to $newver ..." + cp -a $newkernel $oldkernel + sync + kernel_reboot_needed=true + fi + + log "updating modules for $newver ..." + if [ -n "$oldver" -a -d "/lib/modules/$oldver" ]; then + rm -rf /lib/modules/$oldver + fi + cp -a lib / + sync + if ! $kernel_reboot_needed; then + # we can depmod now + depmod -a + sync + fi +fi + +log "installing packages..." +opkg install ipk/* | tee -a $logfile +sync + +# since uninstall script of gtk-touchscreen-mode-enable is broken, edit this out manually +sudo sed -i -e 's/^\(gtk-touchscreen-mode = 1\)/#\1/' /etc/gtk-2.0/gtkrc + +log "all done. You can find logfile at $logfile" +if $kernel_reboot_needed; then + zenity --question --text "Reboot required to start the new kernel. +Reboot now?" && reboot +else + zenity --info --text "Update complete." +fi -- 2.39.2