Endlos-Reboot Images mit OpenSuSe 11.3 (mksquashfs Fehler)

Kann es sein, dass diese Ausgaben auf stderr gemacht werden und Du diesen in die Datei gar nicht umgeleitet hast?
...
Anschließend make.log hier anhängen

Kann schon sein...

Edit:
die hier ist wohl interessanter...
 

Anhänge

  • make.log.txt
    16 KB · Aufrufe: 10
  • make_09012100.log.txt
    30.5 KB · Aufrufe: 3
Zuletzt bearbeitet:
Alles zurück, der Patch von mir ist nutzlos, da wir sowohl unsquashfs als auch mksquashfs mit -no-progess aufrufen und die Exception auch nicht von mksquashfs sondern von unsquashfs geworfen wird.

Kannst Du bitte die Ausgabe von
Code:
ldd tools/unsquashfs3-lzma tools/mksquashfs3-lzma
beider Systeme posten. Außerdem wäre der Vergleich von dem build/original Verzeichnis auf den beiden interessant...
 
@schmatke
Wo ist denn jetzt der Fehler ich kann ihn im Log nicht sehen und auch nicht nachvollziehen?

MfG Oliver

edit:
OpenSuse 11.3, aber das unsquashfs3 scheint zu funktionieren.
Code:
freetz-trunk> ldd tools/unsquashfs3-lzma tools/mksquashfs3-lzma
tools/unsquashfs3-lzma:
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb76eb000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb75fb000)
        libm.so.6 => /lib/libm.so.6 (0xb75d1000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75b3000)
        libc.so.6 => /lib/libc.so.6 (0xb7447000)
        /lib/ld-linux.so.2 (0xb771b000)
tools/mksquashfs3-lzma:
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb77ed000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76fd000)
        libm.so.6 => /lib/libm.so.6 (0xb76d3000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb76b5000)
        libc.so.6 => /lib/libc.so.6 (0xb7549000)
        /lib/ld-linux.so.2 (0xb781d000)
~/freetz-trunk>
 
Zuletzt bearbeitet:
Ausnahmsweise Doppelpost

Suse:
Code:
Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments, duplicates are removed
Filesystem size 6656.16 Kbytes (6.50 Mbytes)
        28.37% of uncompressed filesystem size (23463.72 Kbytes)
Inode table size 12421 bytes (12.13 Kbytes)
        14.25% of uncompressed inode table size (87146 bytes)
Directory table size 23137 bytes (22.59 Kbytes)
        47.60% of uncompressed directory table size (48610 bytes)
Number of duplicate files found 187
Number of inodes 2766
Number of files 1842
Number of fragments 138
Number of symbolic links  445
Number of device nodes 332
Number of fifo nodes 1
Number of socket nodes 0
Number of directories 146
Number of uids 1
        root (0)
Number of gids 0

Ubuntu:
Code:
Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments, duplicates are removed
Filesystem size 6665.57 Kbytes (6.51 Mbytes)
        28.41% of uncompressed filesystem size (23463.72 Kbytes)
Inode table size 21967 bytes (21.45 Kbytes)
        25.21% of uncompressed inode table size (87146 bytes)
Directory table size 23227 bytes (22.68 Kbytes)
        47.78% of uncompressed directory table size (48610 bytes)
Number of duplicate files found 187
Number of inodes 2766
Number of files 1842
Number of fragments 138
Number of symbolic links  445
Number of device nodes 332
Number of fifo nodes 1
Number of socket nodes 0
Number of directories 146
Number of uids 1
        root (0)
Number of gids 0
Sieht für mich nicht so aus als wäre da beim Auspacken was nicht in Ordnung. Wobei ich auf der Kiste von schmatke noch keinen Gleitkomma-Fehler hinbekommen habe...
Auffällig ist der unterschiedliche inode table size.

MfG Oliver
 
Zuletzt bearbeitet:
Sieht für mich nicht so aus als wäre da beim Auspacken was nicht in Ordnung
wieso Konjunktiv? vergleich doch einfach alle Dateien/Links, etwa so
Code:
(find build/original -type f -exec md5sum -b \{\} \+ | sort -k 2; find build/original -type l | sort) > original-suse.lst
das gleiche > original-ubuntu.lst
diff -u original-ubuntu.lst original-suse.lst
 
diff zeigt keine Unterschiede.

MfG Oliver
 
Ist das die Ausgabe von unsquashfs3-lzma mit der gleichen Firmware-Datei? Mit welcher Datei genau?
Nein. Das ist die Ausgabe in filesystem.log vom Einpacken. Auspacken kann ich das Image nicht mehr.

MfG Oliver
 
Tun die so oder brauchst du die statisch gelinkt?

MfG Oliver
 

Anhänge

  • mksquashfs3.tar.bz2
    170.7 KB · Aufrufe: 3
Hi,

ich hab mit meinem SuSEStudio-image (http://susegallery.com/a/7zsGDy/opensuse-freetz) die gleichen probleme.

Anhaenge:
make.log (stdout&err)
make.err (nur stderr)
orig-mod.diff (diff -rl build/modified build/original)
mksquashfs3-lzma

Gruss
Chris
 

Anhänge

  • debug.tgz
    161.7 KB · Aufrufe: 8
Meine neueste Erkenntnis:

openSUSE 11.4 Milestone 1 of 6 (x86_64)

Nachdem ich das
Code:
tools/unsquashfs3-lzma build/modified/kernel/kernelsquashfs.raw
2461 inodes (2653 blocks) to write


dir_scan: failed to open directory squashfs-root, because File exists
[|                                                             ]    0/2653   0%
created 0 files
created 0 directories
created 0 symlinks
created 0 devices
created 0 fifos
gesehen habe, bin ich mutig geworden und habe das Image auf meine 7170 gebügelt. Das läuft!
 
Also irgend etwas läuft bei der Suse-Version gründlich daneben. Sogar die komplett unkomprimierte Version kann man nicht mehr auspacken bzw. ansehen.

PS:
Es scheint ein Compiler-Fehler zu sein. Wenn das Programm ohne Optimierung erstellt wird, funktioniert es.
 
Zuletzt bearbeitet:
Hat schon jemand mit einer anderen Linux-Distribution, die gcc 4.5 hat und mit einem AMD-Prozessor, ein brauchbares Freetz-Image compiliert?
 
Hängt es wirklich mit AMD-Prozessoren zusammen? Das Programm, das Oliver in #30 angehängt hat, funktioniert auf jeden Fall nicht, und Oliver hat, soweit ist weiß, einen Intel-Prozessor.

Oder wurde das Programm auf einem AMD-Rechner erstellt? Wenn ja, unterscheiden sich vielleicht die Optionen, die der Compiler intern verwendet ("gcc -v ...")?
 
OK, verstanden. Dann ändere ich meine Frage. Hat schon jemand mit einer anderen Linux-Distribution (nicht OpenSUSE >/=11.3) die gcc 4.5 hat, ein brauchbares Freetz-Image compiliert?
 
Zuletzt bearbeitet:
Hat schon jemand mit einer anderen Linux-Distribution (nicht OpenSUSE 11.3) die gcc 4.5 hat, ein brauchbares Freetz-Image compiliert?

Naja, die 11.4 halt.
Code:
gcc version 4.5.0 20100722 [gcc-4_5-branch revision 162408] (SUSE Linux)
Ich werd mal Ubuntu 10.10 probieren. Die haben zwar den 4.4er standardmäßig drin, aber bieten auch den 4.5er an.
Ich melde mich...
 
Ich wollte nicht ausschließen, daß es doch mit AMD-Prozessoren zu tun hat, zumal es denkbar wäre, daß die Optimierung je nach Prozessor des Host-Systems unterschiedlich ist.

Interessant wäre auch, ob schon jemand mit OpenSUSE 11.3 und dem gcc 4.5.0 ein funktionierendes Programm erstellen konnte.
Wie schon erwähnt, ist eine Möglichkeit, die Optimierung auszuschalten. Aber für so ein CPU-intensives Programm ist das nicht wünschenswert.
Die Programme aus Olivers Beitrag sind beides 32-Bit Programme, also liegt es nicht am 64-Bit Teil.

Konkret wird in der Funktion create_inode in squashfs-tools/mksquashfs.c in Zeile 1106 und 1109 file_size bzw. offset korrekt gesetzt. Danach werden aber in Zeile 1110 oder 1111 diese Werte mit 0 überschrieben. Im Zuge der Optimierung schaufelt der Compiler aber wild einzelne Anweisungen in der Gegend herum, so daß nicht klar ist, wie er dazu kommt. Speziell die Zeile 1110 enthält nur eine einzige Abfrage, wird aber in den generierten Debug-Informationen vielen Anweisungen zugeordnet.
 
Die anghängten mksquashfs Versionen sind von schmatkes Kiste. Nachdem ich mir extra OpenSuse installiert habe kann ich damit natürlich auch mal ein Image bauen und flashen. Ich habe das noch nicht probiert, da wir ja eigentlich auf der Suche nach der Floating Point Exception waren. Aber die hab ich noch nicht zu Gesicht bekommen. Sowohl bei mir als auch bei schmatke.

MfG Oliver

edit: Im Changelog werden 2x Probleme mit memcpy erwähnt. Könnte das auch was mit unserem Problem zu tun zu haben?
http://squashfs.cvs.sourceforge.net/viewvc/squashfs/squashfs/squashfs-tools/mksquashfs.c?view=log
 
Zuletzt bearbeitet:
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.