script auf ext2 USB-Stick nicht startbar trotz 777

rolsch

Neuer User
Mitglied seit
28 Okt 2004
Beiträge
180
Punkte für Reaktionen
0
Punkte
16
Steh ich auf'm Schlauch?

Ich hatte bisher den Stick mit fat32 formatiert und alle Scripte waren startbar.
Nachdem ich den Stick nun auf ext2 formatierte kann ich keine Scripte mehr starten:

Code:
/var/media/ftp/uStor01 # ls -l test*
-rwxrwxrwx    1 root     root           87 Oct 30 19:11 test.sh
/var/media/ftp/uStor01 # ./test.sh
-sh: ./test.sh: not found

Inhalt von test.sh:

Code:
#!/bin/sh

echo "hello world..."
echo "... end"

Firmware-Version 54.04.80freetz-1.1.3-6098M
 
Zuletzt bearbeitet:
Bist Du als root eingeloggt bzw. wie ist der output von:
Code:
ls -l  /var/media/ftp
?

EDIT:
OK. Geht es mit:
Code:
root@fritz:/var/media/ftp/[COLOR="Red"]uStor01# sh test.sh[/COLOR]
hello world...
... end
?
Ist die Partition evtl. mit dem noexec-Attribut gemountet? Wie ist der output von "cat /etc/fstab"?
 
Zuletzt bearbeitet:
Hallo sf3978,
ich bin als root unterwegs.

Code:
/var/mod/root # ls -l /var/media/ftp
drwxrwxrwx   11 root     root         4096 Oct 30 19:10 uStor01
/var/mod/root #

... ein root@fritz:/var/media/ftp/uStor01# sh test.sh klappt...?!
---> ein Hinweis?

Wo sehe ich, ob die Partition evtl. mit dem noexec-Attribut gemountet ist?

Code:
/var/media/ftp/uStor01 # cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
proc            /proc           proc    nosuid,nodev,noexec     0       0
tmpfs           /var            tmpfs   defaults                0       0
sysfs           /sys            sysfs   nosuid,nodev,noexec     0       0
/var/media/ftp/uStor01 #
 
...
... ein root@fritz:/var/media/ftp/uStor01# sh test.sh klappt...?!
---> ein Hinweis?
Gut, dass es mit "sh test.sh" funktioniert. Warum es bei dir mit "./test.sh" nicht will, weiss ich nicht. Bei mir funktioniert es einwandfrei mit "./test.sh". Was mir aufgefallen ist: Dein Script hat 87 bytes und meins (bei gleichem Inhalt!) nur 48 bytes.

Wo sehe ich, ob die Partition evtl. mit dem noexec-Attribut gemountet ist?

An den <options> noexec.
 
Also der mount spuckt noch dieses aus:

Code:
/var/media/ftp/uStor01 # mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock5 on /data type jffs2 (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type ext2 (rw,noatime,nodiratime)
/var/media/ftp/uStor01 #
- sollte daher passen..., seltsam...

Der byte Unerschied sollte nicht relevant sein, ich habe jetzt oben im ersten Post mal noch die CODE Tags gesetzt.
 
Ja, das passt. Die Partition ist nicht mit dem noexec-Attribut gemountet. Poste mal zum Vergleich, die Ausgabe von:
Code:
ps | grep sh
 
Hier der Output:
Code:
/var/media/ftp/uStor01 # ps | grep sh
   32 root         0 SW   [pdflush]
   33 root         0 SW   [pdflush]
 2470 root      1196 S    /bin/sh /etc/default.rrdstats/rrdstats 60
 3253 root      1192 S    -sh
 3569 root      1172 S    grep sh
/var/media/ftp/uStor01 #

Ich formatiere mal den Stick neu, irgendetwas stimmt da nicht.
Habe eben per script ein Verzeichniss angelegt und kann in dieses
nicht per cd wechseln, obwohl per ls -l alles optisch stimmt...
 
Sieht bei mir mit dem trunk so aus:
Code:
root@fritz:/var/media/ftp/uStor02# [COLOR="Red"]ps | grep sh[/COLOR]
   23 root         0 SW<  [pdflush]
   24 root         0 SW<  [pdflush]
   99 root      1736 S    /bin/sh /etc/init.d/rc.S
  906 root      1568 S    -sh
 [COLOR="Red"]2218 root      1560 S    sh[/COLOR]
 2923 root      1544 S    grep sh
 
Der byte Unerschied sollte nicht relevant sein
Wenn das oben wirklich der Inhalt Deiner Datei ist, dann ist der UNterschied in der Größe seht seltsam und könnte sehr wohl von Bedeutung sein.

Ist die Partition evtl. mit dem noexec-Attribut gemountet? Wie ist der output von "cat /etc/fstab"?
Da ist eher /proc/mounts interessant. fstab ist bei der Box weniger von Bedeutung als bei einem normalen System.
 
Linux hat mit DOS-Zeilenumbrüchen so seine Probleme...
 
Moin,
hängt euch jetzt bitte nicht an der Byte-Grösse der Testdatei auf,
die hatte ich per vi editiert und nachher über einen Win-Rechner hier ins Forum kopiert.

Das Script ist ja per sh ./test.sh auf dem Stick ausführbar.
- leider klappts nicht mit ./test.sh

cat /proc/mounts
Code:
/var/mod/root # cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs ro 0 0
dev /dev tmpfs rw,nosuid 0 0
proc /proc proc rw,nosuid,nodev,noexec 0 0
tmpfs /var tmpfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec 0 0
/dev/mtdblock5 /data jffs2 rw 0 0
usbfs /proc/bus/usb usbfs rw 0 0
/dev/sda1 /var/media/ftp/uStor01 ext2 rw,noatime,nodiratime 0 0
/var/mod/root #

Ich hänge mal noch einen fat32 Stick hinzu und überprüfe ob dort noch ein normaler Scriptstart möglich ist.
(Anmerkung: habe die ganze Zeit ohne USB-Hub getetstet)

Die sh läuft mit BusyBox v1.12.4 (2010-10-29 12:15:44 CEST) built-in shell (ash).
 
So,
es ist zum Haare raufen:

Habe nun Freetz neu kompiliert (54.04.80freetz-1.1.3-6109) und zwei USB Sticks (fat32 & ext2) angeschlossen.

svn up auf 6109
make dirclean
make config-clean-deps
make menuconfig
make ...


Auf beiden Sticks sind Scripte mittels ./scriptname.sh NICHT startbar.
Ein "sh scriptname.sh" funktioniert jedoch bei beiden USB Sticks.

Anbei die .config meines Freetz Builds für die 7270_v2.
 

Anhänge

Hier ein Hexdump eines meiner Testscripte:

Code:
/var/media/ftp/uStor01 # hexdump -C test.sh
00000000  23 21 2f 62 69 6e 2f 73  68 0a 65 63 68 6f 20 22  |#!/bin/sh.echo "|
00000010  48 65 6c 6c 6f 20 46 72  65 65 74 7a 22 0a        |Hello Freetz".|
0000001e
/var/media/ftp/uStor01 #
 
Hast Du (statt Script) ein binary auf dem Stick? Wenn ja, funktioniert es damit?
Code:
root@fritz:/var/media/ftp/uStor01/external# [COLOR="Red"][B]./[/B][/COLOR]hci freetz.org
85.13.143.173
 
modreg - Option daemon

Hallo Leute,
es klappt nun und ich weiss nicht warum!?

Ich habe nochmals ein Freetz-Image erzeugt und dann (!) die Box auf Werkssettings zurückgesetzt.
Danach nochmals beide Sticks ext2 & fat32 formatiert.

Vorher hatte ich noch die alte Konfig eines 54.04.7x Images im Flash,
wahrscheinlich war da einiges schief in der Config.

Nun vermisse ich aber die Option 'daemon' von modreg.
Gab es da auch in den letzten Freetz-Versionen Änderungen?
Unter /usr/bin/modreg gibts diese Option nicht mehr :confused:
 
...
Nun vermisse ich aber die Option 'daemon' von modreg.
Gab es da auch in den letzten Freetz-Versionen Änderungen?
Unter /usr/bin/modreg gibts diese Option nicht mehr :confused:
Wird im aktuellen trunk aber noch verwendet:
Code:
[URL="http://svn.freetz.org/trunk/make/privoxy/files/root/etc/init.d/rc.privoxy"]modreg daemon[/URL] $DAEMON
 
Hi,
so, jetzt klappts mit den Scripten und modreg.

ABER im Trunk funktioniert (hoffentlich nur temporär) die DTMFbox nicht mehr.
Leider brauche ich dieses feine Teil für die Sprachausgabe & Steuerung meiner Wetterstation :confused:
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,853
Beiträge
2,302,882
Mitglieder
378,501
Neuestes Mitglied
Dalle85