1. Cookies optimieren die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklärst Du dich damit einverstanden, dass wir Cookies verwenden. Weitere Informationen
    Information ausblenden
  2. Willkommen im Forum von DIGITAL FERNSEHEN - dem führenden Portal für digitales Fernsehen, Medien und Entertainment. Wenn du hier neu bist, schau dich ruhig etwas um und melde dich an, um am Forengeschehen teilnehmen zu können.
    Information ausblenden

Shell-Skripte auf UFS 821 ausführen

Dieses Thema im Forum "Kathrein" wurde erstellt von /mnt/usb, 20. Mai 2006.

  1. /mnt/usb

    /mnt/usb Junior Member

    Registriert seit:
    20. Mai 2006
    Beiträge:
    30
    Anzeige
    Hallo zusammen,

    erst einmal vielen Dank an euch alle hier; ich habe schon viel über meinen UFS 821 gelernt, was nicht in der Bedienungsanleitung steht.

    Zum Thema: Da der UFS unter Linux läuft, hatte ich vorhin die Idee, dass er eventuell auch Shell-Skripte als Applikationen (Aufrufbar über "Menü: Multimedia/Spiele: Applikationen") akzeptieren könnte. Und siehe da: Es geht!

    Was ich gemacht habe:
    • USB-Stick befüllt mit einer Datei /kathrein/ufs821/program/hook, die das folgende kleine Skript enthält:
      Code:
      #! /bin/sh
      if [ -e /mnt/usb/0/run.sh ]; then
          exec /bin/sh /mnt/usb/0/run.sh
      fi
      
    • UFS ausgeschaltet; USB-Stick vorne angeschlossen; bei gedrückter Menü-Taste eingeschaltet: 'hook' wird auf die Festplatte kopiert.
    In der Liste der Applikationen taucht 'hook' jetzt auf und kann gestartet werden. Sofern ein USB-Stick angeschlossen ist und dort ein Skript run.sh existiert, wird dieses beim Aufruf von 'hook' ausgeführt. Hier ein paar interessante Auszüge aus meinen ersten Versuchen (ich habe eine Log-Datei direkt auf den USB-Stick zurückschreiben lassen):
    Code:
    # uname -a
    Linux (none) 2.4.2_hhl20 #612 2005. 10. 05. (¼ö) 19:10:16 KST ppc unknown
    
    # mount
    /dev/mtdblock2 on / type cramfs (rw)
    /dev/mtdblock6 on /app type cramfs (rw)
    /dev/mtdblock5 on /modules_sys type cramfs (rw)
    /dev/mtdblock14 on /pgserver type cramfs (rw)
    /dev/mtdblock15 on /app_sys type cramfs (rw)
    proc on /proc type proc (rw)
    ramfs on /var type ramfs (rw)
    ramfs on /tmp type ramfs (rw)
    none on /proc/bus/usb type usbdevfs (rw)
    /dev/hda2 on /pvr type ext2 (rw)
    /dev/hda3 on /program type ext2 (rw)
    /dev/hda5 on /mnt/mp3 type ext2 (rw)
    /dev/hda6 on /mnt/jpeg type ext2 (rw)
    /dev/sda1 on /mnt/usb/0 type vfat (rw)
    
    # df
    Filesystem           1k-blocks      Used Available Use% Mounted on
    /dev/hda2               774040     19344    715340   3% /pvr
    /dev/hda3               521780     13588    481688   3% /program
    /dev/hda5              1035660    481220    501832  49% /mnt/mp3
    /dev/hda6               521748      1308    493936   0% /mnt/jpeg
    /dev/sda1               247492         3    247489   0% /mnt/usb/0
    
    # free
                  total         used         free       shared      buffers
      Mem:        25032        24128          904         4524          156
     Swap:            0            0            0
    Total:        25032        24128          904
    
    # cat /proc/cpuinfo
    processor	: 0
    cpu		: STB04xxx
    clock		: 252MHz
    revision	: 9.82 (pvr 4181 0952)
    bogomips	: 251.49
    zero pages	: total: 0 (0Kb) current: 0 (0Kb) hits: 0/0 (0%)
    plb bus clock	: 63MHz
    
    # ps
      PID  Uid     VmSize Stat Command
        1 root        176 S   init 
        2 root            SW  [keventd]
        3 root            SW  [kswapd]
        4 root            SW  [kreclaimd]
        5 root            SW  [bdflush]
        6 root            SW  [kupdate]
        7 root            SW  [mtdblockd]
       74 root        136 S   /sbin/telnetd 
       77 root        156 S   -sh -s 
       79 root        388 S   /app_sys/standby 
       95 root            SW  [khubd]
       98 root        388 S   /app_sys/standby 
       99 root        388 S   /app_sys/standby 
      100 root        836 S   /pgserver/pgserver -c /pgserver/.pgserverrc 
      101 root        148 S   sh -c /app/pvrmain 
      102 root      15084 S   /app/pvrmain 
      103 root      15084 S   /app/pvrmain 
      112 root      15084 S   /app/pvrmain 
      115 root      15084 S   /app/pvrmain 
      116 root      15084 S   /app/pvrmain 
      117 root      15084 S   /app/pvrmain 
      118 root      15084 S   /app/pvrmain 
      119 root      15084 S   /app/pvrmain 
      120 root      15084 S   /app/pvrmain 
      121 root      15084 S   /app/pvrmain 
      127 root      15084 S   /app/pvrmain 
      128 root      15084 S   /app/pvrmain 
      129 root      15084 S   /app/pvrmain 
      130 root      15084 S   /app/pvrmain 
      131 root      15084 S   /app/pvrmain 
      132 root      15084 S   /app/pvrmain 
      133 root      15084 S   /app/pvrmain 
      134 root      15084 S   /app/pvrmain 
      135 root      15084 S   /app/pvrmain 
      136 root      15084 S   /app/pvrmain 
      137 root      15084 S   /app/pvrmain 
      138 root      15084 S   /app/pvrmain 
      139 root      15084 S   /app/pvrmain 
      140 root      15084 S   /app/pvrmain 
      141 root      15084 S   /app/pvrmain 
      142 root      15084 S   /app/pvrmain 
      143 root      15084 S   /app/pvrmain 
      144 root      15084 S   /app/pvrmain 
      145 root      15084 S   /app/pvrmain 
      146 root      15084 S   /app/pvrmain 
      147 root      15084 S   /app/pvrmain 
      148 root      15084 S   /app/pvrmain 
      149 root      15084 S   /app/pvrmain 
      150 root      15084 S   /app/pvrmain 
      151 root      15084 S   /app/pvrmain 
      152 root      15084 S   /app/pvrmain 
      153 root      15084 S   /app/pvrmain 
      154 root      15084 S   /app/pvrmain 
      155 root      15084 S   /app/pvrmain 
      156 root      15084 S   /app/pvrmain 
      157 root      15084 S   /app/pvrmain 
      158 root      15084 S   /app/pvrmain 
      163 root      15084 S   /app/pvrmain 
      164 root      15084 S   /app/pvrmain 
      165 root      15084 S   /app/pvrmain 
      166 root      15084 S   /app/pvrmain 
      167 root      15084 S   /app/pvrmain 
      168 root      15084 S   /app/pvrmain 
      169 root      15084 S   /app/pvrmain 
      172 root            SW  [netchip]
      173 root            SW  [netchip]
      174 root            SW  [netchip]
      175 root            SW  [netchip]
      176 root            SW  [netchip]
      177 root            SW  [netchip]
      178 root            SW  [netchip]
      179 root            SW  [netchip]
      180 root            SW  [netchip]
      181 root            SW  [netchip]
      182 root      15084 S   /app/pvrmain 
      183 root      15084 S   /app/pvrmain 
      184 root      15084 S   /app/pvrmain 
      185 root      15084 S   /app/pvrmain 
      186 root      15084 S   /app/pvrmain 
      203 root      15084 R   /app/pvrmain 
      211 root            Z   [sh]
      235 root      15084 R   /app/pvrmain 
      250 root            SW  [usb-storage-0]
      251 root            SW  [scsi_eh_0]
      256 root        676 S   sh -c /program/hook 
      257 root        700 S   /bin/sh /mnt/usb/0/run.sh 
      265 root        796 R   ps 
    
    # busybox --help
    BusyBox v1.00 (2005.07.01-11:35+0000) multi-call binary
    
    Usage: busybox [function] [arguments]...
       or: [function] [arguments]...
    
    	BusyBox is a multi-call binary that combines many common Unix
    	utilities into a single executable.  Most people will create a
    	link to busybox for each function they wish to use, and BusyBox
    	will act like whatever it was invoked as.
    
    Currently defined functions:
    	[, ar, ash, basename, busybox, cat, chgrp, chmod, chown, chroot,
    	chvt, clear, cmp, cp, cut, date, dd, deallocvt, df, dirname, dmesg,
    	du, echo, egrep, env, expr, false, fgrep, find, free, ftpget,
    	ftpput, grep, gunzip, gzip, halt, head, hexdump, hostname, id,
    	ifconfig, inetd, init, insmod, install, kill, killall, klogd,
    	linuxrc, ln, logger, login, ls, lsmod, mkdir, mknod, mktemp, more,
    	mount, mv, nslookup, openvt, pidof, ping, pivot_root, poweroff,
    	ps, pwd, readlink, reboot, reset, rm, rmdir, rmmod, route, sed,
    	sh, sleep, sort, strings, swapoff, swapon, sync, syslogd, tail,
    	tar, tee, telnet, telnetd, test, time, top, touch, tr, true, tty,
    	umount, uname, uniq, unzip, uptime, usleep, vi, wc, wget, which,
    	whoami, xargs, yes, zcat
    
    Meine zweite Anwendung für run.sh war das Löschen des Verzeichnisses /program/games/lbreakout.

    Viel Spaß beim Herumstöbern (und lasst die Finger davon, wenn ihr euch nicht mit Linux und Shell-Skripten auskennt),

    /mnt/usb
     
  2. Barolo

    Barolo Junior Member

    Registriert seit:
    10. März 2006
    Beiträge:
    112
    AW: Shell-Skripte auf UFS 821 ausführen

    Super Idee!!!
    Sollte eigentlich einige „Probleme“ lösen!

    Gruß

    Barolo
     
  3. Elemental

    Elemental Senior Member

    Registriert seit:
    4. Januar 2002
    Beiträge:
    226
    Ort:
    Buxtehude
    AW: Shell-Skripte auf UFS 821 ausführen

    Zumindest kann man jetzt endlich Applikationen deinstallieren *g*
     
  4. fanx999

    fanx999 Junior Member

    Registriert seit:
    14. April 2006
    Beiträge:
    119
    Ort:
    94xxx
    AW: Shell-Skripte auf UFS 821 ausführen

    Ich glaub, dass wird noch sehr interessant werden :winken:
     
  5. Barolo

    Barolo Junior Member

    Registriert seit:
    10. März 2006
    Beiträge:
    112
    AW: Shell-Skripte auf UFS 821 ausführen

    Vor allem ist der IBM Power PC STB04500 Prozessor wirklich voll getaktet! Ich dachte ja noch, dass Marusys beim UFS auf 166 MHz beschränkt hätte.

    Gruß

    Barolo
     
    Zuletzt bearbeitet: 20. Mai 2006
  6. data68

    data68 Silber Member

    Registriert seit:
    9. Januar 2006
    Beiträge:
    655
    AW: Shell-Skripte auf UFS 821 ausführen

    Für Shell-Skript-Dummies: wie deinstalliere ich denn so Applikationen?
    Einfach ein Skript mit "rmdir program/<app_directory>" ?
    Kann das bitte mal jemand detaillieren?

    Danke
    data68
     
  7. /mnt/usb

    /mnt/usb Junior Member

    Registriert seit:
    20. Mai 2006
    Beiträge:
    30
    AW: Shell-Skripte auf UFS 821 ausführen

    Hi, "rmdir /program/myapp" (Achtung, absoluter Pfad entgegen deinem Beispiel) funktioniert nur, wenn das Verzeichnis /program/myapp komplett leer ist. Einzelne Dateien löscht man mit "rm /pfad/zur/datei", rekursiv ganze Verzeichnisbäume mit "rm -r /pfad/zum/verzeichnis" (meistens noch mit einem Schalter -f für "force", um irgendwelche widersprechenden Dateirechte zu überwinden. Mein Beispiel mit dem Breakout-Spiel würde also "rm -rf /program/games/lbreakout" lauten.)

    Ich würde an deiner Stelle erst einmal ein paar Trockenübungen auf irgendeinem Linux/Unix-System machen.

    Gruß,
    /mnt/usb
     
  8. madcat13

    madcat13 Junior Member

    Registriert seit:
    12. Mai 2006
    Beiträge:
    26
    AW: Shell-Skripte auf UFS 821 ausführen

    Hallo feine Sache das mit den Shell Skripten, jedoch läßt sich das hook Skript nicht so recht bei mir starten. Muss die Datein eine besonder Endung haben oder wie von dir beschrieben komplett ohne Endung ?
     
  9. data68

    data68 Silber Member

    Registriert seit:
    9. Januar 2006
    Beiträge:
    655
    AW: Shell-Skripte auf UFS 821 ausführen

    @/mnt/usb

    danke für deine Hinweise!
    Cooler Name übrigens...

    Gruß
    data68
     
  10. /mnt/usb

    /mnt/usb Junior Member

    Registriert seit:
    20. Mai 2006
    Beiträge:
    30
    AW: Shell-Skripte auf UFS 821 ausführen

    Bei mir ging es sowohl ohne Endung wie oben beschrieben als auch mit der Endung .sh. Dateiendungen sind unter Linux ziemlich egal, auf den Dateiinhalt kommt es an: Bei einem Skript ist es wichtig, dass die ersten zwei Zeichen der ersten Zeile "#!" lauten.

    /mnt/usb
     

Diese Seite empfehlen