Patch: Backup/Restore für DS-Mod

Update: Kombi-Paket Backup/Restore + Rudi-Shell + Haserl-Makefile

Update 6: (02.04.2007, 03:22): Es gibt nun keinen Patch mit enthaltenem Haserl-Binary mehr wie früher, sondern ein kombiniertes Paket mit kleiner Installations-Routine, welches für beide DS-Mods (ds-0.2.9 von danisahne und ds-0.2.9_26-x mit x<14 von olistudent) funktionieren sollte. Bitte beachten:
  • Nicht wundern, außer Sichern/Wiederherstellen ist in dieser Version auch die Rudi-Shell (siehe auch Wiki) enthalten.
  • Ab ds-0.2.9_26-14 wird dieser Patch nicht mehr benötigt, da sowohl Haserl als auch Backup/Restore und Rudi-Shell sowieso darin enthalten sind.
  • Haserl ist nun für alle Mods auf dem gleichen Stand und wird direkt im Build-Prozeß gebaut. Binaries werden nicht mehr verteilt.
 
@kriegaex

Ich hab's jetzt nochmal mit der neuen Version unter ds-0.2.9 getestet.

Backup/restore funktioniert einwandfrei. Sobald man aber die libgcc_s.so.1
aus den Shared libraries aktiviert, geht der Restore nicht mehr.
(Reproduzierbar momentan auf FB Fon)

Es kommt nur folgende Fehlermeldung:
Code:
haserl CGI Error

Attempted to send content larger than allowed limits.

Gruß, gnieder
 
Ich kann das nicht testen, weil ich nicht mehr den alten ds-0.2.9 installiert habe. Mit nur einer Box (die den ganzen Tag laufen sollte) wäre mir das zu viel Hin und Her. Aaaber - wir hatten unter Kernel 2.6 auch seltsame Probleme mit libgcc_s. Hintergrund: Sie behandelt u.a. Fleißkomma-Arithmetik-Aufrufe für Prozessoren ohne eigene FPU (sog. soft-float). Dazu muß beim Kompilieren aber auch soft-float aktiviert sein. Inzwischen haben wir im ds-0.2.9_26 folgenden Compiler-Aufruf in menuconfig gesetzt:

Code:
-Os -W -Wall -pipe -march=mips32 -mips32 -Wa,--trap -msoft-float

Ohne es getestet zu haben, rate ich Dir mal: Versuch, das -msoft-float mal anzuhängen unter Advanced Options -> Compiler Options -> Target Compiler Flags. Das könnte nicht nur dieses sondern auch einige andere Probleme beheben. Unter *_26 blieb z.B. das awk der Busybox hängen.

Edit: Frage aus Neugier: Gibt es einen bestimmten Grund, weshalb Du nicht auf ds-0.2.9_26-14 umsteigen kannst?
 
kriegaex schrieb:
Code:
-Os -W -Wall -pipe -march=mips32 -mips32 -Wa,--trap -msoft-float

...werd' ich gleich mal testen.

kriegaex schrieb:
Edit: Frage aus Neugier: Gibt es einen bestimmten Grund, weshalb Du nicht auf ds-0.2.9_26-14 umsteigen kannst?

Wenn Du mir sagst wie ich auf die
FBFon classic,ohne WLAN,alt,kann nicht viel,gibt's schon lang nicht mehr,keiner will sie mehr haben ;-)
Firmware Version 06.04.27 einen 2.6er Kernel drauf bekommen kann, dann steig ich sofort um.

Updaten issnich, weil es momentan 6 Stück sind, die ich da verwende,
und so freizügig sind die Provider nun auch wieder nicht.

Gruß, gnieder
 
Ach so. Na ja, eine aussagekräftige Signatur hätte die Frage evtl. überflüssig gemacht.
 
kriegaex schrieb:
Ach so. Na ja, eine aussagekräftige Signatur hätte die Frage evtl. überflüssig gemacht.

...du hast ja grundsätzlich Recht, nur nicht hier, denn privat verwende ich eine 7170 und eine 7050...

...und das hätte Dich in diesem Fall dann auch nicht weiter gebracht...

Ausserdem, ich [! LIEBE] Signaturen, das ist halt eines meiner Themen :)

Gruß, gnieder
 
kriegaex schrieb:
Code:
-Os -W -Wall -pipe -march=mips32 -mips32 -Wa,--trap -msoft-float

...weils mir da gerade so in den Sinn kommt: muss ich die toolchain auch neu
compilieren, oder reicht es die libgcc_s.so.1 und den haserl neu zu machen?

Gruß, gnieder
 
Da fragst Du einen Nicht-C-Programmierer aber was... ;-)

Laß uns mal logisch nachdenken: Soft-Float-Unterstützung benötigst Du auf der Box, nicht im Build-System. Der Compiler ändert sich ja nicht, sondern nur sein Aufruf. Also keine neue Toolchain. Für die Box könntest Du mal die Lib oder zur Sicherheit alle Packages und Libs samt Busybox neu übersetzen.
 
@kriegaex

...ich hab' jetzt mal alles mit den gleichen CFLAGS wie im _26-14.1 ds-mod
compiliert, und nun läuft der haserl auch mit libgcc_s.so.1.

Danke für den Tip.

Gruß, gnieder

PS:

...was war das noch für ein Problem mit dem awk bei Verwendung der libgcc_s.so.1?
Kann ich das irgendwie nachstellen?
 
Das awk-Problem ist off-topic und gelöst. Da ich neugierig bin, ob es unter Kernel 2.4 auch passiert ohne -msoft-float, schreibe ich Dir eine PM.
 
dickes dankeschön

vorhin ist mir die 7170 nach 3 wochen uptime unter 0.2.9_26-14 (mit ununterbrochener dsl-verbindung! da scheint die .29 doch stabiler geworden zu sein) kommentarlos rebootet und hatte anschliessend ihre komplette konfiguration vergessen.

wenn ich damals nicht gleich so neugierig gewesen wäre, das konfigurations-backup-feature auszuprobieren, wäre das eine wilde wühlerei nach den passworten geworden und wahrscheinlich hätte die konfiguration danach trotzdem nur entfernte ähnlichkeit mit der vorigen gehabt. THANKS!

(hatte das problem schon mal jemand? keine logeinträge, nix. sehr rätselhaft.)
 
Fehler beim kompilieren

Hallo zusammen,
habe unter Ubuntu 7.04 das Problem das
Code:
make haserl-precompiled
mit folgender Fehlermeldung abbricht:
Code:
checking for C compiler default output file name... 
configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [source/haserl-0.9.16/.configured] Fehler 77
oliver@ubuntu:~/ds-0.2.9$

In der Datei config.log habe ich dann folgende Interssante Zeilen entdeckt:
Code:
configure:2383: checking for C compiler default output file name
configure:2410: gcc -Os -W -Wall -pipe -march=mips32 -mips32 -Wa,--trap -msoft-float  -static-libgcc conftest.c  >&5
cc1: error: unrecognized command line option "-mips32"
conftest.c:1: error: bad value (mips32) for -march= switch
conftest.c:1: error: bad value (mips32) for -mtune= switch
as: unrecognized option `--trap'
configure:2413: $? = 1
configure:2451: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "haserl"
Was kann ich tun?

Achso habe bereits die Standard-Shell auf Bash geändert.
 
Du hast evtl. ein Update oder einen Patch auf irgendeinen Teil der Toolchain eingespielt, z.B. die uClibc. Das kann zu diesem Fehler führen, hatte ich kürzlich auch. Am besten die ganze TC frisch von vorne durchkompilieren und nochmal versuchen.
 
Am besten die ganze TC frisch von vorne durchkompilieren und nochmal versuchen.

Das mache ich mit
Code:
make toolchain
?
 
xxolli schrieb:
Code:
configure:2383: checking for C compiler default output file name
configure:2410: gcc -Os -W -Wall -pipe -march=mips32 -mips32 -Wa,--trap -msoft-float  -static-libgcc conftest.c  >&5
cc1: error: unrecognized command line option "-mips32"
Da wird der falsche gcc genommen. Entweder ist die Variable CC gesetzt, oder die Toolchain ist nicht installiert.

MfG Oliver
 
Da hatte ich das mit dem make toolchain ganz falsch verstanden, hab gedacht das brauch ich net.
Aber nach ca. 6,5 Stunden war das Thema auch erledigt!

Leider hänge ich jetzt an einem anderen Problem, wär aber hier OT.

Danke euch!
 
Backup/Restore auf unterschiedlichen Boxen

Hallo kriegaex, ich grabe das Thema wieder auf, weil mir was ähnliches reproduzierbar passiert ist, wie gnieder, nämlich beim wiederherstellen der Daten auf einer anderen Box alle Verbindungsdaten der DSL-Verbindung waren weg. Das kann man dadurch erklären, dass die Verschlüsselung der Passwörter bei den Boxen unterschiedlich ist. Fragen:
1. Sind es nur DSL-Daten betroffen (mir ist nichts mehr aufgefallen)?
2. Kann man das Problem irgendwie umgehen, außer, dass man noch AVM-Sicherung macht? Mögliche Wege (nur so, als Idee):
a) Etwas ähnliches wie AVM machen: Passwort für die Datensicherung festlegen und danach abfragen.
b) Ein klonen der Passwörter ebenfalls durchführen. Viellecht /etc/passwd und /etc/shadow (oder wo die beiden eigentlich liegen mögen) mitkopieren?
Ich weiß, genetische Experimente, wie b) sind nicht gut, aber vielleicht einfacher zu realisieren als a). Und ich glaube, es ist schon ab und zu erforderlich, die Daten auf eine andere Box zu portieren.

MfG
 
Backup/Restore zwischen unterschiedlichen Boxen

Ja, es kann praktisch sein, Boxen zu klonen, aber dafür habe ich das Backup/Restore-CGI nicht entwickelt und ich habe es auch nicht vor. Paßwortverschlüsselung werde ich auch nicht einführen, denn jeder soll selbst wissen, was er mit den Backups tut. Er kann sie ja beim oder nach dem Download entsprechend umbenennen, so daß die Box-Identität erkennbar ist, z.B. var_flash_7170_München.tar.gz. Die 7170 in Hamburg hätte einen anderen Namen, die 5050 in Frankfurt sowieso. Das Datum kann man auch noch einbauen in den Dateinamen oder eine entsprechende Ordnerstruktur wählen. Ich werde hier jedem selbst überlassen, wie aufwendig er seine Backup-Strategie gestalten möchte.

Was die Verschlüsselung der PW bei unterschiedlichen Boxen angeht, weiß ich zwar, wie sie funktioniert, aber das könnte sich erstens ändern und zweitens bringt es aus meiner Sicht keinen Vorteil, einen reverse-engineerten Algorithmus nachzubauen für ein Feature, das wenigen Leuten etwas nützt. Ein Skript, welches offline läuft und Sicherungsdaten unterschiedlicher Boxen klont, indem es in den zu klonenden Daten die Paßwörter austauscht, die es einer Sicherung der zu klonenden Box entnommen hat, kann man sich unabhängig vom Backup/Restore-CGI schreiben. Das wäre interessant, hat aber mit dem Thema hier nur am Rande zu tun. Auch ob so ein Werkzeug nur gleiche Boxtypen klonen oder sogar zwischen mehreren Typen mit unterschiedlichen Features konvertieren können soll, wäre an anderer Stelle zu entscheiden.

Fazit: It's not a bug, it's a feature! Also ist auch klar, Probleme beim Cross-Box-Restore "reproduzierbar" sind. ;-)

Schlußbemerkung: Nach dem UNIX-Prinzip soll jedes Werkzeug für sich eine kleine, in sich abgeschlossene Aufgabe übernehmen. Mehrere Werkzeuge sollen sich kombinieren lassen. Also spricht gar nichts dagegen, sich einen Backup-Manipulator bzw. ein Klon-Werkzeug zu schreiben. Ob dem Backup/Restore-CGI zum Restore am Ende Daten aus einem Original-Backup oder aus einem Klon-Versuch übergeben werden, ist dem Werkzeug egal. Es kümmert sich nicht einmal darum, ob die Daten im Archiv Sinn machen. Wozu auch? Wenn das Werkzeug ein mit ihm selbst erzeugtes Backup einspielt, funktioniert das im Normalfall. Wenn jemand versucht, ihm etwas aus Sicht der Box Inkompatibles unterzujubeln, kann das Werkzeug nichts dafür.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.