# # Globale Einstellungen # loggerName=startup.sh #library load path export LD_LIBRARY_PATH=/usr/lib/Qt-4.8.5/:/usr/local/lib/ export QT_PLUGIN_PATH=/usr/lib/Qt-4.8.5/plugins export QT_QWS_FONTDIR=/usr/lib/Qt-4.8.5/fonts SetError="dbus-send --system --print-reply --dest=com.rexroth.akku.SysService /SysObj com.rexroth.akku.SysInterface.freporterror string:"dummy" string:"3259" string:""" HOME_DIR=/home/tool rfs1ubimtd="ubi.mtd=5" rfs2ubimtd="ubi.mtd=6" # Pfad wird fuer FlashPruefstand in Fertigung benoetigt nicht wieder entfernen RAM_DISK_DIAG_PATH="/var/run/diag" #sh /home/tool/bin/powerup.sh #exit cd $HOME_DIR ######### Bin ich in der Fertigung am Flashprüfstand ? cat /proc/cmdline | grep '/usr/local/src/nfsboot/' &> /dev/null if [ "$?" -eq "0" ]; then IM_FLASHPRUEFPLATZ='1' else IM_FLASHPRUEFPLATZ='0' fi if [ $IM_FLASHPRUEFPLATZ -eq "1" ]; then echo Am Flashpruefplatz in der Fertigung !!!!!!!!!!!!!!!!!!!!! fi # # Anstarten der Applikationen # cd $HOME_DIR #spi prioritaet erhoehen #chrt -fp 52 `ps | grep "omap2_mcspi" -m 1| awk '{print $1}'` #chrt -fp 50 `ps | grep "measure" -m 1| awk '{print $1}'` #GUI echo "/home/tool/bin/%e_%s.%p" > /proc/sys/kernel/core_pattern name="newgui" killall -SIGTERM $name process="bin/"$name logger -s -t $loggerName "Startup $name" $process -qws language/display_en _enableCoreDump & echo 2 > /sys/devices/platform/omapfb/graphics/fb0/rotate # Applikationen nicht bei Booten über Fertigungprüfstand anstarten if [ $IM_FLASHPRUEFPLATZ -eq "0" ]; then name="Job.elf" killall -SIGTERM $name process="bin/"$name logger -s -t $loggerName "Startup $name" $process & #Bms name="BmsDrv.elf" killall -SIGTERM $name process="./bin/$name" logger -s -t $loggerName "Startup $name" #chrt -f 50 $process & $process & name="reboot.elf" killall -SIGTERM $name process="./bin/$name" logger -s -t $loggerName "Startup $name" $process & #SystemSrv name="SystemSrv.elf" killall -SIGTERM $name process="./bin/$name" logger -s -t $loggerName "Startup $name" $process & #ResultSrv name="ResSrv.elf" killall -SIGTERM $name process="bin/"$name logger -s -t $loggerName "Startup $name" $process & name="AblaufStrg.elf" killall -SIGTERM $name process="bin/"$name logger -s -t $loggerName "Startup $name" #chrt -f 48 $process & $process & else # Applikationen bei Booten über Fertigungprüfstand anstarten #ResultSrv name="ResSrv.elf" killall -SIGTERM $name process="bin/"$name logger -s -t $loggerName "Startup $name" $process & fi ########################################################################## # IP Konfiguration nicht als Kernelparameter # Bringt bis zu ca.4 Sek beim Startup ifconfig lo 127.0.0.1 cat /proc/cmdline | grep '/dev/nfs' &> /dev/null # Fuer NFS Boot IP Adresse nicht aendern! if [ "$?" -ne "0" ]; then sh /etc/hotplug/start-dhcp-manual.sh # Firmware Version des parallel Systems eintragen - Nur bei NAND Boot sh /etc/fwupdate/detectParSystem.sh & else # bei NFS telnet starten! /usr/sbin/telnetd fi ########################################################################## # Applikationen nicht bei Booten über Fertigungprüfstand anstarten if [ $IM_FLASHPRUEFPLATZ -eq "0" ]; then # Wlan Application /opt/ti-wireless/WL6.1.6.0.3/install.sh start & logger -s -t $loggerName "starte wlan" ########################################################################## #Web-GUI # ggf. gueltige Sessions löschen rm -f cd $HOME_DIR/web2py/applications/BS350/sessions/* killall -SIGTERM python logger -s -t $loggerName "starte web2py" /usr/bin/python /home/tool/web2py/applications/BS350/modules/init_auth.py /etc/init.d/./web2py.sh ########################################################################## # HW Clock ist in UTC (eindeutige Weltzeit) logger -s -t $loggerName "Setze Systemzeit" hwclock -u -s ########################################################################## else ########################################################################## # Am Flashplatz in der Fertigung GUI Batteriestatus manuell setzen, da keine Appplikationen angestartet logger -s -t $loggerName "Fertigung->Flashplatz GUI Batteriestatus manuell setzen!!!" cd $RAM_DISK_DIAG_PATH echo 0 >> cycle echo L0 >> idcode echo 1 >> enable mkdir battery cd battery echo 3 >> status echo 100 >> power ########################################################################## fi ############################################################################ # Firmware Update ls /mnt/data/fw &> /dev/null if [ "$?" -eq "0" ]; then ActiveMtd=`cat /proc/cmdline | awk '{print $3}'` logger -s -t $loggerName "Firmware Update -> Bootpartion <$ActiveMtd>" if [ $ActiveMtd = $rfs1ubimtd ]; then logger -s -t $loggerName "Partition <$ActiveMtd> aktiv setzen " fw_setenv activpart 1 fi if [ $ActiveMtd = $rfs2ubimtd ]; then logger -s -t $loggerName "Partition <$ActiveMtd> aktiv setzen " fw_setenv activpart 2 fi i=0 while [ $i -lt 20 ] do ls /var/run/AblfStrgRdy &> /dev/null if [ "$?" -eq "0" ]; then /home/tool/bin/NxLtUpdate.elf if [ "$?" -ne "0" ]; then /usr/bin/logger -s -t $loggerName "Error: Return NxLtUpdate.elf" else LtUpdate="success" fi let i=20 else sleep 5 let i=$i+1 /usr/bin/logger -s -t $loggerName "wait for NxLt Update <$i*ms>" fi done if [ $LtUpdate = "success" ]; then /usr/bin/logger -s -t $loggerName "Info: NxLt Update - success" rm -r /mnt/data/fw else $SetError /usr/bin/logger -s -t $loggerName "Error: Timeout NxLtUpdate" fi fi chrt -fp 52 `ps | grep [l]t_timer | awk '{print $1}'` chrt -fp 52 `ps | grep [i]rq/72 -m1 | awk '{print $1}'` #chrt -fp 52 `pidof irq/72-serial` -> in AblaufStrg, da hier noch nicht vorhanden! chrt -fp 51 `ps | grep [i]rq/335 | awk '{print $1}'` chrt -fp 51 `ps | grep [i]rq/39 | awk '{print $1}'` ########################################################################## starttime=`cat /proc/uptime` logger -s -t $loggerName "startup script finished " ##########################################################################