Lost in Translation

  • Quote

    Original von gutemine
    Und nein eine Windows Variante kann man da nicht so einfach draus machen.


    ist auch nicht nötig, gibts dafür New Tuxbox Flash Tools, http://www.dbox2.info/download.php?catid=5&subcat=6
    ist ein jffs2 Betrachter, die Dateien oder ganzes Image kann man einfach per drag und drop extrahieren, nand flash images (.nfi) sind in der Tat jffs2 Images, es gibt ein kleines Problem, dream .nfi´s sind nochmal intern gepackt, bin nicht dahinter gekommen wie, aber vuplus .nfi Images kann man sich mit dem Tool anschauen, das USB Image kann man sich gleich anschauen (eventuell in .img umbenennen), dauert eine Weile, etwas Geduld, bei der Flash Varianite muss ein kleiner Header bis zu der ersten Bytefolge 85 19 01 abgeschnitten werden, dann sollte es gehen


    mrvica

  • Klasse Tool! Sowas hab ich schon die ganze Zeit gesucht bzw. vermisst. Wenn man mal nur 1 Datei oder so von ner NFI Sicherung benötigt, musste man immer gleich flashen. Habs mal auf meine 8K installiert und meine letzte GP3 Sicherung entpackt:

    Sieht irgendwie noch nicht so gut aus. Das GP3 Image sollte größer als 5MB sein :rolleyes:


    Hoffe mal, ich hab mir nix im echten / überschrieben :tongue:

  • das sieht aber eher nach einem Memory problem aus. leg mal ein swapfile an und/oder stoppe enigma2 mit init 4


    Als Gegentest probier mal das nfidump binary 0.2.1 aus dem RAR vom LowFAT, das funktioniert auf jeden fall. Das ipk ist ja nur zum testen ob auch die aus dem OE erstellte Variante funktioniert.


    Und bitte nicht vergessen es ist für aktuelle OE 1.6 images, schon wegen der libs die es shared lädt um möglichst klein zu sein.


    Und nfi images sind NICHT nochmals intern gepackt (ausser das squashfs der 7025), sondern haben im Unterschied zu den VU+ images auch die checksum bytes dabei die man nur wegwerfen muss. Allerdings werden auch die einzelnen Flashbereiche immer schön mit header und größe hintereinander schreiben und das muss man alles 'nur' richtig handhaben beim lesen - dafür gab es bis jetzt nur ein python shellscript das ich eben in C nach geprogged habe.


    Und VU+ images kann das nfidump natürlich auch auspacken, auch wenn das ein 'inoffizielles' Feature ist :-)


    Das squashfs der 7025 wird automatisch mitausgepackt und mit dem delta gemerged. Will man es behalten gibt es aber den --squashfskeep qualifier im nfidump. Gebt mal ./nfidump ohne parameter ein dann zeigt er einem was es sonst noch für Flags gibt.


    Und man muss auch aufpassen im directory OBERHALB des imagedirectories genug Platz zu haben weil die temporären root.jffs2 und boot.jffs2 dort abgelegt werden bevor sie wenn das imagedirectory gefüllt ist gelöscht werden.


    LG
    gutemine

    Edited 10 times, last by gutemine ().

  • Quote

    ./nfidump imagename.nfi targetdirectoryname


    I'm trying to unpack pcd's e2 image for ppc boxes but I don't know what to put as imagename.nfi?


    I installed ppc plugin and the installation was successful.


    I then typed cd /usr/bin and ran the command:


    ./nfidump imagename.nfi /hdd


    but I get

    Code
    imagename.nfi: No such file or directory


    My pc hard disk is mounted on /hdd.

  • well, you have to put an nfi image somewhere off course :-)


    FTP an powerpc nfi image for example to /media/hdd (with the name gemini47.nfi for example)


    Then install the ipk and then you can unpack the gemini image to the hardddisk:


    cd /media/hdd
    ./nfidump gemini47.nfi gemini47


    Then after nfidump is finished you should find the image unpacked below the /media/hdd/gemini47 directory which is created during extraction. If it fails please post the output the nfidump command gives during extraction.


    Have fun testing nfidump!


    gutemine

    Edited once, last by gutemine ().

  • ...wie sieht es denn mit einem 32bit binary (linux) aus?

  • Thank you for the clarification gutemine.


    I managed to run the command successfully and it seems to work.


    This is the output:


    root@dm500plus:/usr/bin# ./nfidump /hdd/backup-image-dm500plus-20110127_134951.nfi /hdd/pcdimage


    >>>>>> nfidump 0.2.2 by gutemine <<<<<<


    based on code from tmbinc, noggie and others


    extracting dm500plus nfi image ...
    extracting boot.jffs2 from nfi ...
    extracting boot from boot.jffs2 ...
    /hdd/pcdimage/boot: File exists
    extracting root.jffs2 from nfi ...
    extracting root from root.jffs2 ...
    /hdd/pcdimage: File exists
    /hdd/pcdimage/boot: File exists
    nfi extract finished!


    root@dm500plus:/usr/bin#



    In the folder pcdimage I found the entire image upacked as if it were in my dreambox.


    Great stuff!


    I often shuffle between different images and sometimes I forget to save for example channel list and then I have to flash the old image again.


    With this plugin it is no longer necessary.


    Many thanks!


    P.S. Is it normal for the unpacked image to be nearly twice as big as the unpacked nfi image?
    nfi-28MB, unpacked-51MB.

  • Thanks Gutemine, 32-Bit version please.
    On dm500hd is working good.


    Edit: Thanks again to you and Adenin, 32-Bit is working as well.

  • 32 Bit Intel/AMD CPUs werden doch gar nicht mehr hergestellt :-)


    Aber ich werde schauen was ich für Euch tun kann ...

  • Quote

    Originally posted by gutemine
    das sieht aber eher nach einem Memory problem aus. leg mal ein swapfile an und/oder stoppe enigma2 mit init 4


    Als Gegentest probier mal das nfidump binary 0.2.1 aus dem RAR vom LowFAT, das funktioniert auf jeden fall. Das ipk ist ja nur zum testen ob auch die aus dem OE erstellte Variante funktioniert.


    Und bitte nicht vergessen es ist für aktuelle OE 1.6 images, schon wegen der libs die es shared lädt um möglichst klein zu sein.


    Hab versucht, Deine genannten Punkte abzuarbeiten, aber bisher noch ohne Erfolg :rolleyes:


    Klar, ist ein OE1.6 iCVS Image hier aus der Database (iCVS-Image-dm8000-20101223200625.nfi)


    Ich habe 128MB Swap angelegt und enigma2 beendet und erhalte den gleichen Output wie oben:

    Mit der Version aus LowFAT erhalte ich eine ähnliche Fehlermeldung :rolleyes:

    Code
    [...]
    /media/usb/test//boot: File exists
    *** glibc detected *** bin/nfidump: free(): invalid next size (normal): 0x00829a08 ***
    Aborted
  • Probier mal einen kürzeren Imagenamen und kürzeren directory namen (oder dich vorher ins directory zu stellen wo das backup liegt damit es nicht so lange ist), ich glaube ich habe den gesamtpfadnamen auf 255 character begrenzt. Bitte berichten, weil wenn das hilft muss ich den noch weiter raufdrehen.


    Ihr immer mit euren langen backupnamen - aber dafür sollt Ihr ja testen :-)


    PS: adenin war auch so nett noch eine 32Bit Linux Variante für den Linux PC zu backen damit Ihr dort auch testen könnt.


    LG
    gutemine

    Edited 4 times, last by gutemine ().

  • Habs nun mit iCVS.nfi probiert (der andere Name wurde vom gp3flashbackup erzeugt) und erhalte mit der static und shared version von nfidump weiterhin den gleichen Fehler. Swap hab ich nachwievor aktiv, allerdings läuft nun enigma2 wieder. Es ist Primetime und die Box muss ihren Dienst tun (WAF und so) :tongue:


    Kanns bei Gelegenheit dann auch noch mit gestopptem E2 testen....


    EDIT: Auch mit gestopptem E2 und SWAP klappts mit dem static Binary nicht ;(

  • Wenn das stoppen & swapfile nichts geholfen hat musst du es auch nicht nochmals damit testen.


    Probier noch dich ins auspackdirectory stellen damit das kürzer wird.


    Das busybox tar kann auch nur maximal 255 lange pfadnamen deswegen dachte ich es macht sinn es im code auch zu begrenzen, aber ich dreh es einfach mal auf 512 und mache eine neue mipsel version, vieleicht hilft das. Und wenn dann hätte ich die länge abfragen müssen und warnung ausgeben, insofern ist der input auf jeden fall hilfreich.


    LG
    gutemine

    Edited 3 times, last by gutemine ().

  • ;(

  • ins current working directory . darfst du es NIEMALS auspacken - dann löscht du dich selbst - das ist fast so eine gute idee wie / zu nehmen :-)


    Aber meine Anweisung war missverständlich = selber schuld...


    ./nfidump iCVS.nfi iCVS das geht bei mir 100%ig


    ./nfidump iCVS.nfi iCVS


    >>>>>> nfidump 0.2.2 by gutemine <<<<<<


    based on code from tmbinc, noggie and others


    extracting dm8000 nfi image ...
    extracting boot.jffs2 from nfi ...
    extracting boot from boot.jffs2 ...
    iCVS/boot: File exists
    extracting root.jffs2 from nfi ...
    extracting root from root.jffs2 ...
    iCVS: File exists
    iCVS/boot: File exists
    nfi extract finished!

    Edited 5 times, last by gutemine ().

  • Coole Sache habs mal auf ner Linux Maschinchen versucht.
    Das hat geklappt mit dem i386 binary (mit ia32libs).




    Mit dem 64bit Ding muss ich noch mal später schauen,
    da fehlt noch was :D


    nfidump_64: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by nfidump_64)


    Muss da mal was älteres (oder so) finden, meines ist viel zu aktuell (v4.3).

  • normal reicht dann aber die library auf den alten Namen zu verlinken.


    später soll sich eh jeder selber das binary backen können, aber solange wir noch blöde Fehler drinnen haben (die hoffentlich leicht zu fixen sind wie die Pfadlängen) macht das wenig Sinn.


    LG
    gutemine

    Edited once, last by gutemine ().