[gelöst] nvi config.cfg editieren, Zeichensatz?

fr@nk-pcn

Neuer User
Mitglied seit
6 Mrz 2006
Beiträge
117
Punkte für Reaktionen
0
Punkte
0
Ja hi liebes IPPF,

ich stoße immer wieder auf ein hoffendlich kleines Problem:

Ich habe eine FRITZ!Box Fon WLAN 7170 Firmware-Version 29.04.49 (orginal), ein 6Gb USB-Stick (FAT32) mit Apache 1.3.37 + PHP 5.2.1 CGI.
Funzt auch alles so weit nur bei bearbeiten der config.cfg mittels (nvi /var/flash/debug.cfg) hab ich immer wieder Schwierigkeiten.

Diese sieht zur Zeit so aus:
Code:
# Ungebungsvariablen
USBDEVICE=“USBStickCS-D-Partition-0-0“
# USB-Stick mit Apache- DIR da?
while !(test -f /var/media/ftp/$USBDEVICE/apache/apache); do
sleep 5
done
sleep 60
# Swapfile einbinden 64MB
swapon /var/media/ftp/$USBDEVICE/fboxswap.img
# wenn Stick mit Apache- File da dann starten
ifconfig cpmac0:1 192.168.178.253 netmask 255.255.255.0 up
/var/media/ftp/$USBDEVICE/apache/apache -f /var/media/ftp/$USBDEVICE/apache/conf/apache.conf

Diese *.cfg läuft,
nun möchte ich folgende Zeilen mittels kopieren/ einfügen b.z.w. "# Swapfile einbinden 64MB" ersetzen:

Code:
USBDEVICE='USBStickCS-D-Partition-0-0'
# Swapfile einbinden falls vorhanden
if [ -f /var/media/ftp/$USBDEVICE/fboxswap.img ]
then
modprobe loop
swapon /var/media/ftp/$USBDEVICE/fboxswap.img fi
Done

Plump ausgedrückt, "dad funzt net":confused:

Gleiches Drama hier:

Code:
# SIGNED_FIRMWARE Warnhinweis wegen Manipulation entfernen
dst=/var/tmp/signed_firmware
src=/usr/www/html/html/de/home
mkdir -pm 777 $dst
for file in home.js konfig.js; do
if [ -f $src/$file ]; then
sed -e 's,.*var signed =.*,var signed = "1",' $src/$file > $dst/$file
mount -o bind $dst/$file $src/$file
fi
done

Muss ich extra den DS-Mod istallieren? "modprobe loop" -funktioniert auch nicht und mit den Zeichen [,],',und dubiose Leerzeichen kan die Fritz.box in der config.cfg nichts anfangen.
Habe immerhin herausgefunden, das ' = " ist.
Giebt es ein Editor (Windows basierend) der diese Syntaxfehler erkennt?
Kann mir jemand helfen "# Swapfile einbinden falls vorhanden" umzuschreiben das es mit einer orginalen FW in der config.cfg funktioniert?

Der Moderator und ihr möge mir verzeihen, ich beherrsche von der Pike auf ab MS-DOS5.2 alles was MS angeht aber Linux und Unix so viel wie auch Wiki lese und google beanspruche werd ich nicht recht schlau.

LG & thx
 
Zuletzt bearbeitet:
Für "modprobe loop" brauchst du das loop-Modul. Das ist wahrscheinlich nicht da. Wobei ich nicht weiß was du mit diesem Modul willst!?
Für die Bedienung von vi gibt es Tutorials, die man lesen sollte (Linux Grundlagen).

MfG Oliver
 
@olistudent,

habe eine Bedienung von (n)vi hier http://www.inf.hs-anhalt.de/Service/UNIX/vi-Kommandos.htm gefunden,
das Modul "modprobe" benötige ich für folgenden Abschnitt in der config.cfg:

Code:
USBDEVICE='USBStickCS-D-Partition-0-0'
# Swapfile einbinden falls vorhanden
if [ -f /var/media/ftp/$USBDEVICE/fboxswap.img ]
then
modprobe loop
swapon /var/media/ftp/$USBDEVICE/fboxswap.img fi
Done

Woher, wo und wie kann ich "modprobe" nachladen?

@Joe_57,
thx für die Korrekturhilfe, habe das gleich abgeändert, werd das "# SIGNED_FIRMWARE Warnhinweis wegen Manipulation entfernen" gleich mal ausprobieren. Werde natürlich euch ein Feedback geben.
 
Zuletzt bearbeitet:
modprobe ist ein Applet der busybox. Und nochmal: Ich wüßte nicht für was du das loop-Modul laden willst.

MfG Oliver
 
@Oliver
Modprobe soll testen ob die Swap-Datei auf dem Stick existiert und als solche gültig ist nach dem Motto "teste und lade". Ich mein um ein swapfile ein zu laden ist es eher nebensächlich aber die Anwendung von modprobe erfüllt ja auch in anderen "Plugins" eine wichtige Rolle und wäre doch toll wenn diese Funtion in der FB 7170 vorhanden währe. Giebt es denn ein Äquivalent zu modprobe?

Gruss & thx Frank
 
Was bringt Dich denn auf die Idee, daß modprobe nicht funktionieren würde?

Und wo ist hier von Zeichensatz die rede, außer im Titel dieses Themas?
 
@RalfFriedl

[Zitat]
Was bringt Dich denn auf die Idee, daß modprobe nicht funktionieren würde?
[/Zitat]

Telnetausgabe:

Code:
insmod: cannot open module `/lib/modules/2.6.13.1-ohio/kernel/driver/block/loop.ko`: No such file or directory
modprobe: failed to load module loop

[Zitat]
Und wo ist hier von Zeichensatz die rede, außer im Titel dieses Themas?
[/Zitat]

Folgende Zeile z.B. führt zum Beispiel in der config.cfg bei mir zum Fehler:

Code:
USBDEVICE=[COLOR="Red"]'[/COLOR]USBStickCS-D-Partition-0-0[COLOR="red"]'[/COLOR]

Diese funkioniert:

Code:
USBDEVICE=[COLOR="blue"]“[/COLOR]USBStickCS-D-Partition-0-0[COLOR="Blue"]“[/COLOR]

Deshalb bin ich der Annahme dass mit unterschiedlichen Zeichensätzen gearbeitet wird, kann natürtlich auch auf dem Holzweg sein und lasse mich gerne eines Besseren belehren.

Man lernt nie aus! :-), oder?
 
Code:
insmod: cannot open module `/lib/modules/2.6.13.1-ohio/kernel/driver/block/loop.ko`: No such file or directory
modprobe: failed to load module loop
Der Text "`/lib/modules/2.6.13.1-ohio/kernel/driver/block/loop.ko`: No such file or directory" sollte doch klar genug sein.


Code:
# Folgende Zeile z.B. führt zum Beispiel in der config.cfg bei mir zum Fehler:
USBDEVICE=[COLOR="Red"]'[/COLOR]USBStickCS-D-Partition-0-0[COLOR="red"]'[/COLOR]
# Diese funkioniert:
USBDEVICE=[COLOR="blue"]“[/COLOR]USBStickCS-D-Partition-0-0[COLOR="Blue"]“[/COLOR]

config.cfg soll wohl debug.cfg heißen?
Bist Du sicher, daß das der einzige Unterschied ist? Computer sind manchmal mit solchen Kleinigkeiten sehr pingelig.
 
rrrichtig, debug.cfg...., ...der einzige Unterschied? Nein, auch folgendes funzt bei mir nicht:

Code:
(
# Ungebungsvariablen
USBDEVICE=“USBStickCS-D-Partition-0-0“
# USB-Stick mit Apache- DIR da?
while !(test -f /var/media/ftp/$USBDEVICE/apache/apache); do
sleep 5
done
sleep 60
# Swapfile einbinden 64MB
swapon /var/media/ftp/$USBDEVICE/fboxswap.img
# wenn Stick mit Apache- File da dann starten
ifconfig cpmac0:1 192.168.178.253 netmask 255.255.255.0 up
/var/media/ftp/$USBDEVICE/apache/apache -f /var/media/ftp/$USBDEVICE/apache/conf/apache.conf
) &

Der Auszug aus der debug.cfg mit modprobe erzeugt o.g. Fehler

Code:
USBDEVICE="USBStickCS-D-Partition-0-0"
# Swapfile einbinden falls vorhanden
if [ -f /var/media/ftp/$USBDEVICE/fboxswap.img ]
then
modprobe loop
swapon /var/media/ftp/$USBDEVICE/fboxswap.img
fi
Done

Ich versteh dass so modprobe soll schauen ob die fboxswap.img da ist und dann mit swapon geladen wird. Funzt so aber net.
Wie dann?


Ich muss () & rauslöschen sonst läd die 7170 bei mir nich z.B. die fboxswap.img und der Apache- Server wird auch nicht mehr gestartet.

Also muss es einige Unterschiede im Zeichensatz oder im Code geben wenn man den DS-Mod installiert hatt oder nicht. Ich habe kein DS-Mod installiert.

**Ich weis, so ein Tread kann nur einer aufmachen der mit MS DOS 5.2 gross geworden ist und immer MS treu geblieben ist**

Aber auch aus diesem Grund liebe ich das IPPF weil MS- Deppen wie ich hier über Linux und Unix was lernen können
 
Zuletzt bearbeitet:
Ich versteh dass so modprobe soll schauen ob die fboxswap.img da ist und dann mit swapon geladen wird.
Wie kommst Du auf die Idee?

Ich muss () & rauslöschen ...
Also muss es einige Unterschiede im Zeichensatz oder im Code geben ...

Eine gewagte Vermutung.

Poste mal eine exakte Kopie der debug.cfg (nicht ähnlich abgeschirieben) und die genaue Fehlermeldung die kommt.

Und vorab: Auch wenn Du mit MS-DOS groß geworden bist, solltest Du "done" schreiben und nicht "Done".
 
Eine genaue Kopie der debug.cfg:

Code:
# SIGNED_FIRMWARE Warnhinweis wegen Manipulation entfernen
dst=/var/tmp/signed_firmware
src=/usr/www/html/html/de/home
mkdir -pm 777 $dst
for file in home.js konfig.js; do
if [ -f $src/$file ]; then
sed -e 's,.*var signed =.*,var signed = "1",' $src/$file > $dst/$file
mount -o bind $dst/$file $src/$file
fi
done
# Ungebungsvariablen
USBDEVICE=“USBStickCS-D-Partition-0-0“
# USB-Stick mit BUSYBOX 1.9.0 da?
while !(test -f /var/media/ftp/$USBDEVICE/bin/busybox); do
sleep 5
done
sleep 20
# Nachladen von Dateien und Anpassen der Dateirechte
cp /var/media/ftp/$USBDEVICE/bin/busybox /var/tmp/busybox
chmod +x  /var/tmp/busybox
mount --bind /var/tmp/busybox /bin/busybox
# wenn Stick mit Apache 1.3.37 da dann starten
ifconfig cpmac0:1 192.168.178.253 netmask 255.255.255.0 up
/var/media/ftp/$USBDEVICE/apache/apache -f /var/media/ftp/$USBDEVICE/apache/conf/apache.conf
# 32mb Swapfile einbinden
if [ -f /var/media/ftp/$USBDEVICE/share/fboxswap.img ]
then
modprobe loop
swapon /var/media/ftp/$USBDEVICE/share/fboxswap.img
fi

Genaue Fehlermeldungen gibt es mehrere, habe hierzu die debug.cfg mit [telnet] sh -x /var/flash/debug.cfg manuell gestartet.

www.frank-web.selfip.org/genauer_fehler.JPG
 
Zuletzt bearbeitet:
Folgende Anmerkungen:
Kann es ein, daß folgende Anführungszeichen verwendet werden?
Code:
USBDEVICE=[B]"[/B]USBStickCS-D-Partition-0-0[B]"[/B]
# und nicht
USBDEVICE=[B]“[/B]USBStickCS-D-Partition-0-0[B]“[/B]
Ich weiß nicht, ob man den Unterschied sieht, das eine ist Shift-2 (") und das andere ist (“), weiß nicht, wie man das auf der Tastatur hinbekommt, aber es ist das aus Deinem Beitrag.

Code:
mount [B]-o bind[/B] $dst/$file $src/$file
# OK
mount [B]--bind[/B] /var/tmp/busybox /bin/busybox
# Fehler

Bei modprobe wird angegeben, daß eine Datei mit einem konkretern Namennicht gefunden wurde. Existiert diese Datei oder nicht?

Das "swapon: Device or resource busy" deutet darauf hin, daß Swap bereits aktiviert ist, was plausibel ist, wenn die debug.cfg ja bereits beim Start aufgerufen wurde.
Versuch mal "swapoff Datei" und "swapon Datei". Kommen da auch Fehlermeldungen oder nicht?
 
Also ich kenn auch nur die Gänsefüße mit Shift-2. Habe schon aus Verzweiflung mit BusyBox 1.1.2 (orginal) und mit 1.9.0 ausprobiert. DS-Mod/Feetz habe ich nicht.
Mit
Code:
mount -o bind /var/tmp/busybox /bin/busybox
werd ich gleich korrigieren, testen und Feedback geben.

fboxswap.img existiert. Habe diese mit

Code:
(
USBDEVICE="USBStickCS-D-Partition-0-0"
mknod /var/tmp/zero   c   1 5
cd //
cd var/media/ftp/$USBDEVICE/share/
busybox dd if=/var/tmp/zero of=fboxswap.img bs=1k count=32000
mkswap -c /var/media/ftp/$USBDEVICE/share/fboxswap.img 32000
swapon /var/media/ftp/$USBDEVICE/share/fboxswap.img
) &

erstellt.

Vieleicht ist die Syntax für modprobe falsch. Was sagt denn das loop aus?

Meine debug.cg sieht im NVI so aus www.frank-web.selfip.org/nvi_debug.cfg.jpg

Und wieder Fehler: www.frank-web.selfip.org/wieder_fehler.jpg
 
Zuletzt bearbeitet:
Nach modprobe kommt doch die Meldung "insmod: can't open '/lib/modules/.../loop.ko'". Existiert die dort genannte Datei oder nicht?

Und zeig mal, was bei folgenden Kommandos als Ausgabe kommt:
Code:
cat /proc/swaps
cat /proc/mounts
 
'/lib/modules/.../loop.ko' ist net da, wie und woher bekomm ich die passende Datei?
Beine BusyBox 1.9.0 funzt auch nicht 100%, werd das mounten aus der debug.cfg rausnehmen.

das Ergebniss von
Code:
cat /proc/swaps
cat /proc/mounts

sieht so aus:www.frank-web.selfip.org/loop_cat.JPG
 
Zuletzt bearbeitet:
Was willst Du überhaupt mit der loop.ko ?
Wenn die Datei nicht in der original Firmware enthalten ist, mußt Du sie vorher auf die Box bringen, wenn Du sie wirklich brauchst.

Zu der Ausgabe:
"cat /proc/swaps" zeigt an, daß /var/media/.../fboxswap.img bereits als Swap aktiv ist, das funktioniert also. Nur beim zweiten, manuellen Aufruf der debug.cfg ist die Datei bereits aktiv, daher die Meldung "Busy".

"cat /proc/mounts" zeigt, daß ein Mount auf /bin/busybox bereits aktiv ist. Anscheinend ist auch dieser Aufruf bei der Ausführung der debug.cfg erfolgreich und gibt erst beim zweiten Aufruf von Hand einen Fehler.

Also:
Das Modul loop wird nicht gebraucht.
Die anderen Aufrufe funktionieren beim ersten Mal.
Wo ist das Problem?
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,880
Beiträge
2,303,879
Mitglieder
378,553
Neuestes Mitglied
jensberger9092