#!/bin/sh loggerName=switchParSystem.sh rfs1ubimtd="ubi.mtd=5" rfs2ubimtd="ubi.mtd=6" rfs1ubi=5 rfs2ubi=6 rfs1mtd=mtd5 rfs2mtd=mtd6 ActiveMtd=`cat /proc/cmdline | awk '{print $3}'` /usr/bin/logger -s -t $loggerName "aktive Partion <$ActiveMtd>" if [ $ActiveMtd = $rfs1ubimtd ]; then /usr/bin/logger -s -t $loggerName "rootfs1 ist aktiv -> aktiviere rootfs2" /usr/sbin/fw_setenv activpart 2 if [ "$?" -ne "0" ]; then logger -s -t $loggerName "Error: setenv activpart 2" f_exit fi # prüfen /usr/sbin/fw_printenv | grep -w activpart=2 if [ "$?" -ne "0" ]; then logger -s -t $loggerName "Error: u-boot parameter (activpart=2) nicht uebernommen" /usr/sbin/fw_setenv activpart 2 fi /usr/sbin/fw_setenv switch 1 if [ "$?" -ne "0" ]; then /usr/bin/logger -s -t $loggerName "Error: setenv switch 1" f_exit fi # prüfen /usr/sbin/fw_printenv | grep -w switch=1 if [ "$?" -ne "0" ]; then logger -s -t $loggerName "Error: u-boot parameter (switch=1) nicht uebernommen" /usr/sbin/fw_setenv switch 1 fi fi if [ $ActiveMtd = $rfs2ubimtd ]; then /usr/bin/logger -s -t $loggerName "rootfs2 ist aktiv -> aktiviere rootfs1" /usr/sbin/fw_setenv activpart 1 if [ "$?" -ne "0" ]; then /usr/bin/logger -s -t $loggerName "Error: setenv activpart 1" f_exit fi # prüfen /usr/sbin/fw_printenv | grep -w activpart=1 if [ "$?" -ne "0" ]; then logger -s -t $loggerName "Error: u-boot parameter (activpart=1) nicht uebernommen" /usr/sbin/fw_setenv activpart 1 fi /usr/sbin/fw_setenv switch 1 if [ "$?" -ne "0" ]; then /usr/bin/logger -s -t $loggerName "Error: setenv switch 1" f_exit fi # prüfen /usr/sbin/fw_printenv | grep -w switch=1 if [ "$?" -ne "0" ]; then logger -s -t $loggerName "Error: u-boot parameter (switch=0) nicht uebernommen" /usr/sbin/fw_setenv switch 1 fi fi # Boot Parameter loggen /usr/sbin/fw_printenv > /var/log/u-boot-para.log # Merker der aktuellen Version Version=`cat /etc/version` echo $Version > /mnt/data/lastFwVersion # fw Verzeichnis anlegen mkdir /mnt/data/fw sync sync echo 3 > /proc/sys/vm/drop_caches /usr/bin/logger -s -t $loggerName "NEUSTART DES SYSTEMS" sleep 1 # Nicht auf reboot warten, gleich weiter (& = Hintegrund) /etc/reboot/reboot.sh & exit 0