.titleBar { margin-bottom: 5px!important; }

FRITZ!Box-geeignetes tar für Windows

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von leo22, 15 Aug. 2005.

  1. leo22

    leo22 Aktives Mitglied

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    901
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ich wollte mal wissen, wie ich so ganz auf die Schnelle unter Windows ein Pseudo-Image für die FRITZ!Box erstellen kann.
    Aber auf meine Frage hier: http://www.ip-phone-forum.de/forum/viewtopic.php?p=176402#176402 hat wohl niemand eine Antwort :(
    Was blieb mir da also übrig? Ich mußte mich selbst auf die Suche begeben. Die Unterschiede zwischen dem alten und neuen tar-Format herauszufinden, war mir jedoch zu mühselig.

    Aber für tar unter Windows gibt es die folgende Lösung: Man nimmt die Cygwin-tar-Version. Ich habe es mit der Version 1.13.25 probiert, und es funktioniert.

    Für alle, die nicht aus den umfangreichen Cygwin-Dateien das richtige tar raussuchen wollen, habe ich mal das Notwendige zusammengestellt.

    Wenn man also haveanicedays Update für die debug.cfg zum Telnet-Start in der Datei var/install auf der Festplatte ablegt, dann erhält man mit:
    Code:
    tar.exe --owner 0 --group 0 -cf beispiel.image var/install
    das Image beispiel.image, das über die Firmware-Update-Funktion auf die Box geladen werden kann.
     

    Anhänge:

  2. theborg

    theborg Neuer User

    Registriert seit:
    3 Juli 2005
    Beiträge:
    124
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    uh da soltest aufpassen den zu 100% sind hinterher dei berechtigungen der einzelden dateien anders
     
  3. leo22

    leo22 Aktives Mitglied

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    901
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ja, da hast du recht. Schon deshalb weil es ja bei Linux mehr verschiedene Berechtigungen gibt als bei Windows. Aber es funktioniert bei mir trotzdem.

    Wenn meine unter Windows erstellte Datei install nur das Archiv-Attribut besitzt, entsteht nach dem Archivieren mit tar folgende install-win im Gegensatz zur Datei insatll-ori aus dem Original-Firmware-Image:

    Code:
    install-win   -rwxrwxrwx 0/0
    install-ori   -rwxrwxr-x 0/0
    
    Als ich diese Datei als Firmware-Update einspielte, konnte ich z. B. bei meiner Box die OEM-Version auf 1und1 und zurück auf avm setzen.
     
  4. SebiXVI

    SebiXVI Neuer User

    Registriert seit:
    24 Apr. 2005
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Man kann einfach busybox-1.00-pre3, die auch auf der FBox eingesetzt wird, für den Hostrechner kompilieren und die Option zur Erzeugung von tar-Archiven aktivieren.

    Der tar-Symlink zur busybox sollte dann vielleicht nicht unter /usr/bin landen - aber hier ging´s ja eh um Windows ;-)

    Sebi
     
  5. Pumbaa80

    Pumbaa80 Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hm.......
    Bei mir funktioniert da was nicht:
    tar.exe --owner=0 --group=0 --mode=+rwx -cf mein.image var/install
    erzeugt das image wie gewünscht.
    Es wird auch auf die Box geladen. ls -l /var/install zeigt:
    -rwxrwxrwx 1 root root 61 Aug 23 23:10 install
    Aber es wird nicht ausgeführt!
    Die Fritz!Box-html-Oberfläche meldet "Nicht näher spezifizierter Fehler" und die DSL-LED erlischt.
    Was mag das sein?
     
  6. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Ich pack meine Images immer mit "tar cf mein.image var/"!?
    Stimmt das mit dem var/install, wird da der Pfad mitgepackt?
    Ansonsten kannst du mal unter /var/tmp schauen, da sollten nach misslungenem Update 2 Errorlogs liegen...

    MfG Oliver
     
  7. DM41

    DM41 Moderator
    Forum-Mitarbeiter

    Registriert seit:
    26 Apr. 2005
    Beiträge:
    7,112
    Zustimmungen:
    19
    Punkte für Erfolge:
    38
    Ort:
    Niederrhein
    Das funktioniert so. Mache ich genau so, nur nicht mit dem cygwin-tar sondern direkt unter Linux.
     
  8. Pumbaa80

    Pumbaa80 Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich werd verrückt, jetzt funktionierts!
    Hab exakt die gleiche Syntax benutzt wie gestern, aber diesmal macht die FB mit! :gruebel:

    Das Image von gestern beginnt so:
    Code:
    00000000h: 76 61 72 2F 69 6E 73 74 61 6C 6C 00 00 00 00 00 ; var/install.....
    00000010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000020h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000060h: 00 00 00 00 30 31 30 30 37 37 37 00 30 30 30 30 ; ....0100777.0000
    00000070h: 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ; 000.0000000.0000
    00000080h: 30 30 30 30 31 32 30 00 31 30 33 30 32 37 31 34 ; 0000120.10302714
    00000090h: 34 30 31 00 30 31 30 31 37 33 00 20 30 00 00 00 ; 401.010173. 0...
    000000a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000100h: 00 75 73 74 61 72 20 20 00 00 00 00 00 00 00 00 ; .ustar  ........
    00000110h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000120h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000130h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    Und das von heute so:
    Code:
    00000000h: 76 61 72 2F 69 6E 73 74 61 6C 6C 00 00 00 00 00 ; var/install.....
    00000010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000020h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000060h: 00 00 00 00 30 31 30 30 37 37 37 00 30 30 30 30 ; ....0100777.0000
    00000070h: 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ; 000.0000000.0000
    00000080h: 30 30 30 30 31 32 30 00 31 30 33 30 32 37 31 34 ; 0000120.10302714
    00000090h: 34 30 31 00 30 31 30 31 31 36 00 20 30 00 00 00 ; 401.010116. 0...
    000000a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000100h: 00 75 73 74 61 72 20 20 00 00 00 00 00 00 00 00 ; .ustar  ........
    00000110h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000120h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000130h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    Der Rest ist identisch, Unterschiede nur in den Bytes 98h und 99h. :noidea:
    Bei haveaniceday sieht der Anfang so aus:
    Code:
    00000000h: 76 61 72 2F 69 6E 73 74 61 6C 6C 00 00 00 00 00 ; var/install.....
    00000010h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000020h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000060h: 00 00 00 00 30 31 30 30 37 35 35 00 30 30 30 31 ; ....0100755.0001
    00000070h: 37 35 31 00 30 31 37 37 37 37 36 00 30 30 30 30 ; 751.0177776.0000
    00000080h: 30 30 30 30 31 36 37 00 31 30 31 37 33 37 35 37 ; 0000167.10173757
    00000090h: 36 31 30 00 30 31 32 37 31 36 00 20 30 00 00 00 ; 610.012716. 0...
    000000a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000100h: 00 75 73 74 61 72 20 20 00 66 72 69 74 7A 00 00 ; .ustar  .fritz..
    00000110h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    00000120h: 00 00 00 00 00 00 00 00 00 6E 6F 67 72 6F 75 70 ; .........nogroup
    00000130h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
    Wie bekommt man das hin? Mit dieser tar-Version wahrscheinlich garnicht...

    Im var/tmp/update_error.log steht: Prüfsummenfehler.
    Das ist seltsam, denn gestern habe ich noch (mit Erfolg) versucht, haveanicedays header einfach in mein Image reinzukopieren. Da hätte die Box doch auch Prüfsummenfehler schreien müssen?
     
  9. DM41

    DM41 Moderator
    Forum-Mitarbeiter

    Registriert seit:
    26 Apr. 2005
    Beiträge:
    7,112
    Zustimmungen:
    19
    Punkte für Erfolge:
    38
    Ort:
    Niederrhein
    haveniceday hatte als owner "fritz" angegeben und keine gruppe. Kann man machen, muss man aber nicht. Ich rufe es unter Linux mit nur mit "owner 0" ohne gruppe auf. Geht auch...
     
  10. Pumbaa80

    Pumbaa80 Mitglied

    Registriert seit:
    17 Mai 2005
    Beiträge:
    374
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Klar, das cygwin-tar meldet aber

    tar: fritz: Invalid owner
    tar: Error is not recoverable: exiting now

    Will also einfach nicht :-(
    Egal, das ist ja eigentlich alles nicht so wichtig...
     
  11. leo22

    leo22 Aktives Mitglied

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    901
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ich schaue mal heute wieder hier rein, da ich aus dem Urlaub zurück bin. Kann auf die Schnelle eure Probleme nicht richtig nachvollziehen. Nur soviel: So wie oben beschrieben funktioniert es bei mir mit dem Image zum Ändern des OEM-Eintrages hervorragend, anderes habe ich nicht getestet.

    Das ungepackte File muss vorher in var/install liegen und die Verzeichnisstruktur wird dann in das tar-File mit übernommen. Und: wenn das install-File mit einem Windows-Editor erstellt wird, muss dieser das Unix-konforme Zeilenende mit nur 0AH statt 0DH 0AH bei DOS beherrschen!
     
  12. MaZderMind

    MaZderMind Neuer User

    Registriert seit:
    30 Juli 2005
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    Also wenn man weder Group noch Owner oder Mode angibt, funkts auch (Cygwin). So hab ich meine WolMod Testimages gepackt.
    Gruß, Peter
     
  13. leo22

    leo22 Aktives Mitglied

    Registriert seit:
    13 Apr. 2005
    Beiträge:
    901
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Bei den Original-AVM-Firmware-Files steht bei Owner und Group jeweils 0 (siehe oben). Ein solches tar-File erzeugt man mit --owner 0 --group 0
     
  14. martian

    martian Mitglied

    Registriert seit:
    26 Mai 2005
    Beiträge:
    273
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hmm, ich will das jetzt auch hinbekommen mit den eigenen Images, doch bekomme ich auch einen "nicht näher spezifizierten Fehler" beim einspielen meines mittels cygwin-tar erzeugten Images. was muss denn in der "install" datei im verzeichnis /var drinstehen? wenn ich einfach den wol-mod verpacken möchte und den inhalt der wol.sh in die "install"-datei einfüge passiert leider nichts... :?
    Code:
    #!/bin/sh
    
    #WakeOnLan installieren
    
    ETHERWAKE=http://www.akk.org/~enrik/fbox/OLD/etherwake
    
    #Herunterladen und installieren von etherwake
    mkdir /var/wol
    wget ${ETHERWAKE} -P /var/wol
    chmod 755 /var/wol/etherwake
    
    
    #Webserver umleiten um eigene Skripte ausführen zu können
    cd /var
    mkdir -p html.new/cgi-bin
    cp -d html/index.html html/html html.new
    for script in html/cgi-bin/*; do
      ln -s ../../html.orig/cgi-bin/$(basename $script) html.new/cgi-bin
      done
    mv html html.orig
    mv html.new html
    
    #HTML Formular für die Eingabe der MAC-Adresse erstellen
    #http://fritz.box/wol.html
    echo '<html>
    <body>
    <form method="GET" action ="/cgi-bin/wol.cgi">         
    Bitte geben Sie die MAC-Adresse des zu weckenden PC´s ein:
    
    
    
    
    
    
    <input size="2" name="MAC1" value="00">
    <input size="2" name="MAC2" value="00">
    <input size="2" name="MAC3" value="00">
    <input size="2" name="MAC4" value="00">
    <input size="2" name="MAC5" value="00">
    <input size="2" name="MAC6" value="00">
    
    
    
    
    
    
    <input type="submit" value="PC aufwecken"> 
    </form>
    </body>
    </html>' > html/wol.html
     
    #CGI-Skript für WOL: http://fritz.box/cgi-bin/wol.cgi
    echo "#!/bin/sh
    echo -e 'Content-type: text/html'
    echo ''
    echo '<html><body>'
    ADRESSE=\`echo \${QUERY_STRING}|sed -e 's/\&/\:/g' -e 's/\=//g' -e 's/MAC.//g'\`
    
    if /var/wol/etherwake \$ADRESSE 2>/dev/null; then
    echo 'Befehl wurde erfolgreich ausgeführt!'
    else
    echo 'Es gab einen Fehler beim ausführen des Befehls!
    
    '
    fi
    echo '
    
    
    '
    echo '<a href=\"/wol.html\">Weitere Anfrage</a>'
    echo '</body></html>'" > html/cgi-bin/wol.cgi
    
    chmod +x html/cgi-bin/wol.cgi
    
     
  15. MaZderMind

    MaZderMind Neuer User

    Registriert seit:
    30 Juli 2005
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi
    Lass dein install mal gant am anfang den telnet-deamon (/usr/sbin/telnetd -l /sbin/ar7login;) ausführen. Nach (erfolglosem) einspielen des Updates kannst du dann immerhin per telnet auf die Box. Dann kannst du dir anschauen was in den logfiles unter /var/tmp/ steht.

    Eine sache die mir mehrfach passiert ist - hast du das installscript auch mit Unix-Zeilenumbrüchen gespeichert? Lade die install mal manuell auf die box (wget oder tftp) und schau sie dir mal mit vi an. Wenn da lauter ^M oder andere Escapesequenzen am Zeilenende kleben dann ist es eindeutig obiger Fehler.

    Gruß, Peter
     
  16. ZicZac

    ZicZac Neuer User

    Registriert seit:
    10 Apr. 2005
    Beiträge:
    76
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Moin,

    zum Thema "richtiges tar" hätte ich noch etwas:

    Ich selbst verwende GNU-tar 1.15 (Linux). Grundsätzlich kann zumindest unter GNU-Linux,Unix... jede neue tar-Version auch die alten Formate lesen und schreiben! Die Fritz!Box hat's gern im Format GNU tar <= 1.12 (oldgnu).

    [highlight=yellow:92c70b7820]tar --format=oldgnu -cf bla.tar bla/*[/highlight:92c70b7820]

    Ich hatte es auch mit --format=gnu (GNU tar 1.13.x) probiert. Wollte meine Box allerdigs nicht haben.

    bis denne....
     
  17. j-g-s

    j-g-s Mitglied

    Registriert seit:
    22 Sep. 2005
    Beiträge:
    503
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  18. tdneraynotna

    tdneraynotna Neuer User

    Registriert seit:
    15 Juli 2006
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    tar archiv für fritzbox upload

    Grüß' Euch,

    ich hoffe es hilft jemandem weiter:

    Ich habe eine Fritz!Fon WLAN Box 7050 mit Firmware 04.15 dazu einen Rechner mit Fedora FC5. Angeregt durch http://www.tecchannel.de/server/linux/432803/ habe ich versucht einen FTP-Server zu installieren. Jedesmal wenn ich eine vorgefertigte Image Datei verwendete klappte es mit dem Update, bei meinen eigenen nicht.

    Letztendlich habe ich mir aus verschiedenen Beiträgen hier zusammengereimt, daß ein besonderes, altes tar Format nötig ist, aber auch Gruppe und Eigentümer eine Rolle spielen. Mein GNU tar ist 1.15.90 und über das GUI ( File Roller 2.14.3 ) kann man ( oder ich zumindest ) die Erstellung nur unwesentlich beeinflussen.

    Letzlich funktioniert hat das CLI:

    tar --format=oldgnu --group=0 --owner=0 -cvf archivneu.tar verzeichnis/*

    ebenfalls OK

    tar --format=oldgnu --group=0 --owner=0 -cvf archivneu.tar ./verzeichnis/*

    damit ( ./ )wird ein Leerverzeichnis als Basis erstellt ( die AVM images sehen so aus )

    Vielleicht läßt sich ein Howto an etwas prominenterer Stelle dazu einrichten, das hat wiedermal richtig Zeit gekostet.

    Gruß,

    tdneraynotna
     
  19. SFuerst

    SFuerst Neuer User

    Registriert seit:
    13 Jan. 2008
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    leider scheint's mit dem taren der pseudo images unter windows nicht so einfach zu sein.
    Beim mit (Fritz!Box SL WLAN 09.04.34) hat es geklappt mit tar_fur_windows.zip, danke leo22 und folgender command line:

    tar.exe --posix --group=0 --owner=0 -cvf pseudo.image ./var/*

    Ciao