[Frage] LCR mit Firmware 6.50

Hallo PeterPawn,
weg2_108.txt: ist Logfile von Orginal-AVM Image: FRITZ.Box_Fon_WLAN_7360.124.06.50.image

Code:
freetz@freetz-linux:~/freetz-devel$ tar tvpf FRITZ.Box_Fon_WLAN_7360.124.06.50.image
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/
-r--r----- 0/0           35208 2015-09-15 16:01 ./var/flash_update_2.6.28.ko
-r-xr-x--- 0/0          283844 2015-10-20 16:19 ./var/regelex
-rwxr-x--- 0/0           39356 2016-02-25 10:46 ./var/install
-r--r----- 0/0           55992 2016-01-26 15:10 ./var/flash_update_3.10.ko
-rwxr-x--- 0/0            2795 2016-02-25 10:46 ./var/info.txt
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/tmp/
-rw-r----- 0/0               0 2016-02-25 10:46 ./var/tmp/filesystem.image
[COLOR=#0000ff]-rwxr-x--- 0/0        18597016 2016-02-25 10:46 ./var/tmp/kernel.image[/COLOR]
-r-xr-x--- 0/0          278552 2015-10-20 16:19 ./var/chksum
-rw-r----- 0/0             128 2016-02-25 10:46 ./var/signature
freetz@freetz-linux:~/freetz-devel$


weg3_110.txt: ist Logfile von gefreetztem 06.50 Image,
gemäß Logfile hat Elsterkrug das Freetz-Image vom 22.05.2016 14:58 Uhr verwendet
Code:
Auszug aus weg3_110.txt:
drwxr-xr-x root/root         0 2016-05-22 14:58:29 ./
drwxr-x--- root/root         0 2016-05-22 14:58:29 ./var/
-rwxr-x--- root/root      2795 2016-05-22 14:58:29 ./var/info.txt
-rw-r----- root/root       128 2016-05-22 14:58:29 ./var/signature
-r-xr-x--- root/root    283844 2016-05-22 14:58:29 ./var/regelex
-rwxr-x--- root/root     39356 2016-05-22 14:58:29 ./var/install
-r--r----- root/root     55992 2016-05-22 14:58:29 ./var/flash_update_3.10.ko
-r-xr-x--- root/root    278552 2016-05-22 14:58:29 ./var/chksum
-r--r----- root/root     35208 2016-05-22 14:58:29 ./var/flash_update_2.6.28.ko
drwxr-x--- root/root         0 2016-05-22 14:58:55 ./var/tmp/
[COLOR=#dda0dd]-rw-r--r-- root/root  18590984 2016-05-22 14:58:55 ./var/tmp/kernel.image[/COLOR]
-rw-r--r-- root/root         0 2016-05-22 14:58:55 ./var/tmp/filesystem.image
drwxr-xr-x root/root         0 2016-05-22 22:04:34 ./

LG Riverhopper

EDIT: Details zur verwendeten Images nachgepflegt
 
Zuletzt bearbeitet:
Dann ist die "krumme" Größe die des AVM-Images und der Blick in den hexadezimalen Inhalt zeigt:
Code:
00263ce0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ; ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00263cf0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ; ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
[COLOR="#FF0000"]00263d00h[/COLOR]: [COLOR="#FFA500"]73 71 73 68[/COLOR] 00 00 0A 63 00 F5 87 90 00 01 00 00 ; sqsh...c.õ‡....
00263d10h: 00 00 01 08 00 04 00 10 02 C0 00 01 [COLOR="#0000FF"]00 04 00 00[/COLOR] ; .........À......
00263d20h: 00 00 00 00 58 5A 06 F2 [COLOR="#008000"]00 00 00 00 00 F5 87 90[/COLOR] ; ....XZ.ò.....õ‡
00263d30h: 00 00 00 00 00 F5 87 88 FF FF FF FF FF FF FF FF ; .....õ‡ˆÿÿÿÿÿÿÿÿ
00263d40h: 00 00 00 00 00 F4 A6 DE 00 00 00 00 00 F5 01 9A ; .....ô¦Þ.....õ.š
00263d50h: 00 00 00 00 00 F5 72 C8 00 00 00 00 00 F5 87 6A ; .....õrÈ.....õ‡j
00263d60h: FD 37 7A 58 5A 00 00 01 69 22 DE 36 03 C0 91 A3 ; ý7zXZ...i"Þ6.À‘£
, daß hier der Offset paßt und auch die im SquashFS-Superblock vermerkte Gesamtgröße von 0xF58790 (16091024) Byte paßt zur Größe der gesamten "kernel.image" (0xF58790 + 0x263D00 = 0x11BC490 = 18597008 + 8 Byte Prüfsumme ergibt dann die Dateigröße von 18597016 Byte).

Das "magic" für die TI-Prüfsumme (0x23de53c4) taucht auch nur einmal in diesem Image auf (eben am Ende) - das kann also das LKM auch nicht verwirren ... wobei das Flashen des AVM-Images ja ohnehin funktioniert, insofern sind das alle nur "Kontrollen", die ich an dem von "fwmod" erstellten Image auch noch einmal auszuführen empfehle.
 
Hallo Elsterkrug, Hallo PeterPawn,
@PeterPawn: VIELEN DANK für deine Unterstützung!!!

@Elsterkrug: bitte Freetz-Update auf Trunk version 13748 durchführen, siehe #77
anschließend neues Freetz-Image erstellen, siehe #42 siehe Schritt 3.), 4.)
dann die Analysen gemäß PeterPawn durchführen;
hierzu Bitte folgende Befehle eingeben:
Code:
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]ls -la unpacked_firmware/7360_v2*.image[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]ls -la unpacked_firmware/original/kernel/ unpacked_firmware/modified/kernel test_unpack_2/original/kernel/[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]ls -la unpacked_firmware/original/firmware/var/tmp/ unpacked_firmware/modified/firmware/var/tmp/  test_unpack_2/original/firmware/var/tmp/[/COLOR]
SNIP

Code:
# Kontrolle AVM Image:
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]mkdir FB7360v2_0650_untar[/COLOR]
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]cd FB7360v2_0650_untar[/COLOR]
freetz@freetz-linux:~/freetz-trunk/FB7360v2_0650_untar$ [COLOR=#0000ff]tar tvpf ../FRITZ.Box_Fon_WLAN_7360.124.06.50.image[/COLOR]
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/
-r--r----- 0/0           35208 2015-09-15 16:01 ./var/flash_update_2.6.28.ko
-r-xr-x--- 0/0          283844 2015-10-20 16:19 ./var/regelex
-rwxr-x--- 0/0           39356 2016-02-25 10:46 ./var/install
-r--r----- 0/0           55992 2016-01-26 15:10 ./var/flash_update_3.10.ko
-rwxr-x--- 0/0            2795 2016-02-25 10:46 ./var/info.txt
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/tmp/
-rw-r----- 0/0               0 2016-02-25 10:46 ./var/tmp/filesystem.image
-rwxr-x--- 0/0        18597016 2016-02-25 10:46 ./var/tmp/kernel.image
-r-xr-x--- 0/0          278552 2015-10-20 16:19 ./var/chksum
-rw-r----- 0/0             128 2016-02-25 10:46 ./var/signature
freetz@freetz-linux:~/freetz-trunk/FB7360v2_0650_untar$ [COLOR=#0000ff]tar xvpf ../FRITZ.Box_Fon_WLAN_7360.124.06.50.image[/COLOR]
./var/
./var/flash_update_2.6.28.ko
./var/regelex
./var/install
./var/flash_update_3.10.ko
./var/info.txt
./var/tmp/
./var/tmp/filesystem.image
./var/tmp/kernel.image
./var/chksum
./var/signature

# Schnittstelle prüfen:
freetz@freetz-linux:~/freetz-trunk/FB7360v2_0650_untar$ [COLOR=#0000ff]hexdump -C ./var/tmp/kernel.image[/COLOR][COLOR=#0000ff] | grep -B 10 -A 20 sqsh[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk/FB7360v2_0650_untar$

# Magic prüfen
freetz@freetz-linux:~/freetz-trunk/FB7360v2_0650_untar$ [COLOR=#0000ff]hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 "23 de 53 c4"[/COLOR]
011bc3f0  7d 78 41 7b 2a a4 26 55  da d2 b4 ba e1 7e cb 74  |}xA{*.&U.....~.t|
011bc400  41 f4 17 4a 51 2b 34 09  e6 7c 58 cb 1a 8a 56 99  |A..JQ+4..|X...V.|
011bc410  2a fe 78 87 8a 43 ab e9  29 a4 62 39 c9 be 0c 07  |*.x..C..).b9....|
011bc420  aa 1d f1 9d 3d e6 94 d0  b1 ba 23 1e 90 24 84 f8  |....=.....#..$..|
011bc430  fd fd c5 93 ac 6e e3 78  54 5e 7a 17 61 16 3a 15  |.....n.xT^z.a.:.|
011bc440  20 48 5f 65 d6 be 96 f2  ae 69 7c 00 00 00 02 83  | H_e.....i|.....|
011bc450  28 62 00 01 aa 09 98 26  00 00 3d 77 f6 32 3e 30  |(b.....&..=w.2>0|
011bc460  0d 8b 02 00 00 00 00 01  59 5a 00 00 00 00 00 f5  |........YZ......|
011bc470  72 d0 00 00 00 00 00 f5  7b 4a 00 00 00 00 00 f5  |r.......{J......|
011bc480  82 98 04 80 00 00 00 00  00 00 00 00 00 f5 87 82  |................|
011bc490  23 de 53 c4 d5 2d 0d f6                           |#.S..-..|
011bc498
freetz@freetz-linux:~/freetz-trunk/FB7360v2_0650_untar$

Code:
# Kontrolle Freetz Image:
freetz@freetz-linux:~/freetz-trunk$ ls -la unpacked_firmware/7360_v2*.image
SNIP
freetz@freetz-linux:~/freetz-trunk$ mkdir Freetz_FB7360v2_0650_untar
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]cd Freetz_FB7360v2_0650_untar[/COLOR]
freetz@freetz-linux:~/freetz-trunk/Freetz_FB7360v2_0650_untar$ [COLOR=#0000ff]tar tvpf ../unpacked_firmware/7360_v2*.image[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk/Freetz_FB7360v2_0650_untar$ [COLOR=#0000ff]tar xvpf ../unpacked_firmware/7360_v2*.image[/COLOR]
./var/
./var/flash_update_2.6.28.ko
./var/regelex
./var/install
./var/flash_update_3.10.ko
./var/info.txt
./var/tmp/
./var/tmp/filesystem.image
./var/tmp/kernel.image
./var/chksum
./var/signature

# Schnittstelle prüfen:
freetz@freetz-linux:~/freetz-trunk/Freetz_FB7360v2_0650_untar$[COLOR=#0000ff] hexdump -C ./var/tmp/kernel.image[/COLOR][COLOR=#0000ff] | grep -B 10 -A 20 sqsh[/COLOR]
SNIP

# Magic prüfen:
freetz@freetz-linux:~/freetz-trunk/Freetz_FB7360v2_0650_untar$ [COLOR=#0000ff]hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 "23 de 53 c4"[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk/Freetz_FB7360v2_0650_untar$[COLOR=#0000ff] 
[/COLOR]


und dann geht's mit "Weg3", basierend auf #108 weiter,
hier ist statt der Orig AVM Image-Datei "/var/media/ftp/ASMT-2115-01/FRITZ.Box_Fon_WLAN_7360.124.06.50.image"
das neu generierte Freetz-Image "/var/media/ftp/ASMT-2115-01/7360_v2_*.image" zu verwenden.

Bitte sämtliche Logfiles sowie .config als Attachment diesem Thread anhängen.

LG Riverhopper

EDIT: hexdump-Befehl gemäß Hinweis #124 von PeterPawn angepasst
 
Zuletzt bearbeitet:
Nope, die Kommandos zum Hexdump passen nicht ... das "-n 2048" beschränkt den kompletten Hexdump auf die ersten 2 KB und hier ist weniger das getrennte Kernel-File und/oder das gesonderte SquashFS-Image von Interesse. Es geht um die "Schnittstelle" zwischen den beiden und die resultierende "kernel.image" entsteht ja aus der Kombination des Kernels und dieses SquashFS-Images, daher ist bei den NOR-Modellen auch die "filesystem.image" leer. Für die Anzeige bräuchte es also so etwas wie
Code:
hexdump -C [I]imagedatei[/I] | grep -B 10 -A 20 sqsh
, wenn man diese Schnittstelle sehen will und ein entsprechend passender Suchstring (23 de 53 c4 - Groß-/Kleinschreibung richtet sich nach der Ausgabe des "hexdump"-Kommandos), wenn man nach mehrfach auftretendem "magic" für eine TI-Prüfsumme suchen will. Wobei man "line spanning" - also das Verteilen der Bytes über mehr als eine Zeile - m.E. außer acht lassen kann, denn das wird (wahrscheinlich) auch beim Suchen an Wortgrenzen (hier meine ich die 32 Bit eines "Wortes" bei 32-Bit-Software) ausgerichtet sein.

PS: Das imagedatei oben in der Kommandozeile meint natürlich nur die "kernel.image" aus dem erzeugten TAR-Image, nicht das TAR-File selbst.
 
Hallo PeterPawn,
Danke für die Inputs bzgl. hexdump;
ich habe die Befehlssequenzen in #123 angepasst.

LG Riverhopper

- - - Aktualisiert - - -

Hallo zusammen,
anbei StatusQuo im Überblick:

AnleitungDurch-führung
Freetz-Update#77
Firmware-Anpassung per fwmod (Telnetd-Reaktivierung, debug.cfg-Reaktivierung)#42 siehe Schritt 3.), 4.)
Weg1 (Installation des gefreezten Image (Stand: 22.05.2016) per Web-IF und Tracingdaten per Telnet sammeln)

Ergebnis:
Flashing ("insmod flash_update.ko") funktioniert nicht; Befehl macht nicht's;
FB7360v2 bootet nach Watchdog-Timeout wieder mit FW 06.30
#75#86

Details siehe
Logfile:
weg1_86.txt
Weg2 (Installation eines orig AVM Image per CLI-Befehle "/bin/prepare_fwupgrade start; /bin/install; ..."

Ergebnis:
Flashing ("insmod flash_update.ko") läuft sauber durch
alles OK; FB7360v2 bootet mit FW 06.50
#108#111

Details siehe
Logfile:
weg2_108.txt
Weg3 (Installation des gefreezten Image (Stand: 22.05.2016) per CLI-Befehle "/bin/prepare_fwupgrade start; /bin/install; ..."

Ergebnis:
Flashing ("insmod flash_update.ko") funktioniert nicht; Befehl macht nicht's;
Box bleibt "hängen"; nach Power-Off/-On bootet die FB7360v2 wieder mit FW 06.30
#112#113

Details siehe
Logfile:
weg3_110.txt
erforderliche Inputs bei Freetz-Problemen:#39


Next Steps:
Umsetzung der Empfehlungen von PeterPawn: Analyse des Images (Schnittstelle Kernel, Filesystem sowie Magic/TI-Checksum)
sowie Freetz-Image mit aktuellem Trunk mit "remove-junk-bytes" Patches durchführen.
@Elsterkrug: Bitte Aktionsplan siehe #123 umsetzen und Ergebnisse posten.

LG Riverhopper

- - - Aktualisiert - - -

Hallo PeterPawn:
ich habe mal die Zahlenarithmetik aus #122 nachvollzogen:

Analyse-Daten zu Orig AVM-Image:
Code:
freetz@freetz-linux:~/freetz-devel$ ls -la FB7360v2_0650/original/kernel/
-rw-r--r-- 1 freetz freetz  [COLOR=#0000ff]2505984[/COLOR] Mai 25 00:30 kernel.raw                [COLOR=#0000ff]# 0x263D00[/COLOR]
-rw-r--r-- 1 freetz freetz [COLOR=#0000ff]16091024[/COLOR] Mai 25 00:30 kernelsquashfs.raw        [COLOR=#0000ff]# 0xF58790[/COLOR]
drwxr-xr-x 3 freetz freetz     4096 Mai 25 00:31 var.tar
freetz@freetz-linux:~/freetz-devel$


freetz@freetz-linux:~/freetz-devel$ hexdump -C FB7360v2_0650/original/firmware/var/tmp/kernel.image | grep -A 3 sqsh
[COLOR=#0000ff]00263d00[/COLOR]  73 71 73 68 00 00 0a 63  00 [COLOR=#00ff00]f5 87 90[/COLOR] 00 01 00 00  |sqsh...c........|
00263d10  00 00 01 08 00 04 00 10  02 c0 00 01 00 04 00 00  |................|
00263d20  00 00 00 00 58 5a 06 f2  00 00 00 00 00 [COLOR=#00ff00]f5 87 90[/COLOR]  |....XZ..........|
00263d30  00 00 00 00 00 f5 87 88  ff ff ff ff ff ff ff ff  |................|
freetz@freetz-linux:~/freetz-devel$
Gesamtgröße der Kernel.Image Datei gemäß SquashFS-Metadaten (per HexDump ausgelesen): 0xF58790 (16091024) Byte

Ermittlung physikalische Größe der kernel.image Datei:
Code:
freetz@freetz-linux:~/freetz-devel$ ls -la FB7360v2_0650_untar/var/tmp/
-rw-r----- 1 freetz freetz        0 Feb 25 10:46 filesystem.image
-rwxr-x--- 1 freetz freetz [COLOR=#00ff00]18597016[/COLOR] Feb 25 10:46 kernel.image
freetz@freetz-linux:~/freetz-devel$

Kontroll-Rechnung:
Größe der gesamten "kernel.image" (0xF58790 + 0x263D00 = 0x11BC490 = 18597008 + 8 Byte Prüfsumme ergibt dann die Dateigröße von 18597016 Byte).

==> alles OK



nun dasselbe mit dem seinerzeit analog zu Elsterkrug erstellten Freetz-Image (Freetz-Trunk-Version und dem .config File aus #xxx ):
Code:
freetz@freetz-linux:~/freetz-devel$ ls -la FB7360v2_0650/modified/kernel/
-rw-r--r-- 1 freetz freetz  [COLOR=#0000ff]2505984[/COLOR] Mai 25 00:31 kernel.raw                [COLOR=#0000ff]# 0x263D00[/COLOR]
-rw-r--r-- 1 freetz freetz [COLOR=#0000ff]16084992[/COLOR] Mai 25 00:35 kernelsquashfs.raw        [COLOR=#0000ff]# 0xF57000[/COLOR]
drwxr-xr-x 3 freetz freetz     4096 Mai 25 00:31 var.tar
freetz@freetz-linux:~/freetz-devel$

freetz@freetz-linux:~/freetz-devel$ hexdump -C FB7360v2_0650/modified/firmware/var/tmp/kernel.image | grep -A 3 sqsh
00263d00  73 71 73 68 00 00 0a 63  57 44 d7 24 00 01 00 00  |sqsh...cWD.$....|
00263d10  00 00 01 08 00 04 00 10  03 40 00 01 00 04 00 00  |.........@......|
00263d20  00 00 00 00 51 76 06 f2  00 00 00 00 00 [COLOR=#ff0000]f5 66 62[/COLOR]  |....Qv........fb|
00263d30  00 00 00 00 00 f5 66 5a  ff ff ff ff ff ff ff ff  |......fZ........|
freetz@freetz-linux:~/freetz-devel$

Gesamtgröße der Kernel.Image Datei gemäß SquashFS-Metadaten (per HexDump ausgelesen): 0xF56662 (16082530) Byte

Kontroll-Rechnung:
Größe der gesamten "kernel.image" (0xF56662 + 0x263D00 = 0x11BA362 = 18588514 + 8 Byte Prüfsumme ergibt dann die Dateigröße von 18588522 Byte).

Ermittlung physikalische Größe der kernel.image Datei:
Code:
freetz@freetz-linux:~/freetz-devel$ [COLOR=#0000ff]ls -la Freetz_FB7360v2_0650_untar/var/tmp/[/COLOR]
-rw-r--r-- 1 freetz freetz        0 Mai 25 00:35 filesystem.image
-rw-r--r-- 1 freetz freetz [COLOR=#0000ff]18590984[/COLOR] Mai 25 00:36 kernel.image
freetz@freetz-linux:~/freetz-devel$
==> Error 18590984 != 18588522

Basierend auf dem richtigen Datei-Größe 18590984 ergibt sich ein erforderlicher SquashFS-Metadaten Hexvalue 0xF57000:
Größe der gesamten "kernel.image" (0xF57000 + 0x263D00 = 0x11BAD00 = 18590976 + 8 Byte Prüfsumme ergibt dann die Dateigröße von 18590984 Byte).

d.h. bei dem Freetz-Image von Elsterkrug müsste der Value an Offset 00263d2d der Hexvalue 0xF57000 statt 0xF56662 stehen:
Code:
freetz@freetz-linux:~/freetz-devel$ hexdump -C -s 0x00263d2d -n3 FB7360v2_0650/modified/firmware/var/tmp/kernel.image
00263d2d [COLOR=#ff0000] f5 66 62[/COLOR]         # to be changed to ==> [COLOR=#00ff00]F5 70 00[/COLOR] 
00263d30
freetz@freetz-linux:~/freetz-devel$

ich denke dies könnte man mit dd fixen;

any Comments welcome.

LG Riverhopper
 
Zuletzt bearbeitet:
Hallo Riverhopper,
ich fang jetzt mal an alles abzuarbeiten und poste es Stück für Stück, damit nichts verloren geht. Habe jetzt als erstes #42 3.) und4.) abgearbeitet und hier die Ausgaben.
Code:
frank@frank-ThinkPad-X121e:~$ cd freetz-trunk
frank@frank-ThinkPad-X121e:~/freetz-trunk$ svn up
Aktualisiere ».«:
U    tools/build_download_toolchains
U    config/ui/toolchain.in
U    config/mod/download.in
Aktualisiert zu Revision 13748.
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ./fwmod -u -d unpacked_firmware FRITZ.Box_Fon_WLAN_7360.124.06.50.image
STEP 1: UNPACK
unpacking firmware image
Skipping 0 Bytes garbage...splitting kernel image
unpacking filesystem image
    Filesystem on unpacked_firmware/original/kernel/kernelsquashfs.raw is xz compressed (4:0)
    Parallel unsquashfs: Using 1 processor
    2487 inodes (2993 blocks) to write
    created 1915 files
    created 172 directories
    created 485 symlinks
    created 87 devices
    created 0 fifos
unpacking var.tar
done.

detected firmware 7360_de 124.06.50 rev32505 (25.02.2016 10:46:29)

FINISHED
frank@frank-ThinkPad-X121e:~/freetz-trunk$ sed -i '/echo 1 > \/proc\/sys\/kernel\/panic_on_oops/ a\
> if [ -z "$CPU_NR" ] || [ "$CPU_NR" = "1" ] ; then\
> mknod /var/flash/debug.cfg c $tffs_major $((0x62))\
> if ! /usr/bin/checkempty /var/flash/debug.cfg 2>/dev/null; then\
> . /var/flash/debug.cfg\
> fi\
> fi' "unpacked_firmware/original/filesystem/etc/init.d/rc.tail.sh"
frank@frank-ThinkPad-X121e:~/freetz-trunk$ [ -x unpacked_firmware/original/filesystem/usr/sbin/telnetd ] || ln -s ../../bin/busybox unpacked_firmware/original/filesystem/usr/sbin/telnetd
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ./fwmod -p -d unpacked_firmware FRITZ.Box_Fon_WLAN_7360.124.06.50.image
detected firmware 7360_de 124.06.50 rev32505 (25.02.2016 10:46:29)

STEP 3: PACK
WARNING: Modifications (STEP 2) and this step should never
         ever be run with different configurations!
         This can result in invalid images!!!
WARNING: firmware does not seem to be modified by the script
cp: »unpacked_firmware/original/filesystem/usr/sbin/telnetd“ kann nicht zum Lesen geöffnet werden: Zu viele Ebenen aus symbolischen Links
  checking for left over Subversion directories
packing var.tar
creating filesystem image
  SquashFS block size: 64 kB (65536 bytes)
merging kernel image
  kernel image size: 17.7 MB, max 31.4 MB, free 13.6 MB (14308096 bytes)
  Aproximately maximal time for the answering machine: 115 min, 31 sec (6931 sec)
packing unpacked_firmware/7360_v2_-.de_20160608-170610.image
  image file size: 18.4 MB
done.

FINISHED
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ./fwmod -u -d test_unpack_2 unpacked_firmware/7360_v2*.image
STEP 1: UNPACK
unpacking firmware image
Skipping 0 Bytes garbage...splitting kernel image
unpacking filesystem image
    Filesystem on test_unpack_2/original/kernel/kernelsquashfs.raw is xz compressed (4:0)
    Parallel unsquashfs: Using 1 processor
    2487 inodes (2993 blocks) to write
    created 1915 files
    created 172 directories
    created 485 symlinks
    created 87 devices
    created 0 fifos
unpacking var.tar
done.

detected firmware 7360_de 124.06.50 rev32505 (25.02.2016 10:46:29)

FINISHED
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/filesystem/usr/sbin/telnetd
lrwxrwxrwx 1 frank frank 17 Jun  8 17:05 unpacked_firmware/original/filesystem/usr/sbin/telnetd -> ../../bin/busybox
frank@frank-ThinkPad-X121e:~/freetz-trunk$ grep debug.cfg unpacked_firmware/original/filesystem/etc/init.d/rc.tail.sh
mknod /var/flash/debug.cfg c $tffs_major $((0x62))
if ! /usr/bin/checkempty /var/flash/debug.cfg 2>/dev/null; then
. /var/flash/debug.cfg
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/kernel/ test_unpack_2/original/kernel/
test_unpack_2/original/kernel/:
insgesamt 18168
drwxr-xr-x 3 frank frank     4096 Jun  8 17:07 .
drwxr-xr-x 5 frank frank     4096 Jun  8 17:06 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 17:06 kernel.raw
-rw-r--r-- 1 frank frank 16084992 Jun  8 17:06 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 17:06 var.tar

unpacked_firmware/original/kernel/:
insgesamt 18176
drwxr-xr-x 3 frank frank     4096 Jun  8 17:04 .
drwxr-xr-x 5 frank frank     4096 Jun  8 17:04 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 17:04 kernel.raw
-rw-r--r-- 1 frank frank 16091024 Jun  8 17:04 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 17:04 var.tar
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/firmware/var/install test_unpack_2/original/firmware/var/install
-rwxr-x--- 1 frank frank 39356 Jun  8 17:06 test_unpack_2/original/firmware/var/install
-rwxr-x--- 1 frank frank 39356 Feb 25 10:46 unpacked_firmware/original/firmware/var/install
frank@frank-ThinkPad-X121e:~/freetz-trunk$ diff unpacked_firmware/original/firmware/var/install test_unpack_2/original/firmware/var/install
frank@frank-ThinkPad-X121e:~/freetz-trunk$
Weitere Ausgaben folgen
elsterkrug

- - - Aktualisiert - - -

Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/7360_v2*.image
-rw-r--r-- 1 frank frank 19296256 Jun  8 17:06 unpacked_firmware/7360_v2_-.de_20160608-170610.image
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/kernel/ unpacked_firmware/modified/kernel test_unpack_2/original/kernel/
test_unpack_2/original/kernel/:
insgesamt 18168
drwxr-xr-x 3 frank frank     4096 Jun  8 17:07 .
drwxr-xr-x 5 frank frank     4096 Jun  8 17:06 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 17:06 kernel.raw
-rw-r--r-- 1 frank frank 16084992 Jun  8 17:06 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 17:06 var.tar

unpacked_firmware/modified/kernel:
insgesamt 18168
drwxr-xr-x 3 frank frank     4096 Jun  8 17:06 .
drwxr-xr-x 5 frank frank     4096 Jun  8 17:06 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 17:06 kernel.raw
-rw-r--r-- 1 frank frank 16084992 Jun  8 17:06 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 17:06 var.tar

unpacked_firmware/original/kernel/:
insgesamt 18176
drwxr-xr-x 3 frank frank     4096 Jun  8 17:04 .
drwxr-xr-x 5 frank frank     4096 Jun  8 17:04 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 17:04 kernel.raw
-rw-r--r-- 1 frank frank 16091024 Jun  8 17:04 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 17:04 var.tar
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/firmware/var/tmp/ unpacked_firmware/modified/firmware/var/tmp/  test_unpack_2/original/firmware/var/tmp/
test_unpack_2/original/firmware/var/tmp/:
insgesamt 18164
drwxr-x--- 2 frank frank     4096 Jun  8 17:06 .
drwxr-x--- 3 frank frank     4096 Jun  8 17:06 ..
-rw-r--r-- 1 frank frank        0 Jun  8 17:06 filesystem.image
-rw-r--r-- 1 frank frank 18590976 Jun  8 17:06 kernel.image

unpacked_firmware/modified/firmware/var/tmp/:
insgesamt 18164
drwxr-x--- 2 frank frank     4096 Jun  8 17:06 .
drwxr-x--- 3 frank frank     4096 Jun  8 17:06 ..
-rw-r--r-- 1 frank frank        0 Jun  8 17:06 filesystem.image
-rw-r--r-- 1 frank frank 18590984 Jun  8 17:06 kernel.image

unpacked_firmware/original/firmware/var/tmp/:
insgesamt 18172
drwxr-x--- 2 frank frank     4096 Feb 25 10:46 .
drwxr-x--- 3 frank frank     4096 Feb 25 10:46 ..
-rw-r----- 1 frank frank        0 Feb 25 10:46 filesystem.image
-rwxr-x--- 1 frank frank 18597008 Jun  8 17:04 kernel.image
frank@frank-ThinkPad-X121e:~/freetz-trunk$

Jetzt kommt das nächste Problem, ich habe kein Verzeichnis freetz-devel und da geht es jetzt an der Stelle nicht weiter.
Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk$ mkdir FB7360v2_0650_untar
frank@frank-ThinkPad-X121e:~/freetz-trunk$ cd FB7360v2_0650_untar
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ tar tvpf ../FRITZ.Box_Fon_WLAN_7360.124.06.50.image
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/
-r--r----- 0/0           35208 2015-09-15 16:01 ./var/flash_update_2.6.28.ko
-r-xr-x--- 0/0          283844 2015-10-20 16:19 ./var/regelex
-rwxr-x--- 0/0           39356 2016-02-25 10:46 ./var/install
-r--r----- 0/0           55992 2016-01-26 15:10 ./var/flash_update_3.10.ko
-rwxr-x--- 0/0            2795 2016-02-25 10:46 ./var/info.txt
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/tmp/
-rw-r----- 0/0               0 2016-02-25 10:46 ./var/tmp/filesystem.image
-rwxr-x--- 0/0        18597016 2016-02-25 10:46 ./var/tmp/kernel.image
-r-xr-x--- 0/0          278552 2015-10-20 16:19 ./var/chksum
-rw-r----- 0/0             128 2016-02-25 10:46 ./var/signature
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 sqsh
hexdump: ./var/tmp/kernel.image: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$
Was nun?
elsterkrug
 
Code:
frank@frank-ThinkPad-X121e:~$ cd freetz-trunk
frank@frank-ThinkPad-X121e:~/freetz-trunk$ svn up
Aktualisiere ».«:
U    tools/build_download_toolchains
U    config/ui/toolchain.in
U    config/mod/download.in
Aktualisiert zu Revision 13748.
frank@frank-ThinkPad-X121e:~/freetz-trunk$

Hallo Elsterkrug,
hier fehlt
Code:
cp -p .config .config._backup_
make distclean
cp -p .config._backup_ .config
make tools

Details http://www.freetz.org/changeset/13748/trunk

Empfehlung: am Besten ist es, das Freetz-Update wie in #77 beschrieben updaten!!!

Bitte Ablauf dort aufsetzen/fortsetzen.

LG Riverhopper

- - - Aktualisiert - - -

Jetzt kommt das nächste Problem, ich habe kein Verzeichnis freetz-devel und da geht es jetzt an der Stelle nicht weiter.
Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk$ mkdir FB7360v2_0650_untar
frank@frank-ThinkPad-X121e:~/freetz-trunk$ cd FB7360v2_0650_untar
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ tar tvpf ../FRITZ.Box_Fon_WLAN_7360.124.06.50.image
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/
-r--r----- 0/0           35208 2015-09-15 16:01 ./var/flash_update_2.6.28.ko
-r-xr-x--- 0/0          283844 2015-10-20 16:19 ./var/regelex
-rwxr-x--- 0/0           39356 2016-02-25 10:46 ./var/install
-r--r----- 0/0           55992 2016-01-26 15:10 ./var/flash_update_3.10.ko
-rwxr-x--- 0/0            2795 2016-02-25 10:46 ./var/info.txt
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/tmp/
-rw-r----- 0/0               0 2016-02-25 10:46 ./var/tmp/filesystem.image
-rwxr-x--- 0/0        18597016 2016-02-25 10:46 ./var/tmp/kernel.image
-r-xr-x--- 0/0          278552 2015-10-20 16:19 ./var/chksum
-rw-r----- 0/0             128 2016-02-25 10:46 ./var/signature
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 sqsh
hexdump: ./var/tmp/kernel.image: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$
Was nun?

Hallo Elsterkrug,
das mit Subdirectory freetz-trunk vs. freetz-devel war ein versehen; hab's soeben in #123 korrigiert,
ich denke Du must noch den Befehl "tar xvpf ../FRITZ.Box_Fon_WLAN_7360.124.06.50.image" vor "hexdump ..." eingeben

LG Riverhopper
 
Zuletzt bearbeitet:
Entscheidend für das Dateisystem ist die Größenangabe im Superblock ... wenn da hinter dem SquashFS-Image noch "garbage" in der finalen "kernel.image" steht, interessiert das niemanden, solange die letzten 8 Byte mit dem TI-CRC stimmen - nur zu kurz darf das eben nicht sein, weil die letzten Werte noch wichtige Offsets innerhalb des Dateisystems enthalten. Keinesfalls sollte man irgendwie im Superblock herumspielen.

Solange der Superblock tatsächlich an einer 256-Byte-Boundary steht, weiß ich auch nicht mehr weiter ... wenn man lustig ist, könnte man vielleicht noch dem Treiber den Parameter "crc=0" unterjubeln beim Flashen (ich rate mal, daß der dann nicht nur die Größe beim Schreiben um 8 Byte verkürzt, sonst wäre das natürlich für die Katz), falls da tatsächlich noch eine weitere Prüfung erfolgt.

Was ja immer noch vollkommen unklar ist, ist die "Untätigkeit" des LKM anstelle des Flashens ... wenn die alte Firmware startet, ist da etwas richtig richtig faul.
 
Hallo Riverhopper,
habe jetzt den Freetz-Trunk nochmal komplett ausgecheckt, wie in #77 beschrieben. Jetzt nochmal die Ausgaben vom Erstellen des Freetz-Image.
Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ./fwmod -u -d unpacked_firmware FRITZ.Box_Fon_WLAN_7360.124.06.50.image
STEP 1: UNPACK
unpacking firmware image
Skipping 0 Bytes garbage...splitting kernel image
unpacking filesystem image
    Filesystem on unpacked_firmware/original/kernel/kernelsquashfs.raw is xz compressed (4:0)
    Parallel unsquashfs: Using 1 processor
    2487 inodes (2993 blocks) to write
    created 1915 files
    created 172 directories
    created 485 symlinks
    created 87 devices
    created 0 fifos
unpacking var.tar
done.

detected firmware 7360_de 124.06.50 rev32505 (25.02.2016 10:46:29)

FINISHED
frank@frank-ThinkPad-X121e:~/freetz-trunk$ sed -i '/echo 1 > \/proc\/sys\/kernel\/panic_on_oops/ a\
> if [ -z "$CPU_NR" ] || [ "$CPU_NR" = "1" ] ; then\
> mknod /var/flash/debug.cfg c $tffs_major $((0x62))\
> if ! /usr/bin/checkempty /var/flash/debug.cfg 2>/dev/null; then\
> . /var/flash/debug.cfg\
> fi\
> fi' "unpacked_firmware/original/filesystem/etc/init.d/rc.tail.sh"
frank@frank-ThinkPad-X121e:~/freetz-trunk$ [ -x unpacked_firmware/original/filesystem/usr/sbin/telnetd ] || ln -s ../../bin/busybox unpacked_firmware/original/filesystem/usr/sbin/telnetd
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ./fwmod -p -d unpacked_firmware FRITZ.Box_Fon_WLAN_7360.124.06.50.image
detected firmware 7360_de 124.06.50 rev32505 (25.02.2016 10:46:29)

STEP 3: PACK
WARNING: Modifications (STEP 2) and this step should never
         ever be run with different configurations!
         This can result in invalid images!!!
WARNING: firmware does not seem to be modified by the script
  checking for left over Subversion directories
packing var.tar
creating filesystem image
  SquashFS block size: 64 kB (65536 bytes)
merging kernel image
  kernel image size: 17.7 MB, max 31.4 MB, free 13.6 MB (14308096 bytes)
  Aproximately maximal time for the answering machine: 115 min, 31 sec (6931 sec)
packing unpacked_firmware/7360_v2_-.de_20160608-212023.image
  image file size: 18.4 MB
done.

FINISHED
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ./fwmod -u -d test_unpack_2 unpacked_firmware/7360_v2*.image
STEP 1: UNPACK
unpacking firmware image
Skipping 0 Bytes garbage...splitting kernel image
unpacking filesystem image
    Filesystem on test_unpack_2/original/kernel/kernelsquashfs.raw is xz compressed (4:0)
    Parallel unsquashfs: Using 1 processor
    2488 inodes (2994 blocks) to write
    created 1915 files
    created 172 directories
    created 486 symlinks
    created 87 devices
    created 0 fifos
unpacking var.tar
done.

detected firmware 7360_de 124.06.50 rev32505 (25.02.2016 10:46:29)

FINISHED
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/filesystem/usr/sbin/telnetd
lrwxrwxrwx 1 frank frank 17 Jun  8 21:20 unpacked_firmware/original/filesystem/usr/sbin/telnetd -> ../../bin/busybox
frank@frank-ThinkPad-X121e:~/freetz-trunk$ grep debug.cfg unpacked_firmware/original/filesystem/etc/init.d/rc.tail.sh
mknod /var/flash/debug.cfg c $tffs_major $((0x62))
if ! /usr/bin/checkempty /var/flash/debug.cfg 2>/dev/null; then
. /var/flash/debug.cfg
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/kernel/ test_unpack_2/original/kernel/
test_unpack_2/original/kernel/:
insgesamt 18168
drwxr-xr-x 3 frank frank     4096 Jun  8 21:21 .
drwxr-xr-x 5 frank frank     4096 Jun  8 21:21 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 21:21 kernel.raw
-rw-r--r-- 1 frank frank 16084992 Jun  8 21:21 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 21:20 var.tar

unpacked_firmware/original/kernel/:
insgesamt 18176
drwxr-xr-x 3 frank frank     4096 Jun  8 21:19 .
drwxr-xr-x 5 frank frank     4096 Jun  8 21:19 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 21:19 kernel.raw
-rw-r--r-- 1 frank frank 16091024 Jun  8 21:19 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 21:19 var.tar
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/firmware/var/install test_unpack_2/original/firmware/var/install
-rwxr-x--- 1 frank frank 39356 Jun  8 21:20 test_unpack_2/original/firmware/var/install
-rwxr-x--- 1 frank frank 39356 Feb 25 10:46 unpacked_firmware/original/firmware/var/install
frank@frank-ThinkPad-X121e:~/freetz-trunk$ diff unpacked_firmware/original/firmware/var/install test_unpack_2/original/firmware/var/install
frank@frank-ThinkPad-X121e:~/freetz-trunk$
Weiteres folgt.

- - - Aktualisiert - - -

Code:
frank@frank-ThinkPad-X121e:~$ cd freetz-trunk
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/7360_v2*.image
-rw-r--r-- 1 frank frank 19296256 Jun  8 21:20 unpacked_firmware/7360_v2_-.de_20160608-212023.image
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/kernel/ unpacked_firmware/modified/kernel test_unpack_2/original/kernel/
test_unpack_2/original/kernel/:
insgesamt 18168
drwxr-xr-x 3 frank frank     4096 Jun  8 21:21 .
drwxr-xr-x 5 frank frank     4096 Jun  8 21:21 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 21:21 kernel.raw
-rw-r--r-- 1 frank frank 16084992 Jun  8 21:21 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 21:20 var.tar

unpacked_firmware/modified/kernel:
insgesamt 18168
drwxr-xr-x 3 frank frank     4096 Jun  8 21:20 .
drwxr-xr-x 5 frank frank     4096 Jun  8 21:20 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 21:20 kernel.raw
-rw-r--r-- 1 frank frank 16084992 Jun  8 21:20 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 21:20 var.tar

unpacked_firmware/original/kernel/:
insgesamt 18176
drwxr-xr-x 3 frank frank     4096 Jun  8 21:19 .
drwxr-xr-x 5 frank frank     4096 Jun  8 21:19 ..
-rw-r--r-- 1 frank frank  2505984 Jun  8 21:19 kernel.raw
-rw-r--r-- 1 frank frank 16091024 Jun  8 21:19 kernelsquashfs.raw
drwxr-xr-x 3 frank frank     4096 Jun  8 21:19 var.tar
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la unpacked_firmware/original/firmware/var/tmp/ unpacked_firmware/modified/firmware/var/tmp/  test_unpack_2/original/firmware/var/tmp/
test_unpack_2/original/firmware/var/tmp/:
insgesamt 18164
drwxr-x--- 2 frank frank     4096 Jun  8 21:20 .
drwxr-x--- 3 frank frank     4096 Jun  8 21:20 ..
-rw-r--r-- 1 frank frank        0 Jun  8 21:20 filesystem.image
-rw-r--r-- 1 frank frank 18590976 Jun  8 21:21 kernel.image

unpacked_firmware/modified/firmware/var/tmp/:
insgesamt 18164
drwxr-x--- 2 frank frank     4096 Jun  8 21:20 .
drwxr-x--- 3 frank frank     4096 Jun  8 21:20 ..
-rw-r--r-- 1 frank frank        0 Jun  8 21:20 filesystem.image
-rw-r--r-- 1 frank frank 18590984 Jun  8 21:20 kernel.image

unpacked_firmware/original/firmware/var/tmp/:
insgesamt 18172
drwxr-x--- 2 frank frank     4096 Feb 25 10:46 .
drwxr-x--- 3 frank frank     4096 Feb 25 10:46 ..
-rw-r----- 1 frank frank        0 Feb 25 10:46 filesystem.image
-rwxr-x--- 1 frank frank 18597008 Jun  8 21:19 kernel.image
frank@frank-ThinkPad-X121e:~/freetz-trunk$

- - - Aktualisiert - - -

Code:
frank@frank-ThinkPad-X121e:~$ cd freetz-trunkfrank@frank-ThinkPad-X121e:~/freetz-trunk$ mkdir FB7360v2_0650_untar
frank@frank-ThinkPad-X121e:~/freetz-trunk$ cd FB7360v2_0650_untar
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ tar tvpf ../FRITZ.Box_Fon_WLAN_7360.124.06.50.image
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/
-r--r----- 0/0           35208 2015-09-15 16:01 ./var/flash_update_2.6.28.ko
-r-xr-x--- 0/0          283844 2015-10-20 16:19 ./var/regelex
-rwxr-x--- 0/0           39356 2016-02-25 10:46 ./var/install
-r--r----- 0/0           55992 2016-01-26 15:10 ./var/flash_update_3.10.ko
-rwxr-x--- 0/0            2795 2016-02-25 10:46 ./var/info.txt
drwxr-x--- 0/0               0 2016-02-25 10:46 ./var/tmp/
-rw-r----- 0/0               0 2016-02-25 10:46 ./var/tmp/filesystem.image
-rwxr-x--- 0/0        18597016 2016-02-25 10:46 ./var/tmp/kernel.image
-r-xr-x--- 0/0          278552 2015-10-20 16:19 ./var/chksum
-rw-r----- 0/0             128 2016-02-25 10:46 ./var/signature
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ tar xvpf ../FRITZ.Box_Fon_WLAN_7360.124.06.50.image
./var/
./var/flash_update_2.6.28.ko
./var/regelex
./var/install
./var/flash_update_3.10.ko
./var/info.txt
./var/tmp/
./var/tmp/filesystem.image
./var/tmp/kernel.image
./var/chksum
./var/signature
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 sqsh
00263b90  53 a2 34 f5 e3 af c2 ab  37 f2 ee af 65 43 10 89  |S.4.....7...eC..|
00263ba0  56 0c 51 30 5e 8f 34 1e  89 2b f0 e9 1a 5f 30 d1  |V.Q0^.4..+..._0.|
00263bb0  26 7d 0c d4 a8 3e c6 ad  c0 4d 11 7e c1 15 15 48  |&}...>...M.~...H|
00263bc0  45 82 4d a1 e7 24 0a 82  1c 29 92 17 a5 4b 8c 12  |E.M..$...)...K..|
00263bd0  62 ee 46 94 3f a3 a2 6e  d7 16 fa 15 22 a5 f3 d9  |b.F.?..n...."...|
00263be0  2a 2b 5d 0f 70 dc ab 34  8a 86 e6 aa e1 69 35 d0  |*+].p..4.....i5.|
00263bf0  1b da 35 ce 98 57 89 bb  6c 7e 6f e1 c1 52 53 ce  |..5..W..l~o..RS.|
00263c00  6c 00 00 00 00 30 78 00  80 ff ff ff ff ff ff ff  |l....0x.........|
00263c10  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00263d00  73 71 73 68 00 00 0a 63  00 f5 87 90 00 01 00 00  |sqsh...c........|
00263d10  00 00 01 08 00 04 00 10  02 c0 00 01 00 04 00 00  |................|
00263d20  00 00 00 00 58 5a 06 f2  00 00 00 00 00 f5 87 90  |....XZ..........|
00263d30  00 00 00 00 00 f5 87 88  ff ff ff ff ff ff ff ff  |................|
00263d40  00 00 00 00 00 f4 a6 de  00 00 00 00 00 f5 01 9a  |................|
00263d50  00 00 00 00 00 f5 72 c8  00 00 00 00 00 f5 87 6a  |......r........j|
00263d60  fd 37 7a 58 5a 00 00 01  69 22 de 36 03 c0 91 a3  |.7zXZ...i".6....|
00263d70  01 80 80 04 21 01 08 00  01 15 bb 20 e0 ff ff 51  |....!...... ...Q|
00263d80  89 5d 00 3f 91 45 84 68  34 8a 09 0a 40 62 ae 9e  |.].?.E.h4...@b..|
00263d90  29 20 b2 fa 62 08 8c ff  f9 ac 4c 26 17 2e be e9  |) ..b.....L&....|
00263da0  d0 13 6e 83 63 f4 1d 20  35 28 19 1a bd 23 f9 6e  |..n.c.. 5(...#.n|
00263db0  db c2 8a 00 f3 19 d9 05  24 c5 22 37 09 a0 6b 96  |........$."7..k.|
00263dc0  2a f2 46 55 4a fc 0c 67  73 a6 fc 88 6e b1 d7 8a  |*.FUJ..gs...n...|
00263dd0  1f b2 de 81 ed 4e bf a2  96 da 51 b5 33 75 f2 b2  |.....N....Q.3u..|
00263de0  92 e3 ee 99 0d e0 02 2b  7d 83 de 81 c3 71 c5 35  |.......+}....q.5|
00263df0  31 be 66 91 c6 3d 53 76  d5 c0 e6 9e f4 c9 14 fd  |1.f..=Sv........|
00263e00  a5 82 c4 70 9e 56 32 04  f0 fc 5e c8 0c b4 23 85  |...p.V2...^...#.|
00263e10  2a c4 45 73 e7 9e d8 5b  09 f9 9d 06 6c ed eb 2f  |*.Es...[....l../|
00263e20  c2 c3 6a f2 1b 1c 13 ec  8b 76 19 a7 ed 7f 14 cf  |..j......v......|
00263e30  d7 ea 64 e0 59 6e 4c b2  5c 2d b3 77 6e 7e 08 5a  |..d.YnL.\-.wn~.Z|
00263e40  9c ad e1 72 38 3b d3 10  b2 21 2c 24 a0 61 ae ae  |...r8;...!,$.a..|
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 "23 de 53 c4"
011bc3f0  7d 78 41 7b 2a a4 26 55  da d2 b4 ba e1 7e cb 74  |}xA{*.&U.....~.t|
011bc400  41 f4 17 4a 51 2b 34 09  e6 7c 58 cb 1a 8a 56 99  |A..JQ+4..|X...V.|
011bc410  2a fe 78 87 8a 43 ab e9  29 a4 62 39 c9 be 0c 07  |*.x..C..).b9....|
011bc420  aa 1d f1 9d 3d e6 94 d0  b1 ba 23 1e 90 24 84 f8  |....=.....#..$..|
011bc430  fd fd c5 93 ac 6e e3 78  54 5e 7a 17 61 16 3a 15  |.....n.xT^z.a.:.|
011bc440  20 48 5f 65 d6 be 96 f2  ae 69 7c 00 00 00 02 83  | H_e.....i|.....|
011bc450  28 62 00 01 aa 09 98 26  00 00 3d 77 f6 32 3e 30  |(b.....&..=w.2>0|
011bc460  0d 8b 02 00 00 00 00 01  59 5a 00 00 00 00 00 f5  |........YZ......|
011bc470  72 d0 00 00 00 00 00 f5  7b 4a 00 00 00 00 00 f5  |r.......{J......|
011bc480  82 98 04 80 00 00 00 00  00 00 00 00 00 f5 87 82  |................|
011bc490  23 de 53 c4 d5 2d 0d f6                           |#.S..-..|
011bc498
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$

- - - Aktualisiert - - -

Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ tar tvpf ../unpacked_firmware/7360_v2*.image
drwxr-xr-x root/root         0 2016-06-08 21:20 ./
drwxr-x--- root/root         0 2016-06-08 21:20 ./var/
-rwxr-x--- root/root      2795 2016-06-08 21:20 ./var/info.txt
-rw-r----- root/root       128 2016-06-08 21:20 ./var/signature
-r-xr-x--- root/root    283844 2016-06-08 21:20 ./var/regelex
-rwxr-x--- root/root     39356 2016-06-08 21:20 ./var/install
-r--r----- root/root     55992 2016-06-08 21:20 ./var/flash_update_3.10.ko
-r-xr-x--- root/root    278552 2016-06-08 21:20 ./var/chksum
-r--r----- root/root     35208 2016-06-08 21:20 ./var/flash_update_2.6.28.ko
drwxr-x--- root/root         0 2016-06-08 21:20 ./var/tmp/
-rw-r--r-- root/root  18590984 2016-06-08 21:20 ./var/tmp/kernel.image
-rw-r--r-- root/root         0 2016-06-08 21:20 ./var/tmp/filesystem.image
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ tar xvpf ../unpacked_firmware/7360_v2*.image
./
./var/
./var/info.txt
./var/signature
./var/regelex
./var/install
./var/flash_update_3.10.ko
./var/chksum
./var/flash_update_2.6.28.ko
./var/tmp/
./var/tmp/kernel.image
./var/tmp/filesystem.image
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 sqsh
00263b90  53 a2 34 f5 e3 af c2 ab  37 f2 ee af 65 43 10 89  |S.4.....7...eC..|
00263ba0  56 0c 51 30 5e 8f 34 1e  89 2b f0 e9 1a 5f 30 d1  |V.Q0^.4..+..._0.|
00263bb0  26 7d 0c d4 a8 3e c6 ad  c0 4d 11 7e c1 15 15 48  |&}...>...M.~...H|
00263bc0  45 82 4d a1 e7 24 0a 82  1c 29 92 17 a5 4b 8c 12  |E.M..$...)...K..|
00263bd0  62 ee 46 94 3f a3 a2 6e  d7 16 fa 15 22 a5 f3 d9  |b.F.?..n...."...|
00263be0  2a 2b 5d 0f 70 dc ab 34  8a 86 e6 aa e1 69 35 d0  |*+].p..4.....i5.|
00263bf0  1b da 35 ce 98 57 89 bb  6c 7e 6f e1 c1 52 53 ce  |..5..W..l~o..RS.|
00263c00  6c 00 00 00 00 30 78 00  80 ff ff ff ff ff ff ff  |l....0x.........|
00263c10  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00263d00  73 71 73 68 00 00 0a 64  57 58 70 14 00 01 00 00  |sqsh...dWXp.....|
00263d10  00 00 01 08 00 04 00 10  03 40 00 01 00 04 00 00  |.........@......|
00263d20  00 00 00 00 51 d6 07 1b  00 00 00 00 00 f5 66 e2  |....Q.........f.|
00263d30  00 00 00 00 00 f5 66 da  ff ff ff ff ff ff ff ff  |......f.........|
00263d40  00 00 00 00 00 f4 a6 f6  00 00 00 00 00 f4 fb 12  |................|
00263d50  00 00 00 00 00 f5 66 cc  ff ff ff ff ff ff ff ff  |......f.........|
00263d60  fd 37 7a 58 5a 00 00 01  69 22 de 36 03 c0 91 a3  |.7zXZ...i".6....|
00263d70  01 80 80 04 21 01 08 00  01 15 bb 20 e0 ff ff 51  |....!...... ...Q|
00263d80  89 5d 00 3f 91 45 84 68  34 8a 09 0a 40 62 ae 9e  |.].?.E.h4...@b..|
00263d90  29 20 b2 fa 62 08 8c ff  f9 ac 4c 26 17 2e be e9  |) ..b.....L&....|
00263da0  d0 13 6e 83 63 f4 1d 20  35 28 19 1a bd 23 f9 6e  |..n.c.. 5(...#.n|
00263db0  db c2 8a 00 f3 19 d9 05  24 c5 22 37 09 a0 6b 96  |........$."7..k.|
00263dc0  2a f2 46 55 4a fc 0c 67  73 a6 fc 88 6e b1 d7 8a  |*.FUJ..gs...n...|
00263dd0  1f b2 de 81 ed 4e bf a2  96 da 51 b5 33 75 f2 b2  |.....N....Q.3u..|
00263de0  92 e3 ee 99 0d e0 02 2b  7d 83 de 81 c3 71 c5 35  |.......+}....q.5|
00263df0  31 be 66 91 c6 3d 53 76  d5 c0 e6 9e f4 c9 14 fd  |1.f..=Sv........|
00263e00  a5 82 c4 70 9e 56 32 04  f0 fc 5e c8 0c b4 23 85  |...p.V2...^...#.|
00263e10  2a c4 45 73 e7 9e d8 5b  09 f9 9d 06 6c ed eb 2f  |*.Es...[....l../|
00263e20  c2 c3 6a f2 1b 1c 13 ec  8b 76 19 a7 ed 7f 14 cf  |..j......v......|
00263e30  d7 ea 64 e0 59 6e 4c b2  5c 2d b3 77 6e 7e 08 5a  |..d.YnL.\-.wn~.Z|
00263e40  9c ad e1 72 38 3b d3 10  b2 21 2c 24 a0 61 ae ae  |...r8;...!,$.a..|
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -B 10 -A 20 "23 de 53 c4"
011ba370  ab be 5b 29 44 d2 1b bf  54 e2 7c 4a f4 6b b8 2f  |..[)D...T.|J.k./|
011ba380  1f d6 ff bd c7 08 ad 22  e8 be 83 d1 39 40 14 36  |......."[email protected]|
011ba390  3c ca 9b 2f fb 4c 5e eb  7e 9c de 28 7b a6 6e 62  |<../.L^.~..({.nb|
011ba3a0  d5 96 e9 d1 60 6c a2 68  02 50 c0 56 74 00 00 00  |....`l.h.P.Vt...|
011ba3b0  11 9d a5 b8 00 01 c7 0a  80 21 00 00 9c 78 de 51  |.........!...x.Q|
011ba3c0  3e 30 0d 8b 02 00 00 00  00 01 59 5a 00 00 00 00  |>0........YZ....|
011ba3d0  00 f5 61 5e 04 80 00 00  00 00 00 00 00 00 00 f5  |..a^............|
011ba3e0  66 d4 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |f...............|
011ba3f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
011bad00  23 de 53 c4 14 21 ee 62                           |#.S..!.b|
011bad08
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$

- - - Aktualisiert - - -

Das Flashen schaffe ich im Moment nicht, mein Sohnemann macht gerade noch Hausaufgaben und braucht das Internet, ich weiß nicht, ob ich noch wach bin, wenn er fertig ist, ansonsten geht es morgen weiter.
Viele Grüße
elsterkrug

- - - Aktualisiert - - -

Ach so, hier noch die .config.
 
Auch wenn es sehr mühsam ist wegen der schlechten Lesbarkeit, wenn da viele Befehle und ihre Ausgaben in einem gemeinsamen Code-Block stehen ... ich sehe da keine wirklichen Probleme.

Was noch auf-(und mir dann wieder ein-)fällt ist der Unterschied, daß beim AVM-Image anstelle der Timestamp für das Erstellen der SquashFS-Images eben noch einmal die Länge des SquashFS-Images am Offset 8 steht (hatten wir irgendwann früher ja mal). Zwar ist in den Quelltexten für den SquashFS-Treiber da kein Unterschied zu sehen zwischen der 7490 und der 7360 (das hatte ich ja früher schon geprüft), vielleicht passen aber auch die veröffentlichten Quellen gar nicht zu dem Kernel, den AVM da wirklich verwendet.

Das wäre eine weitere Idee (und die berühmte Ausnahme von der Regel, daß man nicht im Superblock herumpfuscht), da noch einmal von Hand ebenfalls die Länge von Offset 28 (da ist es ein 64-Bit-Wert, an Offset 8 nur 32) zur Probe einzutragen. Zwar kann die AVM-Firmware ja das Filesystem offensichtlich auch mounten, wenn da tatsächlich ein Zeitstempel steht (das mksquashfs aus den Tools schreibt dort einen hinein), aber auch bei den SquashFS-Images für andere Boxen steht bei AVM an Offset 8 noch einmal diese Länge (gerade noch einmal bei der aktuellen Labor-Version der 7490 geprüft).

Am Ende interessiert ja tatsächlich das Datum der Erstellung des SquashFS-Images natürlich niemanden und wenn jemand bei AVM mal "quick&dirty" irgendwas fixen wollte, wäre so ein "Mißbrauch" ja auch denkbar.

Die Frage, warum man da dann nicht gleich die Länge ab 0x2C auslesen konnte, stelle ich gar nicht erst ... auch die Spekulation, daß diese "Besonderheit" zur Abwehr von Änderungen mit den inzwischen verfügbaren SquashFS-Tools4 auch für das von AVM geänderte Format dienen könnte, stelle ich nicht an, das wäre mir zuviel Verschwörungstheorie.

Das kann einerseits "vollkommen harmlos" sein und nur ein unbeabsichtigter Fehler oder es handelt sich um irgendeine Änderung, die dann nur bei NOR-Modellen zum Tragen kommen soll, oder, oder, oder ... es ist der letzte Unterschied in den Images, der mir noch auffällt.

Ich würde ja noch einen Test empfehlen, bei dem das von Freetz erstellte SquashFS-Dateisystem mal auf der 7360 in einer originalen Firmware-Version 06.50 gemountet wird, das geht aber wohl nicht so ohne weiteres ... allerdings würde der Shell-Code in /etc/hotplug/udev-mount-sd tatsächlich auch ein SquashFS-Image in einer Partition(!) auf einem USB-Stick als solches erkennen und dann ggf. mounten oder eben auch nicht:
Code:
case $filesystem_type in
swap)
echo "MOUNT: try to add swap" >/dev/console
if mkswap $DEVNODE ; then
swapon $DEVNODE
echo "MOUNT: swap added" >/dev/console
FAIL_EVENT=0
fi
;;
[COLOR="#FF0000"]squashfs)
echo "MOUNT: mount -t 'squashfs' $DEVNODE $MNTPATH" >/dev/console
if mount -t squashfs -o ro $DEVNODE "$MNTPATH"; then
new_filesystem=true
fi
;;
[/COLOR]vfat)
echo "MOUNT: mount -t 'vfat' $DEVNODE $MNTPATH" >/dev/console
if mount -t vfat -o $READMODE,noatime,shortname=winnt,uid=$FTPUID,gid=$FTPGID,utf8,$FMASK,$DMASK $DEVNODE "$MNTPATH"; then
new_filesystem=true
fi
;;
ntfs)
echo "MOUNT: mount -t 'ntfs' $DEVNODE $MNTPATH" >/dev/console
if test -x /bin/ntfs-3g ; then
ntfs-3g $DEVNODE "$MNTPATH" -o $READMODE,locale=de_DE.UTF-8,$FMASK,$DMASK,big_writes
local NTFS_RET=$?
case "$NTFS_RET" in
0 )
new_filesystem=true
;;
12 ) # NTFS_VOLUME_NOT_NTFS
## ignore - not formatted with NTFS
;;
15 ) # NTFS_VOLUME_UNCLEAN_UNMOUNT
## need option -o force, but we don't do this, because its not safe!
eventadd 144 "$MNTNAME"
## no fail event later on
FAIL_EVENT=0
led-ctrl filesystem_mount_failure
;;
* )
## NTFS mount error
eventadd 145 "$MNTNAME" $NTFS_RET
## no fail event later on
FAIL_EVENT=0
led-ctrl filesystem_mount_failure
;;
esac
else
echo "ntfs not yet ready -> mount later" > /dev/console
FAIL_EVENT=0
fi
;;
ext2|ext3|ext4)
echo "MOUNT:mount -t 'extX' $DEVNODE $MNTPATH" >/dev/console
if mount -t $filesystem_type $DEVNODE "$MNTPATH"; then
new_filesystem=true
chmod 777 "$MNTPATH"
fi
;;
*)
echo "MOUNT: unknown filesystem type $filesystem_type on device $DEVNODE" >/dev/console
test -z "$filesystem_type" && FAIL_EVENT=0
;;
esac
Das wäre im Moment der einzige Weg (abseits vom "Einbruch" in die Firmware 06.50 über eine Lücke, bei dem man dann doch wieder eine Shell startet), den ich mir als Test für die Akzeptanz eines mit Freetz erzeugten SquashFS-Images noch vorstellen könnte - das ist aber auch wieder nicht unbedingt trivial, so einen USB-Stick zu erstellen (wenn etwas nicht wie erwartet laufen sollte) und man sollte am besten eine andere FRITZ!Box (z.B. eine 7490 mit modfs) erst einmal zur Hand haben, um die korrekte Funktion des Sticks mit dem SquashFS-Image in der Partition zu testen.

Wobei eigentlich der passende Partition-Typ (0x83) schon ausreichen sollte und dann kann man einfach (notfalls zeichenorientiert mit "cat") das Image in das passende Blockdevice (/dev/sdirgendwas) für die Partition schreiben - also auch wieder keine wirkliche "rocket science", aber man muß schon wissen, was man da macht.

Und ein wirklich allerletzter Test wäre dann noch das Entfernen der überflüssigen Nullen am Ende des Images, zwischen dem Ende des SquashFS-Dateisystems und der TI-Prüfsumme (die dann natürlich nicht mehr stimmt, also muß das Auffüllen dort vorher verhindert werden). Ich weiß jetzt nicht genau, wie da das Padding erfolgt (ich rechne mit "conv=sync" bei irgendeinem "dd"-Aufruf o.ä.), aber da könnte man auch noch einmal ansetzen und nachsehen, wie man das verhindern könnte. Das AVM-Image endet zwar (ich nehme mal an zufällig) an einer 16-Byte-Grenze, aber das wäre nun in diesem Kontext etwas "vollkommen Krummes", genauso wie das Ende auf "6" oder "a".
 
Zuletzt bearbeitet:
Hallo zusammen,

ich kann aktuell leider nicht wirklich was nützliches zu Eurer Diskusion hier beitragen, wäre Euch aber dankbar, wenn Ihr aktiv auf mich zugehen und auf die entdeckten Fehler hinweisen würdet. Danke!

Bin mir nicht sicher, ob es da tatsächlich einen Zusammenhang gibt, die Symptome von #2838 sehen aber den hier beschriebenen ähnlich. So wie ich #2838 verstehe, führt die Aufnahme eines Zusatzpaketes dazu, dass das Image nicht geflasht werden kann - bleibt hängen. Es ist durchaus möglich, dass das Problem aus #2838 rein gar nichts mit NFS zu tun hat, sondern schlicht und ergreifend damit, dass zufälligerweise genau in dieser Konfiguration ein nicht ganz konformes Image erstelt wird - zu dem, was AVM erwartet - Layout, Padding, Alignment, Timestamp statt Größe, etc.

Viele Grüße,
Gene
 
Bei AVM wird für die 7360 offenbar das "-nopad"-Flag beim Erstellen des SquashFS-Images verwendet, daher ist der letzte Block nicht auf eine 4K-Grenze aufgefüllt.

Das ist bei den anderen Modellen wohl anders, auch wenn ich jetzt nur die 7490 und die 7412 geprüft habe.

Ggf. kann man das ja auch noch einmal testen ... die theoretische Erklärung dafür fiele mir zwar auch nicht wirklich ein, aber wer weiß denn, was da der flash_update.ko von AVM noch alles prüfen mag (der kommt ja nur bei den NOR-Modellen überhaupt zum Einsatz). Der ist jedenfalls auch "closed source", der in den veröffentlichten Quellen enthaltene ist nur ein Dummy.

- - - Aktualisiert - - -

@er13:
Ich habe Dich eigentlich absichtlich rausgelassen, weil das Fehlerbild hier für mich vollkommen unklar ist ... sowie irgendeine plausible Erklärung gefunden wird, wäre ich auf Dich zugekommen.

Einen direkten Zusammenhang zum Ticket 2838 sehe ich ehrlich gesagt nicht, ich verstehe bei dem (von Dir ja auch geschlossenen) Ticket nicht einmal, ob es nun um die 06.30 (im Titel) oder die 06.50 (im Text) geht - außerdem ist es eine 7490.

Wenn Du das Testen unterstützen willst, könntest Du ja tatsächlich mal für die 7360v2 (ist m.W. die einzige NOR-Box mit 06.50 und 3.10.73-Kernel, da VR9) das Padding beim "mksquashfs" abschalten und auch das Setzen der Größe anstelle der Timestamp (bei AVM ist es wohl häufiger die Größe an Offset 8) ist nur eine geänderte Zeile (ziemlich am Ende) von mksquashfs.c - vielleicht kann man das auch gleich beibehalten bei allen Modellen, denn der Zeitstempel ist ja egal.

Die Besonderheit der 7360, die ich in diesem Zusammenhang sehe, ist die Tatsache, daß das SquashFS-Image hier vom Setup-Code für den Kernel lokalisiert werden muß (und zwar direkt als SquashFS-Image), während es bei den NAND-Modellen ja über einen Aufruf von mount() aus dem Userspace eingebunden wird.

Die Tatsache, daß der (m.E. gemeinsam genutzte) Code für das Scannen nach Dateisystemen sich bei den NAND-Modellen auch nicht davon abschrecken läßt, daß da im Dummy-Header glatt eine Länge von 0 Byte angegeben ist, läßt das allerdings wieder unwahrscheinlicher erscheinen ... ich bin trotzdem zu faul, mich jetzt erneut in den Scan-Vorgang in arch/mips/lantiq/common/ifxmips_mtd.c zu vertiefen. die Suche nach dem ext2-Magic an dieser Stelle in der arch/mips/lantiq/common/ifxmips_mtd.c überspringt jedoch einfach die nächsten 256 Byte ohne weitere Tests und Vergleiche.

Allerdings ist es ja wirklich ein anderer Partition-Parser (ifx_squashfs_parser_function), der bei der 7360 als NOR-Box zum Einsatz kommt bzw. fündig wird, bei den NAND-Modellen ist es ifx_ext2fs_parser_function() - beides im erwähnten File. Auch die generelle Setup-Routine ist wohl eine andere (mtdnand_setup() vs. mtdnor_setup()) und auch da kann der Hund ja noch begraben liegen.

Am Ende bin ich nicht einmal sicher, daß da überhaupt ein falscher Aufbau des Images den Flash-Vorgang be-/verhindert ... zumindest wird ja der Flash-Treiber beim Update sauber geladen und macht dann trotzdem nichts wirklich - selbst wenn der alle Interrupts maskiert, damit ihm niemand mehr dazwischen funken kann, sollte man doch annehmen, daß das erst nach dem Laden des kompletten Files irgendwo in den Speicher (als geschlossener Block, denn die Dateisystem-Funktionen werden wohl ebenfalls nicht mehr verfügbar sein, wenn der flash_update.ko alles an sich reißt) erfolgen würde und da müßten eigentlich alle Gültigkeitsprüfungen irgendwann schon erledigt sein (schon bevor das System lahmgelegt wird). Wenn dann also nicht einmal der alte Inhalt gelöscht wird, aber trotzdem die Telnet-Session beendet wird (hier wäre jetzt interessant, wann und wie schnell das erfolgt, der Treiber wird kaum die Verbindung kappen, das ist sicherlich eher ein Timeout), dann würde ich eher bei einem ungültigen Aufbau der Datei (so der wirklich mehr als die Prüfsumme checkt) noch eine Fehlermeldung erwarten - aber vielleicht landet die vor "panic" ja auch noch per printk() im Log und es sieht sie bloß niemand mehr.

Mit "nopad" und der Änderung beim Schreiben der Timestamp würde aber der Unterschied in den Dateisystemen gegen Null tendieren ... die Alternative (der Test mit einem absichtlich "verunstalteten" (fast) originalen AVM-SquashFS-Image, um die Grenzen auszuloten bzw. zu prüfen, ob flash_update.ko da wirklich noch einmal prüft) ist sicherlich eher ein Szenario für einen erfahrenen Tester und auch recht zeitintensiv, weil man das Ergebnis nur anhand der Tatsache, ob das System nach dem Neustart funktioniert und/oder geändert ist, deduktiv herleiten kann und dann auch jeweils die Gegenproben machen muß, sonst sitzt man schnell wieder einem Trugschluß auf.

Es wäre ja theoretisch noch möglich, daß der flash_update.ko zum Schutz gegen vollkommen sinnlose Image-Dateien seinerseits das Image nach dem SquashFS-Superblock scannt, dabei die Länge an Offset 8 erwartet (das macht "extract_images" aus der Freetz-Toolchain auch noch so, wenn es ein AVM-Recovery-Programm auseinandernehmen soll) und dann an der Stelle "squashfs_superblock + squashfs_länge" nach der Signatur der TI-Prüfsumme Ausschau hält ... da stimmen dann eben gleich zwei Voraussetzungen derzeit bei einem Image nach "fwmod" nicht - einmal die zusätzliche Längenangabe an Offset 8 und dann noch der auf 4K aufgefüllte letzte Block.

- - - Aktualisiert - - -

Ich habe noch eine Theorie ... die setzt aber wirklich voraus, daß der Flash-Update-Treiber seinerseits noch einmal zusätzlich in das Image hineinschaut. Wenn man sich den Aufbau der SquashFS-Superblöcke für V3 und V4 ansieht, war ja an Offset 8 bis einschließlich V3 tatsächlich die Länge noch einmal kodiert ... die eine (bytes_used) als "long long" und die andere an Offset 8 als "unsigned int" unter dem Namen "bytes_used_2". Da der Flash-Update-Treiber in der 06.30 ja gar keine Ahnung hat, daß das neue Dateisystem V4 wäre, erwartet der wohl an Offset 8 dann eben bytes_used_2 ... was beim AVM-Image der Fall wäre, beim mit Freetz umgepackten Image aber nicht. Das würde aber als Erklärung (also der zusätzliche Test in flash_update.ko) auch dazu passen, daß es keine Probleme bereitet, so ein Dateisystem irgendwo zu mounten ... das LKM will das ja gar nicht tun, es prüft nur (vielleicht, ich weiß es ja auch nicht sicher) die Plausibilität des Aufbaus der zu schreibenden Datei.

Je mehr ich mich damit beschäftige und je mehr ich darüber nachdenke, um so interessanter finde ich diese These - sie würde vieles erklären, was hier in diesem Thread festgestellt wurde. Was allerdings auch wieder gegen eine solche Theorie spricht, ist das Fehlen der Zeichenkette "sqsh" als Signatur eines BE-Images in jeder Version des flash_update.ko, die ich auf die Schnelle finden konnte. Zwar könnte die Suche ja auch noch anders ablaufen und es muß nicht zwangsläufig ein String-Vergleich sein, aber es dämpft schon die Euphorie für einen entsprechenden Test.

- - - Aktualisiert - - -

Ok, das mit dem Ticket 2838 hat sich dann wohl auch erledigt ... wenn da der nfsd durch irgendwelche Abhängigkeiten ein "replace kernel" erforderlich macht, sind wir da ja wieder bei den fehlerhaften Quellen.
 
Zuletzt bearbeitet:
Hallo PeterPawn, Hallo er13,
die Indizien, dass wie PeterPawn beschreibt eine Änderung von AVM der SquashFS4-Superblock-Definition bei FB7360 (FW 06.50) stattgefunden hat, verdichten sich;
auch die fritzbox-beta-7360v2-32738 zeigt dieses neue geänderte FS-Layout (modified kernel.image size an Offset 8, nopad):

06.55-32738 (18.03.2016):
https://service.avm.de/downloads/beta/fritzbox_7360_v2/fritzbox-beta-7360v2-32738.zip
Code:
freetz@freetz-linux:~/freetz-trunk/fritzbox-beta-7360v2-32738$ hexdump -C var/tmp/kernel.image | grep -B 3 sqsh
00264000  73 71 73 68 00 00 0a 63  [B][COLOR=#00ff00]00 f5 83 f0[/COLOR][/B] 00 01 00 00  |sqsh...c........|
00264010  00 00 01 08 00 04 00 10  02 c0 00 01 00 04 00 00  |................|
00264020  00 00 00 00 57 26 06 f2  [COLOR=#00ff00][B]00 00 00 00 00 f5 83 f0[/B][/COLOR]  |....W&..........|
00264030  00 00 00 00 00 f5 83 e8  ff ff ff ff ff ff ff ff  |................|
freetz@freetz-linux:~/freetz-trunk/fritzbox-beta-7360v2-32738$


AVM 06.50 (25.02.2016):
Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk/Freetz_FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -A 3 sqsh
00263d00  73 71 73 68 00 00 0a 63  [COLOR=#00ff00]00 f5 87 90[/COLOR] 00 01 00 00  |sqsh...c........|
00263d10  00 00 01 08 00 04 00 10  02 c0 00 01 00 04 00 00  |................|
00263d20  00 00 00 00 58 5a 06 f2  [B][COLOR=#00ff00]00 00 00 00 00 f5 87 90[/COLOR][/B]  |....XZ..........|
00263d30  00 00 00 00 00 f5 87 88  ff ff ff ff ff ff ff ff  |................|
frank@frank-ThinkPad-X121e:~/freetz-trunk/Freetz_FB7360v2_0650_untar$

es wäre toll, wenn so ein mksquashfs Patch wie PeterPawn schreibt (Änderung Offset 8, nopad) bereitgestellt werden könnte,
so dass das Freetz-Image-Problem von Elsterkrug gefixt werden könnte.

Freetz-Image Elsterkrug (08.06.2016):
Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$ hexdump -C ./var/tmp/kernel.image | grep -A 3 sqsh
00263d00  73 71 73 68 00 00 0a 64  [COLOR=#ff0000]57 58 70 14[/COLOR] 00 01 00 00  |sqsh...dWXp.....|
00263d10  00 00 01 08 00 04 00 10  03 40 00 01 00 04 00 00  |.........@......|
00263d20  00 00 00 00 51 d6 07 1b  00 00 00 00 00 f5 66 e2  |....Q.........f.|
00263d30  00 00 00 00 00 f5 66 da  ff ff ff ff ff ff ff ff  |......f.........|
frank@frank-ThinkPad-X121e:~/freetz-trunk/FB7360v2_0650_untar$

LG Riverhopper
 
Zuletzt bearbeitet:
Das Patchen an sich ist ja easy ... der folgende Patch wäre zum Testen geeignet ("make squashfs4" funktioniert, das Packen für die NOR-Modelle habe ich aber nicht getestet):
Code:
commit f131ce96e78545a5d466f412ee4dd429f5ce1ab8
Author: PeterPawn <[email protected]>
Date:   Thu Jun 9 07:53:46 2016 +0200

    try to solve 7360v2 flash problems with different mksquashfs handling

diff --git a/fwmod b/fwmod
index 2d88d43..13c97ed 100755
--- a/fwmod
+++ b/fwmod
@@ -239,6 +239,8 @@ if [ "${FREETZ_SQUASHFS_VERSION}" -lt 4 ]; then
        else
                MKSQUASHFS_OPTIONS+=" -le"
        fi
+else
+       [ "${FREETZ_AVM_HAS_UPDATE_FILESYSTEM_IMAGE}" == "y" ] || MKSQUASHFS_OPTIONS+=" -nopad"
 fi
 if [ "${FREETZ_SQUASHFS_VERSION}" -eq 3 -a "${FREETZ_AVM_SQUASHFS_COMPRESSION}" == "lzma" ]; then
        MKSQUASHFS_OPTIONS+=" -lzma1"
diff --git a/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch b/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
new file mode 100644
index 0000000..2311b3c
--- /dev/null
+++ b/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
@@ -0,0 +1,19 @@
+--- squashfs-tools/mksquashfs.c
++++ squashfs-tools/mksquashfs.c
+@@ -5303,7 +5303,7 @@
+       sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
+               always_use_fragments, duplicate_checking, exportable,
+               no_xattrs, comp_opts);
+-      sBlk.mkfs_time = time(NULL);
++//    sBlk.mkfs_time = time(NULL);
+
+       disable_info();
+
+@@ -5324,6 +5324,7 @@
+               EXIT_MKSQUASHFS();
+
+       set_progressbar_state(FALSE);
++      sBlk.mkfs_time = (unsigned int) sBlk.bytes_used;
+       write_filesystem_tables(&sBlk, nopad);
+
+       return 0;
Die Datei aus dem Anhang einfach mit "patch -p0 <dateiname" im Wurzelverzeichnis des eigenen Trunks die Änderungen ausführen lassen und (vorsichtshalber) mit "make squashfs4-host-dirclean" die alte Version rauswerfen, dann mit "make tools" neu kompilieren und anschließend das Image neu packen lassen (solange keine weiteren Änderungen vorgenommen werden, sollte kein Auspacken und Ändern erforderlich sein, wer zuviel Zeit hat, kann ja trotzdem den ganzen Prozess noch einmal ablaufen lassen).

Anschließend sollte der Superblock an Offset 8 besser aussehen und ob die "-nopad"-Option gegriffen hat, sieht man auch sofort in einem Hexdump der letzten 4K des SquashFS-Images.

Wenn sich das dann auch noch flashen läßt über flash_update.ko, kann @er13 ja immer noch im SVN ändern - ich pushe jetzt auch den o.a. Commit nicht in meinem Fork im GitHub, sondern mache da ein "reset -hard" bei mir bis geklärt ist, ob es .wirklich hilft.
 
Hallo PeterPawn,
vielen Dank für den kurzfristig bereitgestellten Patch!!!
ich musste Zeile 11 noch anpassen:
@@ -239,6 +239,8 @@ if [ "${FREETZ_SQUASHFS_VERSION}" -lt 4 ]; then
roter Teil entfernt;

angepasstes Patchfile check_7360v2_flash_problem_neu.patch für Elsterkrug ist angehängt.

LG Riverhopper


- - - Aktualisiert - - -


Hallo Elsterkrug,
aus Deinen Logfiles konnte eine mögliche Problemursache (Offset 8 in SquashFS4-Superblock) identifiziert werden, die den Flash-Befehl "insmod flash_update.ko" ins "Leere schickt";
PeterPawn hat freundlicherweise einen Patch zur proaktiven Problembehebung erstellt; dieser muß nun installiert werden.

anbei die Schritte zur Implementierung:
Code:
# Vorbereitung: die zu ändernden Dateien sichern
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]cp -p fwmod fwmod._save_[/COLOR]
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]cp -p source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_[/COLOR]
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]ls -la fwmod._save_ fwmod source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c* [/COLOR]
-rw-r--r-- 1 freetz freetz  69543 Mai 24 23:43 fwmod
-rw-r--r-- 1 freetz freetz  69543 Mai 24 23:43 fwmod._save_
-rw-r--r-- 1 freetz freetz 137996 Mär 28 16:33 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c
-rw-r--r-- 1 freetz freetz 137996 Mär 28 16:33 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_

# Patchdatei check_7360v2_flash_problem_neu.patch downloaden und ablegen
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]ls -la check_7360v2_flash_problem_neu.patch[/COLOR]
-rw-r--r-- 1 freetz freetz 1403 Jun  9 11:02 check_7360v2_flash_problem_neu.patch
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]cat check_7360v2_flash_problem_neu.patch[/COLOR]
commit f131ce96e78545a5d466f412ee4dd429f5ce1ab8
Author: PeterPawn <[email protected]>
Date:   Thu Jun 9 07:53:46 2016 +0200

    try to solve 7360v2 flash problems with different mksquashfs handling

diff --git a/fwmod b/fwmod
index 2d88d43..13c97ed 100755
--- fwmod
+++ fwmod
[COLOR=#00ff00]@@ -239,6 +239,8 @@[/COLOR]
        else
                MKSQUASHFS_OPTIONS+=" -le"
        fi
+else
+       [ "${FREETZ_AVM_HAS_UPDATE_FILESYSTEM_IMAGE}" == "y" ] || MKSQUASHFS_OPTIONS+=" -nopad"
 fi
 if [ "${FREETZ_SQUASHFS_VERSION}" -eq 3 -a "${FREETZ_AVM_SQUASHFS_COMPRESSION}" == "lzma" ]; then
        MKSQUASHFS_OPTIONS+=" -lzma1"
diff --git a/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch b/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
new file mode 100644
index 0000000..2311b3c
--- /dev/null
+++ tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
@@ -0,0 +1,19 @@
+--- squashfs-tools/mksquashfs.c
++++ squashfs-tools/mksquashfs.c
+@@ -5303,7 +5303,7 @@
+       sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
+               always_use_fragments, duplicate_checking, exportable,
+               no_xattrs, comp_opts);
+-      sBlk.mkfs_time = time(NULL);
++//    sBlk.mkfs_time = time(NULL);
+
+       disable_info();
+
+@@ -5324,6 +5324,7 @@
+               EXIT_MKSQUASHFS();
+
+       set_progressbar_state(FALSE);
++      sBlk.mkfs_time = (unsigned int) sBlk.bytes_used;
+       write_filesystem_tables(&sBlk, nopad);
+
+       return 0;
freetz@freetz-linux:~/freetz-trunk$

Patch einspielen
Code:
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]patch -p0 < ./check_7360v2_flash_problem_neu.patch[/COLOR]
[COLOR=#00ff00]patching file fwmod
patching file tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch[/COLOR]
freetz@freetz-linux:~/freetz-trunk$ 

# Kontrolle:
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]ls -la fwmod._save_ fwmod source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c* tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch*[/COLOR]
-rw-r--r-- 1 freetz freetz  [COLOR=#00ff00]69637[/COLOR] Jun  9 11:18 fwmod
-rw-r--r-- 1 freetz freetz  69543 Mai 24 23:43 fwmod._save_
-rw-r--r-- 1 freetz freetz 137996 Mär 28 16:33 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c
-rw-r--r-- 1 freetz freetz 137996 Mär 28 16:33 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_
-rw-r--r-- 1 freetz freetz    [COLOR=#00ff00]505[/COLOR] Jun  9 11:18 tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
freetz@freetz-linux:~/freetz-trunk$ 
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]cat tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch[/COLOR]
--- squashfs-tools/mksquashfs.c
+++ squashfs-tools/mksquashfs.c
@@ -5303,7 +5303,7 @@
        sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
                always_use_fragments, duplicate_checking, exportable,
                no_xattrs, comp_opts);
-       sBlk.mkfs_time = time(NULL);
+//     sBlk.mkfs_time = time(NULL);

        disable_info();

@@ -5324,6 +5324,7 @@
                EXIT_MKSQUASHFS();

        set_progressbar_state(FALSE);
+       sBlk.mkfs_time = (unsigned int) sBlk.bytes_used;
        write_filesystem_tables(&sBlk, nopad);

        return 0;
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]diff fwmod._save_ fwmod[/COLOR]
241a242,243
> else
>       [ "${FREETZ_AVM_HAS_UPDATE_FILESYSTEM_IMAGE}" == "y" ] || MKSQUASHFS_OPTIONS+=" -nopad"
freetz@freetz-linux:~/freetz-trunk$

und nun squashfs4-host neu compilieren:
Code:
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]make squashfs4-host-dirclean[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]make tools[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk$

Kontrolle:
Code:
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]ls -la source/host-tools/squashfs4.3/squashfs-tools/[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]diff source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_[/COLOR]
SNIP
freetz@freetz-linux:~/freetz-trunk$

Putzen:
Code:
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]mv unpacked_firmware unpacked_firmware._13748_[/COLOR]
freetz@freetz-linux:~/freetz-trunk$ [COLOR=#0000ff]mv test_unpack_2 test_unpack_2._13748_[/COLOR]


und nun Aktionsplan #123 (ohne #77) umsetzen.

wie immer alles in Logfile und als Attachment anhängen.

LG Riverhopper
 

Anhänge

  • check_7360v2_flash_problem_neu.patch.txt
    1.4 KB · Aufrufe: 3
Zuletzt bearbeitet:
Riverhopper schrieb:
ich musste Zeile 11 noch anpassen:
Das war/ist die originale Ausgabe von "git show commit" und die sollte sich 1:1 einspielen lassen.

Allerdings habe ich tatsächlich für eine "git diff"-Ausgabe (die ja die Verzeichnisse a und b verwendet) das Kommando zum Patchen falsch angegeben, da gehört ein "-p1" hin anstelle des "-p0" - aber das merkt man ja schnell, wenn der erste Aufruf nicht wie erwartet funktioniert (Datei nicht gefunden).
 
Hallo PeterPawn,
bei mir kam folgende Meldung:
Code:
freetz@freetz-linux:~/freetz-trunk$ patch -p0 < check_7360v2_flash_problem.patch
[COLOR=#ff0000]can't find file to patch at input line 11
[/COLOR]Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|commit f131ce96e78545a5d466f412ee4dd429f5ce1ab8
|Author: PeterPawn <[email protected]>
|Date:   Thu Jun 9 07:53:46 2016 +0200
|
|    try to solve 7360v2 flash problems with different mksquashfs handling
|
|diff --git a/fwmod b/fwmod
|index 2d88d43..13c97ed 100755
|--- a/fwmod
|+++ b/fwmod
--------------------------
File to patch: fwmod
patching file fwmod
patching file b/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
freetz@freetz-linux:~/freetz-trunk$

daher die Anpassung des patchfiles, so dass Line-Scope sowie Dateipfade passen
???

LG Riverhopper
 
Genau dagegen (oder dafür?) hilft dann das Ändern von "-p0" auf "-p1" ... von den verwendeten Dateinamen soll eine Verzeichnisebene am Beginn entfernt werden.

Wenn das oben Stehende stimmt, ist der Patch für die SquashFS-Tools gar nicht an der richtigen Stelle gelandet, sondern in einem neuen Verzeichnis "b" unterhalb des Trunk-Basisverzeichnisses.
 
Hallo PeterPawn,
da mir die Option "-p1" noch unbekannt war, habe ich den mir bekannten Weg "Anpassung Patchfile" und "-p0" gewählt; siehe #135

beim nächsten mal werde ich auch "-p1" evaluieren.

LG Riverhopper

- - - Aktualisiert - - -

ergänzend noch für alle Interessierten: die Freetz Config von Elsterkrug:
 

Anhänge

  • .config.txt
    61.5 KB · Aufrufe: 0
Zuletzt bearbeitet:
Hallo Riverhopper,
habe jetzt angefangen den Patch umzusetzen. Hier die ersten Ausgaben:
Code:
frank@frank-ThinkPad-X121e:~$ cd freetz-trunk
frank@frank-ThinkPad-X121e:~/freetz-trunk$ cp -p fwmod fwmod._save_
frank@frank-ThinkPad-X121e:~/freetz-trunk$ cp -p source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la fwmod._save_ fwmod source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c* 
-rwxr-xr-x 1 frank frank  69543 Jun  8 20:58 fwmod
-rwxr-xr-x 1 frank frank  69543 Jun  8 20:58 fwmod._save_
-rw-r--r-- 1 frank frank 137996 Jun  8 21:16 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c
-rw-r--r-- 1 frank frank 137996 Jun  8 21:16 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la check_7360v2_flash_problem_neu.patch
ls: Zugriff auf check_7360v2_flash_problem_neu.patch nicht möglich: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la check_7360v2_flash_problem_neu.patch
ls: Zugriff auf check_7360v2_flash_problem_neu.patch nicht möglich: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la check_7360v2_flash_problem_neu.patch
ls: Zugriff auf check_7360v2_flash_problem_neu.patch nicht möglich: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la check_7360v2_flash_problem_neu.patch
ls: Zugriff auf check_7360v2_flash_problem_neu.patch nicht möglich: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la check_7360v2_flash_problem_neu.patch
-rw-r--r-- 1 frank frank 1403 Jun  9 22:37 check_7360v2_flash_problem_neu.patch
frank@frank-ThinkPad-X121e:~/freetz-trunk$ cat check_7360v2_flash_problem_neu.patch
commit f131ce96e78545a5d466f412ee4dd429f5ce1ab8
Author: PeterPawn <[email protected]>
Date:   Thu Jun 9 07:53:46 2016 +0200

    try to solve 7360v2 flash problems with different mksquashfs handling

diff --git a/fwmod b/fwmod
index 2d88d43..13c97ed 100755
--- fwmod
+++ fwmod
@@ -239,6 +239,8 @@
     else
         MKSQUASHFS_OPTIONS+=" -le"
     fi
+else
+    [ "${FREETZ_AVM_HAS_UPDATE_FILESYSTEM_IMAGE}" == "y" ] || MKSQUASHFS_OPTIONS+=" -nopad"
 fi
 if [ "${FREETZ_SQUASHFS_VERSION}" -eq 3 -a "${FREETZ_AVM_SQUASHFS_COMPRESSION}" == "lzma" ]; then
     MKSQUASHFS_OPTIONS+=" -lzma1"
diff --git a/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch b/tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
new file mode 100644
index 0000000..2311b3c
--- /dev/null
+++ tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
@@ -0,0 +1,19 @@
+--- squashfs-tools/mksquashfs.c
++++ squashfs-tools/mksquashfs.c
+@@ -5303,7 +5303,7 @@
+     sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
+         always_use_fragments, duplicate_checking, exportable,
+         no_xattrs, comp_opts);
+-    sBlk.mkfs_time = time(NULL);
++//    sBlk.mkfs_time = time(NULL);
+ 
+     disable_info();
+ 
+@@ -5324,6 +5324,7 @@
+         EXIT_MKSQUASHFS();
+ 
+     set_progressbar_state(FALSE);
++    sBlk.mkfs_time = (unsigned int) sBlk.bytes_used;
+     write_filesystem_tables(&sBlk, nopad);
+ 
+     return 0;

Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk$ patch -p0 < ./check_7360v2_flash_problem_neu.patch
patching file fwmod
patching file tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la fwmod._save_ fwmod source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c* tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch*
-rwxr-xr-x 1 frank frank  69637 Jun  9 22:39 fwmod
-rwxr-xr-x 1 frank frank  69543 Jun  8 20:58 fwmod._save_
-rw-r--r-- 1 frank frank 137996 Jun  8 21:16 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c
-rw-r--r-- 1 frank frank 137996 Jun  8 21:16 source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_
-rw-r--r-- 1 frank frank    505 Jun  9 22:39 tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
frank@frank-ThinkPad-X121e:~/freetz-trunk$ cat tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
--- squashfs-tools/mksquashfs.c
+++ squashfs-tools/mksquashfs.c
@@ -5303,7 +5303,7 @@
     sBlk.flags = SQUASHFS_MKFLAGS(noI, noD, noF, noX, no_fragments,
         always_use_fragments, duplicate_checking, exportable,
         no_xattrs, comp_opts);
-    sBlk.mkfs_time = time(NULL);
+//    sBlk.mkfs_time = time(NULL);
 
     disable_info();
 
@@ -5324,6 +5324,7 @@
         EXIT_MKSQUASHFS();
 
     set_progressbar_state(FALSE);
+    sBlk.mkfs_time = (unsigned int) sBlk.bytes_used;
     write_filesystem_tables(&sBlk, nopad);
 
     return 0;
frank@frank-ThinkPad-X121e:~/freetz-trunk$ diff fwmod._save_ fwmod
241a242,243
> else
>     [ "${FREETZ_AVM_HAS_UPDATE_FILESYSTEM_IMAGE}" == "y" ] || MKSQUASHFS_OPTIONS+=" -nopad"

Code:
frank@frank-ThinkPad-X121e:~/freetz-trunk$ make squashfs4-host-dirclean
rm -f -r /home/frank/freetz-trunk/source/host-tools/squashfs4.3
frank@frank-ThinkPad-X121e:~/freetz-trunk$ make tools
tools/gunzip -c dl/squashfs4.3.tar.gz | tools/tar-gnu -C /home/frank/freetz-trunk/source/host-tools -x
set -e; shopt -s nullglob; for i in tools/make/squashfs4-host/patches/*.patch; do tools/freetz_patch /home/frank/freetz-trunk/source/host-tools/squashfs4.3 $i; done;
    applying patch file tools/make/squashfs4-host/patches/001-de03266983ceb62e5365aac84fcd3b2fd4d16e6f.upstream.patch
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/002-4f24381e7edc0a46cf10278e4597051ac697ec7c.upstream.patch
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/010-fix_segfault_in_tracing_code.patch
    patching file squashfs-tools/pseudo.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/050-freetz_specific_xz_paths.patch
    patching file squashfs-tools/Makefile
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/060-link_compression_libs_statically.patch
    patching file squashfs-tools/Makefile
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/100-TARGET_FORMAT.patch
    patching file squashfs-tools/_endian.h
    patching file squashfs-tools/Makefile
    patching file squashfs-tools/mksquashfs.c
    patching file squashfs-tools/read_fs.c
    patching file squashfs-tools/read_xattrs.c
    patching file squashfs-tools/squashfs_compat.h
    patching file squashfs-tools/squashfs_swap.h
    patching file squashfs-tools/swap.c
    patching file squashfs-tools/unsquashfs.c
    patching file squashfs-tools/unsquashfs.h
    patching file squashfs-tools/gzip_wrapper.h
    patching file squashfs-tools/lz4_wrapper.h
    patching file squashfs-tools/lzo_wrapper.h
    patching file squashfs-tools/xz_wrapper.h
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/101-TARGET_FORMAT__AVM_BE_symbol_only.patch
    patching file squashfs-tools/_endian.h
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/200-mksquashfs__help_comment_typos.patch
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/210-mksquashfs__uclibc_get_physical_memory.patch
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/220-mksquashfs__default_block_size.patch
    patching file squashfs-tools/mksquashfs.c
    patching file squashfs-tools/squashfs_fs.h
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/230-mksquashfs__disable_xattrs_support.patch
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/240-mksquashfs__remove_append_mode_support.patch
    patching file squashfs-tools/Makefile
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/250-mksquashfs__AVM_BE.patch
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/350-unsquashfs__AVM_BE.patch
    patching file squashfs-tools/unsquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/400-unsquashfs123_lzma1_header_less.patch
    patching file squashfs-tools/lzma_xz_wrapper.c
    patching file squashfs-tools/mksquashfs.c
    patching file squashfs-tools/unsquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/410-unsquashfs123_optional.patch
    patching file squashfs-tools/Makefile
    patching file squashfs-tools/unsquash-1.c
    patching file squashfs-tools/unsquash-2.c
    patching file squashfs-tools/unsquash-3.c
    patching file squashfs-tools/unsquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/450-unsquashfs__exit_on_decompression_errors.patch
    patching file squashfs-tools/unsquashfs.c
    ----------------------------------------------------------------------
    applying patch file tools/make/squashfs4-host/patches/999-mksquashfs_set_bytes_used_2.patch
    patching file squashfs-tools/mksquashfs.c
    ----------------------------------------------------------------------
touch /home/frank/freetz-trunk/source/host-tools/squashfs4.3/.unpacked
make -j2 -C /home/frank/freetz-trunk/source/host-tools/squashfs4.3/squashfs-tools \
        CC="gcc" \
        EXTRA_CFLAGS="-DTARGET_FORMAT=AVM_BE" \
        LEGACY_FORMATS_SUPPORT=1 \
        GZIP_SUPPORT=1 \
        LZMA_XZ_SUPPORT=1 \
        XZ_SUPPORT=1 \
        XZ_DIR="/home/frank/freetz-trunk/source/host-tools/xz-5.2.2" \
        COMP_DEFAULT=xz \
        XATTR_SUPPORT=0 \
        XATTR_DEFAULT=0 \
        mksquashfs unsquashfs
make[1]: Verzeichnis »/home/frank/freetz-trunk/source/host-tools/squashfs4.3/squashfs-tools« wird betreten
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o mksquashfs.o mksquashfs.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o read_fs.o read_fs.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o action.o action.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o swap.o swap.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o pseudo.o pseudo.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o compressor.o compressor.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o sort.o sort.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o progressbar.o progressbar.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o read_file.o read_file.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o info.o info.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o process_fragments.o process_fragments.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o caches-queues-lists.o caches-queues-lists.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o gzip_wrapper.o gzip_wrapper.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o lzma_xz_wrapper.o lzma_xz_wrapper.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o xz_wrapper.o xz_wrapper.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o unsquashfs.o unsquashfs.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o unsquash-1.o unsquash-1.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o unsquash-2.o unsquash-2.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o unsquash-3.o unsquash-3.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o unsquash-4.o unsquash-4.c
gcc -O2 -DTARGET_FORMAT=AVM_BE -I. -I/home/frank/freetz-trunk/source/host-tools/xz-5.2.2/src/liblzma/api -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DCOMP_DEFAULT=\"xz\" -Wall -DLEGACY_FORMATS_SUPPORT -DGZIP_SUPPORT -DLZMA_SUPPORT -DXZ_SUPPORT   -c -o unsquashfs_info.o unsquashfs_info.c
gcc   mksquashfs.o read_fs.o action.o swap.o pseudo.o compressor.o sort.o progressbar.o read_file.o info.o           process_fragments.o caches-queues-lists.o gzip_wrapper.o lzma_xz_wrapper.o xz_wrapper.o -lpthread -lm  -lz   -llzma  -L/home/frank/freetz-trunk/source/host-tools/xz-5.2.2  -llzma  -o mksquashfs
gcc   unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o compressor.o unsquashfs_info.o gzip_wrapper.o lzma_xz_wrapper.o xz_wrapper.o -lpthread -lm  -lz   -llzma  -L/home/frank/freetz-trunk/source/host-tools/xz-5.2.2  -llzma  -o unsquashfs
make[1]: Verzeichnis »/home/frank/freetz-trunk/source/host-tools/squashfs4.3/squashfs-tools« wird verlassen
touch -c /home/frank/freetz-trunk/source/host-tools/squashfs4.3/squashfs-tools/mksquashfs
mkdir -p tools/; cp /home/frank/freetz-trunk/source/host-tools/squashfs4.3/squashfs-tools/mksquashfs tools/mksquashfs4-lzma-avm-be;
strip tools/mksquashfs4-lzma-avm-be
mkdir -p tools/; cp /home/frank/freetz-trunk/source/host-tools/squashfs4.3/squashfs-tools/unsquashfs tools/unsquashfs4-lzma-avm-be;
strip tools/unsquashfs4-lzma-avm-be
frank@frank-ThinkPad-X121e:~/freetz-trunk$

Mehr folgt gleich.....

- - - Aktualisiert - - -

Jetzt gibt es ein Problem....
Code:
frank@frank-ThinkPad-X121e:~$ cd freetz-trunk
frank@frank-ThinkPad-X121e:~/freetz-trunk$ ls -la source/host-tools/squashfs4.3/squashfs-tools/
insgesamt 2680
drwxr-xr-x 2 frank frank   4096 Jun  9 22:45 .
drwxr-xr-x 4 frank frank   4096 Jun  9 22:45 ..
-rw-r--r-- 1 frank frank  50647 Mai 10  2014 action.c
-rw-r--r-- 1 frank frank   5552 Mai 10  2014 action.h
-rw-r--r-- 1 frank frank  56048 Jun  9 22:45 action.o
-rw-r--r-- 1 frank frank  15836 Mai 10  2014 caches-queues-lists.c
-rw-r--r-- 1 frank frank   5617 Mai 10  2014 caches-queues-lists.h
-rw-r--r-- 1 frank frank  16096 Jun  9 22:45 caches-queues-lists.o
-rw-r--r-- 1 frank frank   2859 Mär  9  2014 compressor.c
-rw-r--r-- 1 frank frank   3407 Mai 10  2014 compressor.h
-rw-r--r-- 1 frank frank   3968 Jun  9 22:45 compressor.o
-rw-r--r-- 1 frank frank    993 Jun  9 22:45 _endian.h
-rw-r--r-- 1 frank frank   2163 Mai 10  2014 error.h
-rw-r--r-- 1 frank frank  12884 Mai 12  2014 gzip_wrapper.c
-rw-r--r-- 1 frank frank   1708 Jun  9 22:45 gzip_wrapper.h
-rw-r--r-- 1 frank frank  11616 Jun  9 22:45 gzip_wrapper.o
-rw-r--r-- 1 frank frank   4249 Mai 10  2014 info.c
-rw-r--r-- 1 frank frank   1013 Mai 10  2014 info.h
-rw-r--r-- 1 frank frank   6568 Jun  9 22:45 info.o
-rw-r--r-- 1 frank frank   7397 Mär  9  2014 lz4_wrapper.c
-rw-r--r-- 1 frank frank   1445 Jun  9 22:45 lz4_wrapper.h
-rw-r--r-- 1 frank frank   3108 Mär  9  2014 lzma_wrapper.c
-rw-r--r-- 1 frank frank   4498 Jun  9 22:45 lzma_xz_wrapper.c
-rw-r--r-- 1 frank frank   3352 Jun  9 22:45 lzma_xz_wrapper.o
-rw-r--r-- 1 frank frank  12036 Mär  9  2014 lzo_wrapper.c
-rw-r--r-- 1 frank frank   1884 Jun  9 22:45 lzo_wrapper.h
-rw-r--r-- 1 frank frank   9178 Jun  9 22:45 Makefile
-rwxr-xr-x 1 frank frank 797252 Jun  9 22:45 mksquashfs
-rw-r--r-- 1 frank frank 138048 Jun  9 22:45 mksquashfs.c
-rw-r--r-- 1 frank frank   3986 Mai 10  2014 mksquashfs.h
-rw-r--r-- 1 frank frank 142576 Jun  9 22:45 mksquashfs.o
-rw-r--r-- 1 frank frank  10162 Mai 10  2014 process_fragments.c
-rw-r--r-- 1 frank frank   1016 Mai 10  2014 process_fragments.h
-rw-r--r-- 1 frank frank   8752 Jun  9 22:45 process_fragments.o
-rw-r--r-- 1 frank frank   5664 Mai 10  2014 progressbar.c
-rw-r--r-- 1 frank frank   1203 Mai 10  2014 progressbar.h
-rw-r--r-- 1 frank frank   9824 Jun  9 22:45 progressbar.o
-rw-r--r-- 1 frank frank  11462 Jun  9 22:45 pseudo.c
-rw-r--r-- 1 frank frank   1651 Mai 10  2014 pseudo.h
-rw-r--r-- 1 frank frank  12656 Jun  9 22:45 pseudo.o
-rw-r--r-- 1 frank frank   3459 Mär  9  2014 read_file.c
-rw-r--r-- 1 frank frank   3632 Jun  9 22:45 read_file.o
-rw-r--r-- 1 frank frank  28736 Jun  9 22:45 read_fs.c
-rw-r--r-- 1 frank frank   1414 Mär  9  2014 read_fs.h
-rw-r--r-- 1 frank frank  23128 Jun  9 22:45 read_fs.o
-rw-r--r-- 1 frank frank  10176 Jun  9 22:45 read_xattrs.c
-rw-r--r-- 1 frank frank   4132 Mai 10  2014 restore.c
-rw-r--r-- 1 frank frank    967 Mai 10  2014 restore.h
-rw-r--r-- 1 frank frank   9516 Mai 10  2014 sort.c
-rw-r--r-- 1 frank frank   1215 Mär  9  2014 sort.h
-rw-r--r-- 1 frank frank  10384 Jun  9 22:45 sort.o
-rw-r--r-- 1 frank frank  26463 Jun  9 22:45 squashfs_compat.h
-rw-r--r-- 1 frank frank  13058 Jun  9 22:45 squashfs_fs.h
-rw-r--r-- 1 frank frank  20763 Jun  9 22:45 squashfs_swap.h
-rw-r--r-- 1 frank frank   2327 Jun  9 22:45 swap.c
-rw-r--r-- 1 frank frank   2712 Jun  9 22:45 swap.o
-rw-r--r-- 1 frank frank   9959 Jun  9 22:45 unsquash-1.c
-rw-r--r-- 1 frank frank  12168 Jun  9 22:45 unsquash-1.o
-rw-r--r-- 1 frank frank   8007 Jun  9 22:45 unsquash-2.c
-rw-r--r-- 1 frank frank  11856 Jun  9 22:45 unsquash-2.o
-rw-r--r-- 1 frank frank  11449 Jun  9 22:45 unsquash-3.c
-rw-r--r-- 1 frank frank  16744 Jun  9 22:45 unsquash-3.o
-rw-r--r-- 1 frank frank  11276 Mär  9  2014 unsquash-4.c
-rw-r--r-- 1 frank frank  17056 Jun  9 22:45 unsquash-4.o
-rwxr-xr-x 1 frank frank 716638 Jun  9 22:45 unsquashfs
-rw-r--r-- 1 frank frank  72711 Jun  9 22:45 unsquashfs.c
-rw-r--r-- 1 frank frank   6548 Jun  9 22:45 unsquashfs.h
-rw-r--r-- 1 frank frank   3163 Mär  9  2014 unsquashfs_info.c
-rw-r--r-- 1 frank frank   1036 Mai 10  2014 unsquashfs_info.h
-rw-r--r-- 1 frank frank   4992 Jun  9 22:45 unsquashfs_info.o
-rw-r--r-- 1 frank frank  76384 Jun  9 22:45 unsquashfs.o
-rw-r--r-- 1 frank frank   4258 Mär  9  2014 unsquashfs_xattr.c
-rw-r--r-- 1 frank frank  18845 Mai 10  2014 xattr.c
-rw-r--r-- 1 frank frank   3625 Mai 10  2014 xattr.h
-rw-r--r-- 1 frank frank  13742 Mär  9  2014 xz_wrapper.c
-rw-r--r-- 1 frank frank   1509 Jun  9 22:45 xz_wrapper.h
-rw-r--r-- 1 frank frank  12784 Jun  9 22:45 xz_wrapper.o
frank@frank-ThinkPad-X121e:~/freetz-trunk$ diff source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_
diff: source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk$ diff source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_
diff: source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk$ diff source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_
diff: source/host-tools/squashfs4.3/squashfs-tools/mksquashfs.c._save_: Datei oder Verzeichnis nicht gefunden
frank@frank-ThinkPad-X121e:~/freetz-trunk$

Wie weiter?
elsterkrug
 
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.