[Info] Mini-Shell-Betriebssystem fbootos auf die Fritzbox

cyberhead

Neuer User
Mitglied seit
27 Jul 2007
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,
auch ich habe mich mit meinen Boxen schon ein wenig gespielt.......

Über die /var/flash/debug.cfg lässt sich die Box ja dauerhaft aufmotzen, ohne dabei gleich eine neue firmware zu erstellen.

Also habe ich über den "in document"-Modus der Shell einfach ein paar tools in die debug.cfg eingebaut.

Code:
/bin/busybox telnetd -l /sbin/ar7login
##################################
cat > /var/fboot << 'BIGEOF'
#!/bin/sh
.....viele Skriptzeilen.....
BIGEOF
##################################
chmod 777 /var/fboot
/var/fboot &
Heraus kommt also eine ausführbare /var/fboot, die anschließend im Hintergrund ausgeführt wird.

Hart eingeschrieben ins Flash wird das ganze etwa mit:

Code:
cat /var/debug.cfg > /var/flash/debug.cfg
Neustart der Box und siehe da, mein fboot wird tatsächlich ausgeführt, wie schön.

Noch schöner ist, daß der "in document"-Modus auch geschachtelt angewendet werden kann, so daß in dem ersten "indoc"-Teil weitere "indoc" daherkommen können.

Code:
cat > /var/fboot << 'BIGEOF'
........
cat > $dst << 'EOF'
#!/bin/sh
#AVRNETIO-JOB
xjob() { 
echo "$1" | nc 192.168.100.252 50290 
}
.......
EOF
....
BIGEOF
Also lassen sich gleich mehrere Dateien auf diese Weise in einer einzigen Datei ablegen.
Sogar einen einfachen updater per tftp kann man sich da reinbauen und vieles mehr.

Nützliche Skripte:

LED's
led
ledreset
leddelay
ledloop
ledplay
doled
ledjob

FBOOT

fput => TFTP
fget => TFTP
fcron => Mini-Cron
falive => DSL-Check
fupd => Updater für fboot über TFTP
wjobs => Web-Updater-Jobs
calllog => Bei Anruf von Nummer auf interne Nummer etwas ausführen


AVRNETIO
xjob
xadc
xset
xget
xstat


Anbei also mein kleines Mini-"fbootos" für Euch hier zum Spielen oder was ihr sonst damit anstellt.

>>>>>>>>>>>>>>>>>>>>> Anhang anzeigen fbootos_debug.zip <<<<<<<<<<<<<<<<<<<<<

Es fährt hoch, erzeugt einen Satz Skripten in /var und führt diese aus.

Alle paar Sekunden werden Anfragen an meine Pollin-AVRNETIO gestellt und diese auf meinen Webserver und TFTP-Server übertragen.

Außerdem wird die DSL-Verbindung überwacht und protokolliert, weil ich immer wieder Ärger damit habe - sync weg und Schluss, bis ich es per Relais an einem zweiten AVR ohne Gnade kurzschließe, dann geht's wieder für Stunden/Tage. Dazu toggelt falive ganz einfach einfach einen AVR-Ausgang, ohne toggel hau ich ihm nach 180 Sekunden einen Kurzschluss drauf.

Anfangs wollte ich noch auf der Box mitloggen, aber die ist ja ziemlich schnell zu, daher keine großen Mitschriebe.

Meine Erfahrung mit den Boxen ist, alles so kurz und einfach wie nur irgend möglich zu hinzuschreiben und sich wiederholende Aufrufe in Funktionen auszulagern.

Sicher kann man vieles verbessern, also, viel Spaß damit!

Vielleicht habt Ihr ja ähnliches gemacht und könnt mir ein paar Skripten/Tips/... geben?

Wie kriege ich z.B. einen alias aus einem Skript exportiert?
 
Zuletzt bearbeitet: