[Info] modfs - SquashFS-Image (AVM-Firmware) ändern für NAND-basierte FRITZ!Boxen

der "problembehaftete" Skriptbereich ist nach meiner Ansicht:

Code:
####################################################################################
#                                                                                  #
# now we check the signature with the openssl binary, we prepare the changed image #
# file in a subshell and pipe its output to openssl                                #
#                                                                                  #
####################################################################################
res="$( ( dd if="$image_file" bs=512 count=$seek_image status=none 2>/dev/null;
dd if=/dev/zero bs=512 count=2 status=none 2>/dev/null;
dd if="$image_file" bs=512 skip=$(( seek_image + 2 )) status=none 2>/dev/null ) |
openssl dgst -$algo -verify "$tmp/pubkey.der" -keyform der -signature "$tmp/var/signature")"
rc=$?
if [ $rc -ne 0 ]; then
        echo -e "Signature verification failed." 1>&2
        exit 64
fi
####################################################################################

"sh -x" check_signed_image Output nach "Über-Mounten" des AVM-busybox Binary durch das modfs-busybox Binary:
Code:
+ dd if=FRITZ.Box_7490_Labo /tmp/tmp.c8hHxX/pubkey bs=512 count=527 - status=n /t
WARNING: can't open config file: /var/custom_config/ssl/openssl.cnf
+ dd if=/dev/zero bs=512 count=2 status=none
+ dd if=FRITZ.Box_7490_Labor.113.06.69-41137.image bs=512 skip=52704 status=none
+ res=Verified OK
+ rc=0
+ [ 0 -ne 0 ]
[COLOR=#0000ff]+ echo -e Verification succeeded.[/COLOR]
Verification succeeded.
+ exit 0
+ rm -r /tmp/tmp.c8hHxX

"sh -x" check_signed_image Output ohne "Über-Mounten" des AVM-busybox Binary durch das modfs-busybox Binary:
Code:
+ dd if=FRITZ.Box_7490_Labor.113.06.69-41137.image bs=512 count=52702 status=none
+ openssl dgst -md5 -verify /tmp/tmp.1474570232.3694/pubkey.der -keyform der -signature /tmp/tmp.1474570232.3694/var/signature
WARNING: can't open config file: /var/custom_config/ssl/openssl.cnf
+ dd if=/dev/zero bs=512 count=2 status=none
+ dd if=FRITZ.Box_7490_Labor.113.06.69-41137.image bs=512 skip=52704 status=none
+ res=Verification Failure
+ rc=1
+ [ 1 -ne 0 ]
[COLOR=#ff0000]+ echo -e Signature verification failed.[/COLOR]
Signature verification failed.
+ exit 64
+ rm -r /tmp/tmp.1474570232.3694
 
Danke für die mount-syntax. Damit läuft die aktuelle 2002uhr version durch. Ohne nicht.
TX+LG

OT: Wäre es nicht sinnvoll (einfältig angemerkt) die avm-eigene busybox skripttechnisch nicht gleich auszutauschen/zu übermounten ...
 
AVM-busybox hat Probleme mit dem dd-Aufruf des check_signed_image Skripts:

Code:
# dd if=FRITZ.Box_7490_Labor.113.06.69-41137.image bs=512 count=52702 [B][COLOR=#ff0000]status=none[/COLOR][/B]
BusyBox v1.22.1 (2015-06-09 10:54:06 CEST) multi-call binary.

Usage: dd [if=FILE] [of=FILE] [ibs=N] [obs=N] [bs=N] [count=N] [skip=N]
        [seek=N] [conv=notrunc|noerror|sync|fsync]

Copy a file with converting and formatting

        if=FILE         Read from FILE instead of stdin
        of=FILE         Write to FILE instead of stdout
        bs=N            Read and write N bytes at a time
        ibs=N           Read N bytes at a time
        obs=N           Write N bytes at a time
        count=N         Copy only N input blocks
        skip=N          Skip N input blocks
        seek=N          Skip N output blocks
        conv=notrunc    Don't truncate output file
        conv=noerror    Continue after read errors
        conv=sync       Pad blocks with zeros
        conv=fsync      Physically write data out before finishing
        conv=swab       Swap every pair of bytes

N may be suffixed by c (1), w (2), b (512), kD (1000), k (1024), MD, M, GD, G

#
 
Zuletzt bearbeitet:
Wie geschrieben, das sollte eigentlich alles bei der Verwendung aus "modfs" heraus keine Rolle mehr spielen nach der letzten Änderung, da dann das "dd"-Applet aus der "modfs"-BusyBox zum Einsatz kommen sollte.

Da meine ich die Version "0.3.5-220920162049" ... alles davor bitte mal vergessen, auch wenn die Fehlersuche spannend sein mag.

Ich will nur nicht mit dem Einbau von "juischeckupdate" in "modfs" weitermachen, bevor das Signatur-Thema nicht vom Tisch ist, damit da keine Überschneidungen von Patches auftreten.
 
Zuletzt bearbeitet:
ich teste mal "dd" durch "bin/VR9/busybox dd" im Skript check_signed_image zu ersetzen

- - - Aktualisiert - - -

nun funktioniert es:

Code:
# /var/media/ftp/bin/diff bin/VR9/check_signed_image._save_  bin/VR9/check_signed_image
--- bin/VR9/check_signed_image._save_
+++ bin/VR9/check_signed_image
@@ -610,9 +610,9 @@
 # file in a subshell and pipe its output to openssl                                #
 #                                                                                  #
 ####################################################################################
-res="$( ( dd if="$image_file" bs=512 count=$seek_image status=none 2>/dev/null;
-dd if=/dev/zero bs=512 count=2 status=none 2>/dev/null;
-dd if="$image_file" bs=512 skip=$(( seek_image + 2 )) status=none 2>/dev/null ) |
+res="$( ( [COLOR=#0000ff]bin/VR9/busybox dd[/COLOR] if="$image_file" bs=512 count=$seek_image status=none 2>/dev/null;
+[COLOR=#0000ff]bin/VR9/busybox dd[/COLOR] if=/dev/zero bs=512 count=2 status=none 2>/dev/null;
+[COLOR=#0000ff]bin/VR9/busybox dd[/COLOR] if="$image_file" bs=512 skip=$(( seek_image + 2 )) status=none 2>/dev/null ) |
 openssl dgst -$algo -verify "$tmp/pubkey.der" -keyform der -signature "$tmp/var/signature")"
 rc=$?
 if [ $rc -ne 0 ]; then
#

Code:
# ./bin/VR9/check_signed_image  FRITZ.Box_7490_Labor.113.06.69-41137.image -b
./bin/VR9/check_signed_image: line 336: mktemp: not found
Found OpenSSL 1.0.2i  22 Sep 2016
Check dgst command ... OK
Check rsautl command ... OK
Trying to determine the correct key now ...
Checking the public key from /etc/avm_firmware_public_key1 ... OK
Checking support for the used hash algorithm md5 ... OK
[COLOR=#0000ff]Verification succeeded.[/COLOR]
#
 
Ein automatisches "bind"-Mount für die BusyBox ist keine wirklich gute Idee ... man wird es nie wieder los. Da dann auch das "umount"-Kommando aus dieser BusyBox verwendet wird, ist die selbst dann "in use", wenn kein Service/Daemon laufen sollte, der mit dieser "overmounted version" arbeitet.

Die Lösung mit dem "respawn" mit der richtigen Shell-Version aus der "modfs"-BusyBox sollte das eigentlich genauso erledigen können - wenn das nicht so ist (ich habe halt kein System, wo eine AVM-BusyBox beim Aufruf von "modfs" aktiv wäre), dann wäre zu klären, woran das am Ende liegt.

Es kamen hier ja auch mehrere Fehler zusammen ... der "127" beim Aufruf von "openssl dgst" kann ja nichts mit dem "dd"-Applet zu tun haben. Jetzt müssen wir die mal in aller Ruhe auseinanderklamüsern, damit da nichts durcheinander gerät.

- - - Aktualisiert - - -

@Pokemon20021:
Interessanter wäre es, was beim Aufruf von "modfs" mit der Signaturprüfung im originalen Zustand passiert.

Das "status=none" könnte man dem "dd" auch über eine Umleitung von STDERR nach "/dev/null" beibringen, wenn die AVM-Version die Option nicht kennt. EDIT: Ich sehe gerade, daß ich sogar beides verwendet habe ... das "status=none" unterdrückt ja nur die Ausgabe, wieviele Blöcke gelesen und geschrieben wurden.
 
Zuletzt bearbeitet:
Hallo PeterPawn,
die modfs_version=0.3.5-220920162049 läuft bei mir noch in Fehler

mit der Anpassung des check_signed_image Skripts, siehe #846 geht des bei mir.
EDIT: muß nochmal Test nach Reboot machen melde mich anschließend.

Gruß
Pokemon20021
 
Zuletzt bearbeitet:
Das verstehe ich aber nicht ... wenn "modfs" die eigene BusyBox verwendet und der Suchpfad (wird im Debug-Log protokolliert) nur das Verzeichnis mit den "modfs"-Kommandos umfaßt, dann dürfte das falsche "dd" in der AVM-Version gar nicht mehr aufgerufen werden.

Du kriegst es doch hin, in der ersten Zeile von "check_signed_image" einfach noch ein "-x" nach dem SheBang zu setzen, dann wird auch beim Aufruf aus "modfs" heraus die Debug-Funktion der Shell für das Skript verwendet (steht dann allerdings nicht im Debug-Log, sondern in der Console).
 
EDIT: muß nochmal Test nach Reboot machen melde mich anschließend.

Gruß
Pokemon20021

- - - Aktualisiert - - -

nun ist noch ein Problem im 2. Skript check_signed_image

Code:
# ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41137.image
respawn script with custom BusyBox shell
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.69-41137

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '/var/media/ftp/USB-Stick-01/download/modfs/FRITZ.Box_7490_Labor.113.06.69-41137.image' wird als Quelle für die Aktualisierung genutzt.
Überprüfen der Signatur der geladenen Datei ...+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z check ]
+ [ xcheck == xcheck ]
+ [ -x openssl ]
+ openssl version
+ [ 0 -ne 0 ]
+ [ -x check_signed_image ]
+ exit 0
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z verify ]
+ [ xverify == xcheck ]
+ [ xverify == xverify ]
+ [ -z /var/media/ftp/USB-Stick-01/download/modfs/FRITZ.Box_7490_Labor.113.06.69-41137.image ]
+ [ -f /var/media/ftp/USB-Stick-01/download/modfs/FRITZ.Box_7490_Labor.113.06.69-41137.image ]
[COLOR=#ff0000]+ check_signed_image /var/media/ftp/USB-Stick-01/download/modfs/FRITZ.Box_7490_Labor.113.06.69-41137.image -b
+ [ 33 -ne 0 ]
+ exit 1
 Fehler[/COLOR]
#
 
Ich hatte ja auch dieses Skript im Auge, als es um das Debuggen ging (s.o.) ... das andere ist nur ein kleiner Wrapper, damit man durch das Wegwerfen von "check_image_signature" die Prüfung einfach auslassen kann.

- - - Aktualisiert - - -

Spaßig ist es, daß der Fehler "33" wieder auf ein Problem mit "openssl dgst" hinweist.
 
Ein automatisches "bind"-Mount für die BusyBox ist keine wirklich gute Idee ... man wird es nie wieder los. Da dann auch das "umount"-Kommando aus dieser BusyBox verwendet wird, ist die selbst dann "in use", wenn kein Service/Daemon laufen sollte, der mit dieser "overmounted version" arbeitet...

Ok war nur eine Überlegung. Ich hatte halt nur das aktuelle modfs-script "kreuzweise" auf Partition 1 2 mit jeweils 06.60 und Labor41137 durchprobiert. Nach jeweiligem übermounten lief modfs durch. Nach einem reboot erschien wieder die AVM-busybox.

LG und sorry. Ich verharre besser an der Aussenlinie ;)

In "Otto-Manier" -hier- Kleinhirn an Grosshirn wollte ich nicht als unbeutende "Milz" dazwischenfunken.
 
Zuletzt bearbeitet:
Das Problem beim direkten Aufruf von "check_signed_image" aus einer anderen BusyBox sollte in "modfs" selbst nicht existieren, da sollte das "respawn" mit der richtigen Shell helfen.

Hallo PeterPawn,
ich denke es geht hier diesen Code-Teil:

Code:
# cat modfs
SNIP
if [ x"$MODFS_RUN_SHELL" != x"1" ]; then
        export PATH=$(bindir)
        export MODFS_RUN_SHELL=1
        echo "respawn script with custom BusyBox shell" 1>&2
        $shl $0 $*
        exit $?
fi

Frage: Wie wird hier die Umgebungsvariable MODFS_RUN_SHELL gesetzt
so dass dieser "respan" funktioniert.

Gruß
Pokemon20021
 
Steht doch eigentlich da ... wenn die Variable "MODFS_RUN_SHELL" nicht den Wert "1" hat, dann wird ein neuer Suchpfad gesetzt (der nur das "bin/$HWRevision"-Verzeichnis enthält), diese Variable auf "1" gesetzt und beide "exportiert", was sie für Prozesse erreichbar macht, die von diesem Moment an gestartet werden. Allerdings wirkt sich das "export" nur auf das eigene Environment und das aller "childs" aus (solange es aus einem Skript heraus aufgerufen wird) ... wenn die eigene Instanz endet, ist diese Änderung normalerweise auch wieder hinfällig (daher braucht es kein "Zurücksetzen" auf "0").
Code:
$ env | grep MODFS;./modfs update ../system/FB7490/firmware/FRITZ.Box_7490_Labor.113.06.69-41137.image;env | grep MODFS
[COLOR="#008000"]respawn script with custom BusyBox shell[/COLOR]
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
[...]
Ausführung abgebrochen, das Dateisystem in der inaktiven Partition bleibt unverändert.
$
Die Variable existierte also vorher nicht, wurde angelegt und "modfs" rief sich selbst neu auf (dabei muß sie existiert haben, sonst wäre das in eine Endlosschleife mit Rekursionen gelaufen) und nach dem Ende ist die Variable auch nicht mehr vorhanden.

Die Zeile "$shl $0 $*" ruft dann die ermittelte BusyBox-Shell (das ist der absolute Pfad zur "modfs"-BusyBox mit "sh" als auszuführendem Kommando, steht ein paar Zeilen darüber) mit dem Namen des aktuellen Skripts (also "modfs") und allen original angegebenen Parametern auf.

Am Ende soll eigentlich genau das sicherstellen, daß die richtige BusyBox verwendet wird und diese sollte mit "PREFER_APPLETS" übersetzt sein, womit dann für jedes Kommando zuerst nach einem "internen" Applet in der BusyBox gesucht werden sollte, bevor irgendwelche Links im Dateisystem berücksichtigt werden. Da "dd", "mktemp", usw. dann aus dieser BusyBox verwendet werden sollten, erwarte(te) ich eigentlich keine weiteren Probleme mehr.

Allerdings gibt es noch eine Umgebungsvariable "SHELL" ... die könnte noch auf dem ursprünglichen Wert "/bin/sh" stehen und dafür sorgen, daß die dort verlinkte Shell benutzt wird (und das ist die aus dem laufenden System), wenn das Shell-Skript "check_image_signature" aufgerufen wird. Ich habe mal den Aufruf etwas expliziter gestaltet (das war bei den "modscripts" bereits vorher der Fall) - vielleicht läuft es jetzt ja besser. Parallel habe ich gleich noch die SHELL-Variable im Environment auf die "modfs"-BusyBox gesetzt, beide Maßnahmen zusammen sind vielleicht doppelt gemoppelt, aber wenn die jetzt nicht greifen, dann gebe ich es auf.

Die verwendete BusyBox-Version wird nebenbei auch gleich noch protokolliert, damit ist das in der Zukunft auch klar im Debug-Log zu lesen, welche verwendet wird.
 
Zum Nachschauen wo es hakt.

Code:
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.60

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '/var/media/ftp/modd7/41137.image' wird als Quelle für die Aktualisierung genutzt.
Überprüfen der Signatur der geladenen Datei ... Fehler
./modfs: [COLOR=#ff0000]line 2625: rm: not found[/COLOR]
# showshringbuf modfs
2016-09-23 11:58:47.978 - modfs: starting modfs script version 0.3.5-[COLOR=#0000ff]230920160936[/COLOR]
2016-09-23 11:58:48.008 - modfs: script=./modfs
2016-09-23 11:58:48.038 - modfs: using language de
2016-09-23 11:58:48.064 - modfs: PATH=/var/media/ftp/modd7/bin/185
2016-09-23 11:58:48.089 - modfs: SHELL=/var/tmp/modfs_sh
2016-09-23 11:58:48.120 - modfs: SHLVL=5
2016-09-23 11:58:48.169 - modfs: BusyBox: BusyBox v1.24.2 (2016-04-02 23:18:36 CEST) multi-call binary.
2016-09-23 11:58:48.208 - modfs: using temporary file list from /var/tmp/5299_filelist_1474624728
2016-09-23 11:58:48.236 - modfs: cleanup trap set
2016-09-23 11:58:48.262 - modfs: invoked with: update ./41137.image
2016-09-23 11:58:48.290 - modfs: noversioncheck=1, update_file_provided=1
2016-09-23 11:58:48.318 - modfs: firmware_update_file=./41137.image
2016-09-23 11:58:48.346 - check_prerequisites: starting checks
2016-09-23 11:58:48.417 - progress: mode=1, msg=Ermitteln der Hardware-Version ...
2016-09-23 11:58:48.463 - check_prerequisites: hwrev=185
2016-09-23 11:58:48.541 - progress: mode=3, msg= OK
2016-09-23 11:58:48.618 - progress: mode=1, msg=Prüfen, ob die Hardware-Version unterstützt wird ...
2016-09-23 11:58:48.655 - check_prerequisites: supported hardware revision
2016-09-23 11:58:48.728 - progress: mode=3, msg= OK
2016-09-23 11:58:48.803 - progress: mode=1, msg=Suchen der Einstellung zur Umschaltung auf das alternative System ...
2016-09-23 11:58:48.845 - check_prerequisites: system switch value is 1
2016-09-23 11:58:48.911 - progress: mode=3, msg= OK
2016-09-23 11:58:48.994 - progress: mode=1, msg=Prüfen der aktuell zu startenden Systemversion ...
2016-09-23 11:58:49.161 - progress: mode=3, msg= OK
2016-09-23 11:58:49.248 - progress: mode=1, msg=Suchen der aktuellen Kernel-Partition ...
2016-09-23 11:58:49.284 - check_prerequisites: kernel device is /dev/mtdblock2
2016-09-23 11:58:49.364 - progress: mode=3, msg= OK
2016-09-23 11:58:49.434 - progress: mode=1, msg=Suchen der alternativen Kernel-Partition ...
2016-09-23 11:58:49.473 - check_prerequisites: alternative kernel device is /dev/mtdblock0
2016-09-23 11:58:49.554 - progress: mode=3, msg= OK
2016-09-23 11:58:49.608 - progress: mode=1, msg=Vergleich der Systeme in den Kernel-Partitionen ...
2016-09-23 11:58:49.677 - progress: mode=3, msg= übersprungen
2016-09-23 11:58:49.739 - progress: mode=1, msg=Suchen der aktuellen Dateisystem-Partition ...
2016-09-23 11:58:49.782 - check_prerequisites: filesystem device is /dev/mtdblock3
2016-09-23 11:58:49.873 - progress: mode=3, msg= OK
2016-09-23 11:58:49.951 - progress: mode=1, msg=Suchen der alternativen Dateisystem-Partition ...
2016-09-23 11:58:49.988 - check_prerequisites: alternative filesystem device is /dev/mtdblock1
2016-09-23 11:58:50.057 - progress: mode=3, msg= OK
2016-09-23 11:58:50.137 - progress: mode=1, msg=Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ...
2016-09-23 11:58:50.180 - check_free_tmpfs: wanted=25165824, needed=10485760
2016-09-23 11:58:50.223 - check_free_tmpfs: exiting, rc=0
2016-09-23 11:58:50.289 - progress: mode=3, msg= OK
2016-09-23 11:58:50.359 - progress: mode=1, msg=Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ...
2016-09-23 11:58:50.390 - find_free_storage_space: needed=140509184, accept=
2016-09-23 11:58:50.509 - get_nand_mountpoint: location=/var/media/ftp
2016-09-23 11:58:50.538 - check_free_nand: size=140509184, nand=/var/media/ftp, free=20127744
2016-09-23 11:58:50.574 - check_space: needed=140509184
2016-09-23 11:58:50.716 - get_possible_usb_mountpoints: on=/var/media/ftp/test
2016-09-23 11:58:50.735 - get_possible_usb_mountpoints: count=1
2016-09-23 11:58:50.755 - check_space:  /var/media/ftp/test:13607066K
2016-09-23 11:58:50.776 - find_free_storage_space:   /var/media/ftp/test:13607066K
2016-09-23 11:58:50.796 - find_free_storage_space: exiting, rc=0
2016-09-23 11:58:50.847 - progress: mode=3, msg= OK
2016-09-23 11:58:50.865 - check_prerequisites: exiting, rc=0
2016-09-23 11:58:51.318 - modfs: source=file_update
2016-09-23 11:58:51.343 - modfs: firmware update file=./41137.image
2016-09-23 11:58:51.397 - progress: mode=3, msg=Die angegebene Datei '/var/media/ftp/modd7/41137.image' wird als Quelle für die Aktualisierung genutzt.
2016-09-23 11:58:51.419 - find_free_space: wanted=100M, order=tmpfs nand storage
2016-09-23 11:58:51.445 - check_free_tmpfs: wanted=104857600, needed=104857600
2016-09-23 11:58:51.471 - check_free_tmpfs: exiting, rc=0
2016-09-23 11:58:51.489 - find_free_space: tmpfs=/var/tmp
2016-09-23 11:58:51.507 - find_free_space: exiting, rc=0
2016-09-23 11:58:51.527 - get_working_directory: /var/tmp
2016-09-23 11:58:51.546 - modfs: working directory=/var/tmp
2016-09-23 11:58:51.573 - modfs: image directory=/var/tmp/1474624731
2016-09-23 11:58:51.591 - try_to_check_integrity: target=/var/media/ftp/modd7/41137.image
2016-09-23 11:58:51.641 - progress: mode=1, msg=Überprüfen der Signatur der geladenen Datei ...
2016-09-23 11:58:51.789 - progress: mode=3, msg= Fehler
2016-09-23 11:58:51.808 - try_to_check_integrity: integrity check failed, error code was 1
2016-09-23 11:58:51.827 - try_to_check_integrity: exiting, rc=205
2016-09-23 11:58:51.846 - cleanup: running cleanup from file /var/tmp/5299_filelist_1474624728
2016-09-23 11:58:51.864 - /var/media/ftp/modd7/bin/185/busybox rm -r /var/tmp/1474624731
#

https://github.com/PeterPawn/modfs/blob/master/modfs#L2625

LG
 
Zuletzt bearbeitet:
Ok, das fehlende "rm" habe ich selbst verschuldet, aber das zeigt auch deutlich, daß die Änderung des Suchpfades sogar für die "äußere Shell-Instanz" funktioniert. Da es für die AVM-Shell jetzt auch kein Verzeichnis "/bin" mehr im Pfad gibt (da stünde der "rm"-Symlink), wird kein "rm" gefunden und die AVM-BusyBox sucht auch nicht zuerst nach Applets. Das wäre leicht zu korrigieren ... warum der Fehler bei der Prüfung weiterhin existiert, ist viel rätselhafter.

Ich baue nachher mal eine Version, die ihrerseits andere Skript-Dateien mit aktivierter Debug-Ausgabe in eine Datei aufruft, wo man das noch ausführlicher nachlesen kann (der Ringpuffer für das "modfs"-Protokoll ist dazu vermutlich zu klein) ... wenn sie fertig ist, vermelde ich das hier.

- - - Aktualisiert - - -

Die neu eingecheckte Version (240920160241) bietet jetzt die Möglichkeit, direkt aufgerufene Skript-Dateien (das gilt für "modscripts" und die hinzugekommenen externen Dateien zur Signaturprüfung) zu debuggen. Dazu muß beim Aufruf die Variable "MODFS_DEBUG_SHELL" auf "1" gesetzt sein, das geht u.a. durch die Angabe von "MODFS_DEBUG_SHELL=1" direkt vor dem Kommando auf derselben Zeile.

Bei der Verwendung dieser Möglichkeit wird in die Datei "/var/tmp/modfs_debug_scripts.log" geschrieben, diese wird naturgemäß etwas größer sein (deshalb auch eine gesonderte Datei und keine Integration in die andere Debug-Ausgabe) und wenn jemand den Aufruf mit dieser Debug-Option testet, dann die Ausgabedatei bitte als Anhang hinterlassen und nicht in einen "CODE"-Block einbetten. Das kann im Browser niemand sinnvoll auswerten.

Mit dieser Option kann man dann auch einfacher neue Modifikationen austesten, insofern lohnte sich das Einbauen ohnehin ... aber am meisten würde mich im Moment wirklich interessieren, woran die Signaturprüfung scheitern könnte. In diesem Zusammenhang habe ich das auch etwas geändert, jetzt sieht man am Return-Code von "check_image_signature" eher, welcher Fehler in "check_signed_image" aufgetreten ist.
 
Die neu eingecheckte Version (240920160241) bietet jetzt die Möglichkeit, direkt aufgerufene Skript-Dateien (das gilt für "modscripts" und die hinzugekommenen externen Dateien zur Signaturprüfung) zu debuggen. Dazu muß beim Aufruf die Variable "MODFS_DEBUG_SHELL" auf "1" gesetzt sein, das geht u.a. durch die Angabe von "MODFS_DEBUG_SHELL=1" direkt vor dem Kommando auf derselben Zeile.

Hallo PeterPawn,
die neue modfs Version 240920160241 ist bei meiner FB7490 in div. Fehler gelaufen:

Code:
# ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
[COLOR=#ff0000]./modfs: line 2630: mkdir: not found
./modfs: line 2630: ln: not found
[/COLOR]respawn script with custom BusyBox shell, SHLVL=4
/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185/busybox sh ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.69-41137

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image' wird als Quelle für die Aktualisierung genutzt.
[COLOR=#ff0000]Überprüfen der Signatur der geladenen Datei .../var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185/wrap_script: line 8: /var/tmp/modfs/sh: not found
[/COLOR] übersprungen
Extrahieren des neuen Kernel-Images aus dem Firmware-Image ... OK
Extrahieren des Flash-Filesystems aus dem Firmware-Image ... OK
Extrahieren des Wurzeldateisystems aus dem Flash-Filesystem ... OK
Entpacken des root-Dateisystems für die Modifikationen ... OK
SNIP
[COLOR=#ff0000]./modfs: line 2630: rm: not found[/COLOR]


Code:
# showshringbuf modfs
2016-09-24 07:52:49.414 - modfs: starting modfs script version 0.3.5-240920160241
2016-09-24 07:52:49.432 - modfs: script=./modfs
2016-09-24 07:52:49.452 - modfs: using language de
2016-09-24 07:52:49.470 - modfs: PATH=/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185
2016-09-24 07:52:49.488 - modfs: SHELL=/var/tmp/modfs/sh
2016-09-24 07:52:49.505 - modfs: SHLVL=5
2016-09-24 07:52:49.534 - modfs: BusyBox: BusyBox v1.24.2 (2016-04-02 23:18:36 CEST) multi-call binary.
2016-09-24 07:52:49.560 - modfs: using temporary file list from /var/tmp/7748_filelist_1474696369
2016-09-24 07:52:49.577 - modfs: cleanup trap set
2016-09-24 07:52:49.595 - modfs: invoked with: update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
2016-09-24 07:52:49.615 - modfs: noversioncheck=1, update_file_provided=1
2016-09-24 07:52:49.632 - modfs: firmware_update_file=./FRITZ.Box_7490_Labor.113.06.69-41222.image
2016-09-24 07:52:49.658 - check_prerequisites: starting checks
2016-09-24 07:52:49.707 - progress: mode=1, msg=Ermitteln der Hardware-Version ...
2016-09-24 07:52:49.732 - check_prerequisites: hwrev=185
2016-09-24 07:52:49.780 - progress: mode=3, msg= OK
2016-09-24 07:52:49.828 - progress: mode=1, msg=Prüfen, ob die Hardware-Version unterstützt wird ...
2016-09-24 07:52:49.849 - check_prerequisites: supported hardware revision
2016-09-24 07:52:49.898 - progress: mode=3, msg= OK
2016-09-24 07:52:49.947 - progress: mode=1, msg=Suchen der Einstellung zur Umschaltung auf das alternative System ...
2016-09-24 07:52:49.973 - check_prerequisites: system switch value is 0
2016-09-24 07:52:50.022 - progress: mode=3, msg= OK
2016-09-24 07:52:50.071 - progress: mode=1, msg=Prüfen der aktuell zu startenden Systemversion ...
2016-09-24 07:52:50.170 - progress: mode=3, msg= OK
2016-09-24 07:52:50.218 - progress: mode=1, msg=Suchen der aktuellen Kernel-Partition ...
2016-09-24 07:52:50.243 - check_prerequisites: kernel device is /dev/mtdblock0
2016-09-24 07:52:50.292 - progress: mode=3, msg= OK
2016-09-24 07:52:50.340 - progress: mode=1, msg=Suchen der alternativen Kernel-Partition ...
2016-09-24 07:52:50.365 - check_prerequisites: alternative kernel device is /dev/mtdblock2
2016-09-24 07:52:50.414 - progress: mode=3, msg= OK
2016-09-24 07:52:50.463 - progress: mode=1, msg=Vergleich der Systeme in den Kernel-Partitionen ...
2016-09-24 07:52:50.512 - progress: mode=3, msg= übersprungen
2016-09-24 07:52:50.561 - progress: mode=1, msg=Suchen der aktuellen Dateisystem-Partition ...
2016-09-24 07:52:50.585 - check_prerequisites: filesystem device is /dev/mtdblock1
2016-09-24 07:52:50.634 - progress: mode=3, msg= OK
2016-09-24 07:52:50.682 - progress: mode=1, msg=Suchen der alternativen Dateisystem-Partition ...
2016-09-24 07:52:50.707 - check_prerequisites: alternative filesystem device is /dev/mtdblock3
2016-09-24 07:52:50.756 - progress: mode=3, msg= OK
2016-09-24 07:52:50.804 - progress: mode=1, msg=Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ...
2016-09-24 07:52:50.829 - check_free_tmpfs: wanted=25165824, needed=10485760
2016-09-24 07:52:50.855 - check_free_tmpfs: exiting, rc=0
2016-09-24 07:52:50.903 - progress: mode=3, msg= OK
2016-09-24 07:52:50.952 - progress: mode=1, msg=Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ...
2016-09-24 07:52:50.975 - find_free_storage_space: needed=140509184, accept=
2016-09-24 07:52:51.088 - get_nand_mountpoint: location=/var/media/ftp
2016-09-24 07:52:51.116 - check_free_nand: size=140509184, nand=/var/media/ftp, free=74772480
2016-09-24 07:52:51.151 - check_space: needed=140509184
2016-09-24 07:52:51.286 - get_possible_usb_mountpoints: on=/var/media/ftp/USB-Stick-01
2016-09-24 07:52:51.326 - get_possible_usb_mountpoints: count=1
2016-09-24 07:52:51.346 - check_space:  /var/media/ftp/USB-Stick-01:87434636K
2016-09-24 07:52:51.367 - find_free_storage_space:   /var/media/ftp/USB-Stick-01:87434636K
2016-09-24 07:52:51.385 - find_free_storage_space: exiting, rc=0
2016-09-24 07:52:51.435 - progress: mode=3, msg= OK
2016-09-24 07:52:51.453 - check_prerequisites: exiting, rc=0
2016-09-24 07:52:51.909 - modfs: source=file_update
2016-09-24 07:52:51.933 - modfs: firmware update file=./FRITZ.Box_7490_Labor.113.06.69-41222.image
2016-09-24 07:52:51.986 - progress: mode=3, msg=Die angegebene Datei '/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image' wird als Quelle für die Aktualisierung genutzt.
2016-09-24 07:52:52.007 - find_free_space: wanted=100M, order=tmpfs nand storage
2016-09-24 07:52:52.031 - check_free_tmpfs: wanted=104857600, needed=104857600
2016-09-24 07:52:52.057 - check_free_tmpfs: exiting, rc=0
2016-09-24 07:52:52.075 - find_free_space: tmpfs=/var/tmp
2016-09-24 07:52:52.093 - find_free_space: exiting, rc=0
2016-09-24 07:52:52.112 - get_working_directory: /var/tmp
2016-09-24 07:52:52.131 - modfs: working directory=/var/tmp
2016-09-24 07:52:52.157 - modfs: image directory=/var/tmp/1474696372
#
#
#
2016-09-24 07:52:52.176 - try_to_check_integrity: target=/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image
2016-09-24 07:52:52.224 - progress: mode=1, msg=Überprüfen der Signatur der geladenen Datei ...
2016-09-24 07:52:52.303 - progress: mode=3, msg= übersprungen
[COLOR=#ff0000]2016-09-24 07:52:52.321 - try_to_check_integrity: some components are missing, unable to verify signature
[/COLOR]#
#
#
2016-09-24 07:52:52.339 - try_to_check_integrity: exiting, rc=0
2016-09-24 07:52:52.387 - progress: mode=1, msg=Extrahieren des neuen Kernel-Images aus dem Firmware-Image ...
2016-09-24 07:52:52.406 - extract_kernel: src=/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image, target=/var/tmp/1474696372/kernel.image
2016-09-24 07:52:52.469 - extract_kernel: exiting, rc=0
2016-09-24 07:52:52.516 - progress: mode=3, msg= OK
2016-09-24 07:52:52.564 - progress: mode=1, msg=Extrahieren des Flash-Filesystems aus dem Firmware-Image ...
2016-09-24 07:52:52.582 - extract_filesystem: src=/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image, target=/var/tmp/1474696372/filesystem.image
2016-09-24 07:52:52.984 - extract_filesystem: exiting, rc=0
2016-09-24 07:52:53.031 - progress: mode=3, msg= OK
2016-09-24 07:52:53.081 - progress: mode=1, msg=Extrahieren des Wurzeldateisystems aus dem Flash-Filesystem ...


und bei Aufruf "MODFS_DEBUG_SHELL=1 ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image"
ergibt sich folgende debug log Datei.
Code:
# ls -la /var/tmp/modfs_debug_scripts.log
-rw-r--r--    1 root     root           354 Sep 24 08:13 /var/tmp/modfs_debug_scripts.log
# cat /var/tmp/modfs_debug_scripts.log
<<<<<<<<<< check_image_signature check >>>>>>>>>>
[COLOR=#ff0000]/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185/wrap_script: line 8: /var/tmp/modfs/sh: not found
[/COLOR]<<<<<<<<<< check_image_signature check >>>>>>>>>>
[COLOR=#ff0000]/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185/wrap_script: line 8: /var/tmp/modfs/sh: not found
[/COLOR]#

ich hoffe es hilft.

Gruß
Pokemon20021

- - - Aktualisiert - - -

Hallo PeterPawn und andere Interessierte,
nach Hinzufügen von 3 Softlinks im bin/VR9 Verzeichnis waren die Fehlermeldungen bzgl. "mkdir, ln, rm" weg

Code:
# cd bin
# cd VR9/
# ls -la
drwxr-xr-x    2 root     root          4096 Sep 24 07:46 .
drwxr-xr-x    3 root     root          4096 Sep 24 07:46 ..
-rwxr-xr-x    1 root     root       1196472 Apr  2 23:20 busybox
-r--r-----    1 root     root         25729 Mar 18  2016 busybox.config
-r-xr-xr--    1 root     root          3657 Sep 24 02:52 check_image_signature
-r-xr-xr--    1 root     root         27924 Sep 22 20:49 check_signed_image
-rwxr-xr-x    1 root     root        466472 Apr  2 23:45 e2fsck
-rwxr-xr-x    1 root     root        354504 Apr  2 23:45 mke2fs
-rwxr-xr-x    1 root     root        356116 Apr  3 00:03 mksquashfs3
-rwxr-xr-x    1 root     root        390780 Apr  3 00:04 mksquashfs4
-rwxr-xr-x    1 1000     1000       1961304 Sep 22 19:04 openssl
-rwxr-xr-x    1 root     root        389864 Jul  3 08:50 unsquashfs
-rwxr-xr-x    1 root     root        261712 Apr  3 00:03 unsquashfs3
-rwxr-xr-x    1 root     root        316112 Apr  3 00:04 unsquashfs4
-rwxr-xr-x    1 root     root           195 Sep 24 02:28 wrap_script
# [COLOR=#0000ff]ln -s busybox mkdir[/COLOR]
# [COLOR=#0000ff]ln -s busybox ln[/COLOR]
#[COLOR=#0000ff] ln -s busybox rm[/COLOR]
# ls -la
drwxr-xr-x    2 root     root          4096 Sep 24 08:36 .
drwxr-xr-x    3 root     root          4096 Sep 24 07:46 ..
-rwxr-xr-x    1 root     root       1196472 Apr  2 23:20 busybox
-r--r-----    1 root     root         25729 Mar 18  2016 busybox.config
-r-xr-xr--    1 root     root          3657 Sep 24 02:52 check_image_signature
-r-xr-xr--    1 root     root         27924 Sep 22 20:49 check_signed_image
-rwxr-xr-x    1 root     root        466472 Apr  2 23:45 e2fsck
lrwxrwxrwx    1 root     root             7 Sep 24 08:34 ln -> busybox
lrwxrwxrwx    1 root     root             7 Sep 24 08:34 mkdir -> busybox
-rwxr-xr-x    1 root     root        354504 Apr  2 23:45 mke2fs
-rwxr-xr-x    1 root     root        356116 Apr  3 00:03 mksquashfs3
-rwxr-xr-x    1 root     root        390780 Apr  3 00:04 mksquashfs4
-rwxr-xr-x    1 1000     1000       1961304 Sep 22 19:04 openssl
lrwxrwxrwx    1 root     root             7 Sep 24 08:36 rm -> busybox
-rwxr-xr-x    1 root     root        389864 Jul  3 08:50 unsquashfs
-rwxr-xr-x    1 root     root        261712 Apr  3 00:03 unsquashfs3
-rwxr-xr-x    1 root     root        316112 Apr  3 00:04 unsquashfs4
-rwxr-xr-x    1 root     root           195 Sep 24 02:28 wrap_script
#


Code:
# ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
respawn script with custom BusyBox shell, SHLVL=4
/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185/busybox sh ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.69-41137

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image' wird als Quelle für die Aktualisierung genutzt.
Überprüfen der Signatur der geladenen Datei ... Fehler
#

und mit "MODFS_DEBUG_SHELL=1" gesetzt:
Code:
# MODFS_DEBUG_SHELL=1 ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
respawn script with custom BusyBox shell, SHLVL=4
/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185/busybox sh ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.69-41137

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image' wird als Quelle für die Aktualisierung genutzt.
[COLOR=#ff0000]Überprüfen der Signatur der geladenen Datei ... Fehler[/COLOR]

Code:
# ls -la /var/tmp/modfs_debug_scripts.log
-rw-r--r--    1 root     root          6406 Sep 24 08:39 /var/tmp/modfs_debug_scripts.log
# cat /var/tmp/modfs_debug_scripts.log
<<<<<<<<<< check_image_signature check >>>>>>>>>>
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z check ]
+ [ xcheck == xcheck ]
+ [ -x openssl ]
+ openssl version
+ [ 0 -ne 0 ]
+ [ -x check_signed_image ]
+ exit 0
<<<<<<<<<< check_image_signature verify /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image >>>>>>>>>>
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z verify ]
+ [ xverify == xcheck ]
+ [ xverify == xverify ]
+ [ -z /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ [ -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ [ x1 == x1 ]
+ debug=-x
+ debuglog=/var/tmp/modfs_debug_scripts.log
+ /var/tmp/modfs/sh -x check_signed_image /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image -b
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ eva_prompt=Eva_AVM
+ box_key_name=/var/flash/websrv_ssl_key.pem
+ box_cert_name1=/var/flash/websrv_ssl_cert.pem
+ box_cert_name2=/var/tmp/websrv_ssl_cert.pem
+ [ -z /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ image_file=/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image
+ [ -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ mktemp -d
[COLOR=#ff0000]mktemp: applet not found[/COLOR]
+ tmp=
+ [ 1 -eq 127 ]
+ trap rm -r "" EXIT HUP INT
+ show_version
+ local v
+ openssl version
+ v=OpenSSL 1.0.2i  22 Sep 2016
+ [ 0 -eq 127 ]
+ echo -e Found \x1B[1;34mOpenSSL 1.0.2i  22 Sep 2016\x1B[0m
Found OpenSSL 1.0.2i  22 Sep 2016
+ return 0
+ [ 0 -ne 0 ]
+ openssl version
+ sed -n -e s|WARNING: can't open config file: \(.*\)$|\1|p
+ cnf=/var/custom_config/ssl/openssl.cnf
+ [ -n /var/custom_config/ssl/openssl.cnf ]
[COLOR=#ff0000]+ touch /openssl.cnf
touch: /openssl.cnf: Read-only file system
+ export OPENSSL_CONF=/openssl.cnf[/COLOR]
+ echo -en Check \x1B[1mdgst\x1B[0m command ...
Check dgst command ... + echo
+ openssl dgst+
grep -q ^(stdin)=
+ rc=0
+ [ 0 -eq 0 ]
+ show_ok
+ echo -e \x1B[1;32mOK\x1B[0m
OK
+ echo -en Check \x1B[1mrsautl\x1B[0m command ...
Check rsautl command ... + echo
+ openssl rsautl
+ grep -q ^no keyfile specified
+ rc=0
+ [ 0 -eq 0 ]
+ show_ok
+ echo -e \x1B[1;32mOK\x1B[0m
OK
+ offset=0
+ tar -t -v -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image
+ sed -n -e s|^[^ ]* *[^ ]* *\([0-9]*\) *[^ ]* *[^ ]* *\(.*\)$|SIZE=\1 MEMBER=\2|p
+ read line
+ eval SIZE=0 MEMBER=./var/
+ SIZE=0 MEMBER=./var/
+ file_offset=0
+ file_start=512
+ file_end=512
+ offset=512
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=0 START=512 END=512 SIZE=0 BLOCKS=1 MEMBER="./var/"
+ read line
+ eval SIZE=34518 MEMBER=./var/install
+ SIZE=34518 MEMBER=./var/install
+ file_offset=512
+ file_start=1024
+ file_end=35542
+ offset=35840
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=512 START=1024 END=35542 SIZE=34518 BLOCKS=69 MEMBER="./var/install"
+ read line
+ eval SIZE=283844 MEMBER=./var/regelex
+ SIZE=283844 MEMBER=./var/regelex
+ file_offset=35840
+ file_start=36352
+ file_end=320196
+ offset=320512
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=35840 START=36352 END=320196 SIZE=283844 BLOCKS=556 MEMBER="./var/regelex"
+ read line
+ eval SIZE=0 MEMBER=./var/tmp/
+ SIZE=0 MEMBER=./var/tmp/
+ file_offset=320512
+ file_start=321024
+ file_end=321024
+ offset=321024
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=320512 START=321024 END=321024 SIZE=0 BLOCKS=1 MEMBER="./var/tmp/"
+ read line
+ eval SIZE=2505736 MEMBER=./var/tmp/kernel.image
+ SIZE=2505736 MEMBER=./var/tmp/kernel.image
+ file_offset=321024
+ file_start=321536
+ file_end=2827272
+ offset=2827776
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=321024 START=321536 END=2827272 SIZE=2505736 BLOCKS=4896 MEMBER="./var/tmp/kernel.image"
+ read line
+ eval SIZE=23875592 MEMBER=./var/tmp/filesystem.image
+ SIZE=23875592 MEMBER=./var/tmp/filesystem.image
+ file_offset=2827776
+ file_start=2828288
+ file_end=26703880
+ offset=26704384
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=2827776 START=2828288 END=26703880 SIZE=23875592 BLOCKS=46634 MEMBER="./var/tmp/filesystem.image"
+ read line
+ eval SIZE=2795 MEMBER=./var/info.txt
+ SIZE=2795 MEMBER=./var/info.txt
+ file_offset=26704384
+ file_start=26704896
+ file_end=26707691
+ offset=26707968
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26704384 START=26704896 END=26707691 SIZE=2795 BLOCKS=7 MEMBER="./var/info.txt"
+ read line
+ eval SIZE=278552 MEMBER=./var/chksum
+ SIZE=278552 MEMBER=./var/chksum
+ file_offset=26707968
+ file_start=26708480
+ file_end=26987032
+ offset=26987520
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26707968 START=26708480 END=26987032 SIZE=278552 BLOCKS=546 MEMBER="./var/chksum"
+ read line
+ eval SIZE=128 MEMBER=./var/signature
+ SIZE=128 MEMBER=./var/signature
+ file_offset=26987520
+ file_start=26988032
+ file_end=26988160
+ offset=26988544
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26987520 START=26988032 END=26988160 SIZE=128 BLOCKS=2 MEMBER="./var/signature"
+ read line
+ last_sig=0
+ i=0
check_signed_image: line 413: can't open /image_members: no such file
+ [ 0 -eq 0 ]
+ echo -e The specified image file \x1B[1m/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image\x1B[0m contains no signature file.
The specified image file /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image contains no signature file.
+ exit 4
+ rm -r
rm: can't remove '': No such file or directory
+ rc=4
+ [ 4 -ne 0 ]
+ exit 132
#

Gruß
Pokemon20021

- - - Aktualisiert - - -

so wie es aussieht gibt es noch Probleme mit tmp-Umgebungsvariable in check_signed_image Skript:

Code:
+ mktemp -d
[COLOR=#ff0000]mktemp: applet not found[/COLOR]
[COLOR="#FF0000"]+ tmp=[/COLOR]
+ [ 1 -eq 127 ]
+ trap rm -r "" EXIT HUP INT
+ show_version
+ local v
+ openssl version
+ v=OpenSSL 1.0.2i  22 Sep 2016
+ [ 0 -eq 127 ]
+ echo -e Found \x1B[1;34mOpenSSL 1.0.2i  22 Sep 2016\x1B[0m
Found OpenSSL 1.0.2i  22 Sep 2016
+ return 0
+ [ 0 -ne 0 ]
+ openssl version
+ sed -n -e s|WARNING: can't open config file: \(.*\)$|\1|p
+ cnf=/var/custom_config/ssl/openssl.cnf
+ [ -n /var/custom_config/ssl/openssl.cnf ]
[COLOR=#ff0000]+ touch /openssl.cnf
touch: /openssl.cnf: Read-only file system
+ export OPENSSL_CONF=/openssl.cnf
[/COLOR]

- - - Aktualisiert - - -

Hallo PeterPawn und andere Interessierte,
nach weiteren 2 Änderungen hat modfs funktioniert:

Code:
# cd bin
# cd VR9
# ls -la
drwxr-xr-x    2 root     root          4096 Sep 24 08:49 .
drwxr-xr-x    3 root     root          4096 Sep 24 07:46 ..
-rwxr-xr-x    1 root     root       1196472 Apr  2 23:20 busybox
-r--r-----    1 root     root         25729 Mar 18  2016 busybox.config
-r-xr-xr--    1 root     root          3657 Sep 24 02:52 check_image_signature
-r-xr-xr--    1 root     root         27924 Sep 22 20:49 check_signed_image
-rwxr-xr-x    1 root     root        466472 Apr  2 23:45 e2fsck
lrwxrwxrwx    1 root     root             7 Sep 24 08:34 ln -> busybox
lrwxrwxrwx    1 root     root             7 Sep 24 08:34 mkdir -> busybox
-rwxr-xr-x    1 root     root        354504 Apr  2 23:45 mke2fs
-rwxr-xr-x    1 root     root        356116 Apr  3 00:03 mksquashfs3
-rwxr-xr-x    1 root     root        390780 Apr  3 00:04 mksquashfs4
-rwxr-xr-x    1 1000     1000       1961304 Sep 22 19:04 openssl
lrwxrwxrwx    1 root     root             7 Sep 24 08:36 rm -> busybox
-rwxr-xr-x    1 root     root        389864 Jul  3 08:50 unsquashfs
-rwxr-xr-x    1 root     root        261712 Apr  3 00:03 unsquashfs3
-rwxr-xr-x    1 root     root        316112 Apr  3 00:04 unsquashfs4
-rwxr-xr-x    1 root     root           195 Sep 24 02:28 wrap_script
# [COLOR=#0000ff]ln -s busybox mktemp[/COLOR]
# ls -la
drwxr-xr-x    2 root     root          4096 Sep 24 08:49 .
drwxr-xr-x    3 root     root          4096 Sep 24 07:46 ..
-rwxr-xr-x    1 root     root       1196472 Apr  2 23:20 busybox
-r--r-----    1 root     root         25729 Mar 18  2016 busybox.config
-r-xr-xr--    1 root     root          3657 Sep 24 02:52 check_image_signature
-r-xr-xr--    1 root     root         27924 Sep 22 20:49 check_signed_image
-rwxr-xr-x    1 root     root        466472 Apr  2 23:45 e2fsck
lrwxrwxrwx    1 root     root             7 Sep 24 08:34 ln -> busybox
lrwxrwxrwx    1 root     root             7 Sep 24 08:34 mkdir -> busybox
-rwxr-xr-x    1 root     root        354504 Apr  2 23:45 mke2fs
-rwxr-xr-x    1 root     root        356116 Apr  3 00:03 mksquashfs3
-rwxr-xr-x    1 root     root        390780 Apr  3 00:04 mksquashfs4
lrwxrwxrwx    1 root     root             7 Sep 24 08:49 [COLOR=#0000ff]mktemp[/COLOR] -> busybox
-rwxr-xr-x    1 1000     1000       1961304 Sep 22 19:04 openssl
lrwxrwxrwx    1 root     root             7 Sep 24 08:36 rm -> busybox
-rwxr-xr-x    1 root     root        389864 Jul  3 08:50 unsquashfs
-rwxr-xr-x    1 root     root        261712 Apr  3 00:03 unsquashfs3
-rwxr-xr-x    1 root     root        316112 Apr  3 00:04 unsquashfs4
-rwxr-xr-x    1 root     root           195 Sep 24 02:28 wrap_script
# vi check_signed_image
SNIP
####################################################################################
#                                                                                  #
# prepare a temporary directory and cleanup on exit                                #
#                                                                                  #
####################################################################################
tmp=$([COLOR=#dda0dd]/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/VR9/[/COLOR]mktemp -d)
# [ $? -eq 127 ] && tmp="/tmp/tmp.$(date +%s).$$" && mkdir -p "$tmp"
[ $? -eq [B][COLOR=#0000ff]0[/COLOR][/B] ] && tmp="/tmp/tmp.$(date +%s).$$" && mkdir -p "$tmp"
trap "rm -r \"$tmp\"" EXIT HUP INT
####################################################################################


# diff check_signed_image.org check_signed_image
--- check_signed_image.org
+++ check_signed_image
@@ -333,8 +333,9 @@
 # prepare a temporary directory and cleanup on exit                                #
 #                                                                                  #
 ####################################################################################
-tmp=$(mktemp -d)
-[ $? -eq 127 ] && tmp="/tmp/tmp.$(date +%s).$$" && mkdir -p "$tmp"
+tmp=$(/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/VR9/mktemp -d)
+# [ $? -eq 127 ] && tmp="/tmp/tmp.$(date +%s).$$" && mkdir -p "$tmp"
+[ $? -eq 0 ] && tmp="/tmp/tmp.$(date +%s).$$" && mkdir -p "$tmp"
 trap "rm -r \"$tmp\"" EXIT HUP INT
 ####################################################################################
 #                                                                                  #
#


Code:
# MODFS_DEBUG_SHELL=1 ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
respawn script with custom BusyBox shell, SHLVL=4
/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/bin/185/busybox sh ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.69-41137

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920160241/FRITZ.Box_7490_Labor.113.06.69-41222.image' wird als Quelle für die Aktualisierung genutzt.
Überprüfen der Signatur der geladenen Datei ... OK
Extrahieren des neuen Kernel-Images aus dem Firmware-Image ... OK
Extrahieren des Flash-Filesystems aus dem Firmware-Image ... OK
Extrahieren des Wurzeldateisystems aus dem Flash-Filesystem ... OK
Entpacken des root-Dateisystems für die Modifikationen ... OK

Das entpackte Dateisystem ist jetzt bereit für die Modifikationen.

Verzeichnis des root-Dateisystems : /var/media/ftp/USB-Stick-01/1474700691/squashfs-root


Die Modifikation 'own files' wird verarbeitet ...
Überprüfen der unterstützten Sprachen ... OK
Soll die Modifikation 'own files' mit folgender Beschreibung
Programme hinzufügen/ersetzen
angewendet werden? (j/N)

Hinweis: warum das mit mktemp ohne absoluten Pfad nicht funktioniert wäre noch zu klären, und natürlich noch richtigzustellen.

Gruß
Pokemon20021
 
Zuletzt bearbeitet:
Danke für die Tests ... das mit dem "rm" und "ln" im Aufruf vor dem Respawn habe ich verbockt, da habe ich einfach vergessen, daß der Pfad schon beschränkt ist (meine eigene BusyBox sucht dann halt immer noch nach Applets).

Alles andere sollten dann Folgefehler sein ... bis hin zum späteren Fehlen von "mktemp", weil einfach die "SHELL"-Variable jetzt irgendwo ins Leere zeigt und dann intern wieder "/bin/sh" als Posix-Standard benutzt wird beim Aufruf von "check_signed_image". Wird dann endlich die richtige BusyBox verwendet, braucht man auch die Symlinks nicht mehr - denn die sucht ja ohnehin zuerst nach Applets, bevor sie ins Dateisystem schaut (und da dann auch nur in das einzelne Verzeichnis im Suchpfad).

Wobei mir gerade wieder einfällt, daß irgendetwas bei der Suche in der BusyBox doch speziell war ... habe ich vor langer Zeit hier mal irgendwo aufgeschrieben. Aber das galt (aus der Erinnerung) nur für die Verwendung eines leeren Verzeichnisses im Suchpfad (also zwei Doppelpunkte nacheinander oder ein einzelner am Beginn oder am Ende) - das wurde dann nicht einfach ignoriert, sondern an dieser Stelle wurde tatsächlich in /bin + /usr/bin gesucht, ebenso in dem Fall, daß am Ende noch kein passendes Programm gefunden wurde, auch dann ging die Suche noch einmal über /bin und /usr/bin. Aber das schaue ich mir später noch einmal an ... wichtig für "modfs" wäre die abgewandelte Reihenfolge bei der Suche nach Applets und das macht die passende BusyBox auch richtig.

Da liegt ja der Grund, warum das bei mir im Test (den ich eigentlich immer mache) noch funktioniert ... ich habe eben von Beginn an diese BusyBox im Einsatz und auch der Versuch, die von AVM zu verwenden, war nicht so richtig von Erfolg gekrönt, weil die eben dynamisch gelinkt ist und dann die Libraries auch noch passen müssen. Da müßte ich mir eine Partition mit einem komplett anderen System bauen ... das wirft dann meinen "Standard" (Release in der einen und Labor in der anderen Partition) durcheinander - daher bin ich hier auf "externe Tests" und entsprechende Rückmeldungen angewiesen.

Aber die Frage, warum die BusyBox bei fehlendem Applet einen Return-Code von "1" anstelle von "127" ausgibt, muß ich mir auch erst einmal in Ruhe ansehen. Eigentlich sollte "1" für den Fehler bei der Ausführung und nicht beim Finden des Kommandos stehen.

Ich habe erst einmal nur etwas an der Reihenfolge im "modfs"-Skript angepaßt (Version ist nun 0.3.5-240920161012) und anstelle von /var/tmp/modfs nehme ich jetzt /var/run/modfs, damit das spätere Löschen dieses Verzeichnisses niemandem auf die Füße tritt, der bei irgendeinem Modell ohne ausreichenden Platz im NAND-FS unter /var/media/ftp das Archiv bereits unter /var/tmp/modfs entpackt hat. Das von mir vorgeschlagene /var/modfs ist ja eben nur dieses, also ein Vorschlag, aber ins "run"-Verzeichnis wird hoffentlich niemand entpacken.
 
Ich habe erst einmal nur etwas an der Reihenfolge im "modfs"-Skript angepaßt (Version ist nun 0.3.5-240920161012)

Sorry, aber die neue Version wirft immer noch Fehler raus:
Code:
# ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
[COLOR=#ff0000]ln: /var/run/modfs/sh: No such file or directory
./modfs: line 2632: mkdir: not found
[/COLOR]respawn script with custom BusyBox shell, SHLVL=4
/var/media/ftp/USB-Disk-01/download/modfs-0.3.5-240920161012/bin/185/busybox sh ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.69-41222

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '/var/media/ftp/USB-Disk-01/download/modfs-0.3.5-240920161012/FRITZ.Box_7490_Labor.113.06.69-41222.image' wird als Quelle für die Aktualisierung genutzt.
Überprüfen der Signatur der geladenen Datei ...[COLOR=#ff0000]/var/media/ftp/USB-Disk-01/download/modfs-0.3.5-240920161012/bin/185/wrap_script: line 8: /var/run/modfs/sh: not found[/COLOR]
 übersprungen

- - - Aktualisiert - - -

bzw. bei Aufruf mit MODFS_DEBUG_SHELL=1:

Code:
# MODFS_DEBUG_SHELL=1 ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
[COLOR=#ff0000]ln: /var/run/modfs/sh: No such file or directory
./modfs: line 2632: mkdir: not found
[/COLOR]respawn script with custom BusyBox shell, SHLVL=4

Code:
# cat /var/tmp/modfs_debug_scripts.log
<<<<<<<<<< check_image_signature check >>>>>>>>>>
[COLOR=#ff0000]/var/media/ftp/USB-Disk-01/download/modfs-0.3.5-240920161012/bin/185/wrap_script: line 8: /var/run/modfs/sh: not found
[/COLOR]<<<<<<<<<< check_image_signature check >>>>>>>>>>
[COLOR=#ff0000]/var/media/ftp/USB-Disk-01/download/modfs-0.3.5-240920161012/bin/185/wrap_script: line 8: /var/run/modfs/sh: not found
[/COLOR]#
 
Zuletzt bearbeitet:
So, jetzt aber hoffentlich ... das "mkdir" stand immer noch zu weit hinten, jetzt griff schon das "ln" ins Leere.
 
Version modfs-0.3.5-240920161048 ausgecheckt und geprüft:

Code:
# MODFS_DEBUG_SHELL=1 ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
respawn script with custom BusyBox shell, SHLVL=4
/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/bin/185/busybox sh ./modfs update ./FRITZ.Box_7490_Labor.113.06.69-41222.image
Using debug mode with a 64 KB buffer
Ermitteln der Hardware-Version ... OK
Prüfen, ob die Hardware-Version unterstützt wird ... OK
Suchen der Einstellung zur Umschaltung auf das alternative System ... OK
Prüfen der aktuell zu startenden Systemversion ... OK
Suchen der aktuellen Kernel-Partition ... OK
Suchen der alternativen Kernel-Partition ... OK
Vergleich der Systeme in den Kernel-Partitionen ... übersprungen
Suchen der aktuellen Dateisystem-Partition ... OK
Suchen der alternativen Dateisystem-Partition ... OK
Überprüfen des zur Verfügung stehenden Speicherplatzes im RAM ... OK
Überprüfen des freien Speicherplatzes für das Auspacken des Dateisystems ... OK

Das System erfüllt die Voraussetzungen zur Modifikation des root-Dateisystems.

Im Moment läuft auf der Box die Version: 113.06.69-41222

Die Angabe einer Datei nach dem 'update'-Parameter unterbindet jede Versionprüfung.
Somit ist jeder selbst dafür zuständig, die Kompatibilität der vorhandenen Einstellungen
mit dem verwendeten System sicherzustellen, speziell wenn ein Downgrade ausgeführt wurde
oder ggf. die 'Werkseinstellungen' wiederherzustellen.

Die angegebene Datei '[COLOR=#ff0000]/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image' wird als Quelle für die Aktualisierung genutzt.
Überprüfen der Signatur der geladenen Datei ... Fehler[/COLOR]

Code:
# cat /var/tmp/modfs_debug_scripts.log
<<<<<<<<<< check_image_signature check >>>>>>>>>>
[COLOR=#ff0000]/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161012/bin/185/wrap_script: line 8: /var/run/modfs/sh: not found[/COLOR]
<<<<<<<<<< check_image_signature check >>>>>>>>>>
[COLOR=#ff0000]/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161012/bin/185/wrap_script: line 8: /var/run/modfs/sh: not found[/COLOR]
<<<<<<<<<< check_image_signature check >>>>>>>>>>
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z check ]
+ [ xcheck == xcheck ]
+ [ -x openssl ]
+ openssl version
+ [ 0 -ne 0 ]
+ [ -x check_signed_image ]
+ exit 0
<<<<<<<<<< check_image_signature verify /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image >>>>>>>>>>
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z verify ]
+ [ xverify == xcheck ]
+ [ xverify == xverify ]
+ [ -z /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ [ -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ [ x1 == x1 ]
+ debug=-x
+ debuglog=/var/tmp/modfs_debug_scripts.log
+ /var/run/modfs/sh -x check_signed_image /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image -b
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ eva_prompt=Eva_AVM
+ box_key_name=/var/flash/websrv_ssl_key.pem
+ box_cert_name1=/var/flash/websrv_ssl_cert.pem
+ box_cert_name2=/var/tmp/websrv_ssl_cert.pem
+ [ -z /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ image_file=/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image
+ [ -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
[COLOR=#ff0000]+ mktemp -d
mktemp: applet not found
+ tmp=
+ [ 1 -eq 127 ][/COLOR]
+ trap rm -r "" EXIT HUP INT
+ show_version
+ local v
+ openssl version
+ v=OpenSSL 1.0.2i  22 Sep 2016
+ [ 0 -eq 127 ]
+ echo -e Found \x1B[1;34mOpenSSL 1.0.2i  22 Sep 2016\x1B[0m
Found OpenSSL 1.0.2i  22 Sep 2016
+ return 0
+ [ 0 -ne 0 ]
+ openssl version
+ sed -n -e s|WARNING: can't open config file: \(.*\)$|\1|p
+ cnf=/var/custom_config/ssl/openssl.cnf
+ [ -n /var/custom_config/ssl/openssl.cnf ]
+ touch /openssl.cnf
touch: /openssl.cnf: Read-only file system
+ export OPENSSL_CONF=/openssl.cnf
+ echo -en Check \x1B[1mdgst\x1B[0m command ...
Check dgst command ... + echo
+ openssl+  dgstgrep
 -q ^(stdin)=
+ rc=0
+ [ 0 -eq 0 ]
+ show_ok
+ echo -e \x1B[1;32mOK\x1B[0m
OK
+ echo -en Check \x1B[1mrsautl\x1B[0m command ...
Check rsautl command ... + echo
+ openssl rsautl
+ grep -q ^no keyfile specified
+ rc=0
+ [ 0 -eq 0 ]
+ show_ok
+ echo -e \x1B[1;32mOK\x1B[0m
OK
+ offset=0
+ tar -t -v -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image
+ sed -n -e s|^[^ ]* *[^ ]* *\([0-9]*\) *[^ ]* *[^ ]* *\(.*\)$|SIZE=\1 MEMBER=\2|p
+ read line
+ eval SIZE=0 MEMBER=./var/
+ SIZE=0 MEMBER=./var/
+ file_offset=0
+ file_start=512
+ file_end=512
+ offset=512
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=0 START=512 END=512 SIZE=0 BLOCKS=1 MEMBER="./var/"
+ read line
+ eval SIZE=34518 MEMBER=./var/install
+ SIZE=34518 MEMBER=./var/install
+ file_offset=512
+ file_start=1024
+ file_end=35542
+ offset=35840
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=512 START=1024 END=35542 SIZE=34518 BLOCKS=69 MEMBER="./var/install"
+ read line
+ eval SIZE=283844 MEMBER=./var/regelex
+ SIZE=283844 MEMBER=./var/regelex
+ file_offset=35840
+ file_start=36352
+ file_end=320196
+ offset=320512
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=35840 START=36352 END=320196 SIZE=283844 BLOCKS=556 MEMBER="./var/regelex"
+ read line
+ eval SIZE=0 MEMBER=./var/tmp/
+ SIZE=0 MEMBER=./var/tmp/
+ file_offset=320512
+ file_start=321024
+ file_end=321024
+ offset=321024
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=320512 START=321024 END=321024 SIZE=0 BLOCKS=1 MEMBER="./var/tmp/"
+ read line
+ eval SIZE=2505736 MEMBER=./var/tmp/kernel.image
+ SIZE=2505736 MEMBER=./var/tmp/kernel.image
+ file_offset=321024
+ file_start=321536
+ file_end=2827272
+ offset=2827776
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=321024 START=321536 END=2827272 SIZE=2505736 BLOCKS=4896 MEMBER="./var/tmp/kernel.image"
+ read line
+ eval SIZE=23875592 MEMBER=./var/tmp/filesystem.image
+ SIZE=23875592 MEMBER=./var/tmp/filesystem.image
+ file_offset=2827776
+ file_start=2828288
+ file_end=26703880
+ offset=26704384
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=2827776 START=2828288 END=26703880 SIZE=23875592 BLOCKS=46634 MEMBER="./var/tmp/filesystem.image"
+ read line
+ eval SIZE=2795 MEMBER=./var/info.txt
+ SIZE=2795 MEMBER=./var/info.txt
+ file_offset=26704384
+ file_start=26704896
+ file_end=26707691
+ offset=26707968
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26704384 START=26704896 END=26707691 SIZE=2795 BLOCKS=7 MEMBER="./var/info.txt"
+ read line
+ eval SIZE=278552 MEMBER=./var/chksum
+ SIZE=278552 MEMBER=./var/chksum
+ file_offset=26707968
+ file_start=26708480
+ file_end=26987032
+ offset=26987520
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26707968 START=26708480 END=26987032 SIZE=278552 BLOCKS=546 MEMBER="./var/chksum"
+ read line
+ eval SIZE=128 MEMBER=./var/signature
+ SIZE=128 MEMBER=./var/signature
+ file_offset=26987520
+ file_start=26988032
+ file_end=26988160
+ offset=26988544
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26987520 START=26988032 END=26988160 SIZE=128 BLOCKS=2 MEMBER="./var/signature"
+ read line
+ last_sig=0
+ i=0
check_signed_image: line 413: can't open /image_members: no such file
+ [ 0 -eq 0 ]
+ echo -e The specified image file \x1B[1m/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image\x1B[0m contains no signature file.
The specified image file /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image contains no signature file.
+ exit 4
+ rm -r
rm: can't remove '': No such file or directory
+ rc=4
+ [ 4 -ne 0 ]
+ exit 132
#

- - - Aktualisiert - - -

es sieht nach Problem mit "mktemp" sowie Return-Code 1 vs. 127 aus:

Code:
[COLOR=#ff0000]+ mktemp -d
mktemp: applet not found
+ tmp=
+ [ 1 -eq 127 ][/COLOR]

- - - Aktualisiert - - -

Habe Datei /var/tmp/modfs_debug_scripts.log gelöscht und modfs neu angestartet:

Code:
# cat /var/tmp/modfs_debug_scripts.log
<<<<<<<<<< check_image_signature check >>>>>>>>>>
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z check ]
+ [ xcheck == xcheck ]
+ [ -x openssl ]
+ openssl version
+ [ 0 -ne 0 ]
+ [ -x check_signed_image ]
+ exit 0
<<<<<<<<<< check_image_signature verify /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image >>>>>>>>>>
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ [ -z verify ]
+ [ xverify == xcheck ]
+ [ xverify == xverify ]
+ [ -z /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ [ -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ [ x1 == x1 ]
+ debug=-x
+ debuglog=/var/tmp/modfs_debug_scripts.log
+ /var/run/modfs/sh -x check_signed_image /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image -b
+ avm_default_files=/etc/avm_firmware_public_key[1-9] plugin_global_key.pem
+ eva_prompt=Eva_AVM
+ box_key_name=/var/flash/websrv_ssl_key.pem
+ box_cert_name1=/var/flash/websrv_ssl_cert.pem
+ box_cert_name2=/var/tmp/websrv_ssl_cert.pem
+ [ -z /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ image_file=/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image
+ [ -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image ]
+ mktemp -d
mktemp: applet not found
+ tmp=
+ [ 1 -eq 127 ]
+ trap rm -r "" EXIT HUP INT
+ show_version
+ local v
+ openssl version
+ v=OpenSSL 1.0.2i  22 Sep 2016
+ [ 0 -eq 127 ]
+ echo -e Found \x1B[1;34mOpenSSL 1.0.2i  22 Sep 2016\x1B[0m
Found OpenSSL 1.0.2i  22 Sep 2016
+ return 0
+ [ 0 -ne 0 ]
+ openssl version
+ sed -n -e s|WARNING: can't open config file: \(.*\)$|\1|p
+ cnf=/var/custom_config/ssl/openssl.cnf
+ [ -n /var/custom_config/ssl/openssl.cnf ]
+ touch /openssl.cnf
touch: /openssl.cnf: Read-only file system
+ export OPENSSL_CONF=/openssl.cnf
+ echo -en Check \x1B[1mdgst\x1B[0m command ...
Check dgst command ... + echo
+ openssl dgst
+ grep -q ^(stdin)=
+ rc=0
+ [ 0 -eq 0 ]
+ show_ok
+ echo -e \x1B[1;32mOK\x1B[0m
OK
+ echo -en Check \x1B[1mrsautl\x1B[0m command ...
Check rsautl command ... + echo
+ openssl rsautl
+ grep -q ^no keyfile specified
+ rc=0
+ [ 0 -eq 0 ]
+ show_ok
+ echo -e \x1B[1;32mOK\x1B[0m
OK
+ offset=0
+ tar -t -v -f /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image
+ sed -n -e s|^[^ ]* *[^ ]* *\([0-9]*\) *[^ ]* *[^ ]* *\(.*\)$|SIZE=\1 MEMBER=\2|p
+ read line
+ eval SIZE=0 MEMBER=./var/
+ SIZE=0 MEMBER=./var/
+ file_offset=0
+ file_start=512
+ file_end=512
+ offset=512
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=0 START=512 END=512 SIZE=0 BLOCKS=1 MEMBER="./var/"
+ read line
+ eval SIZE=34518 MEMBER=./var/install
+ SIZE=34518 MEMBER=./var/install
+ file_offset=512
+ file_start=1024
+ file_end=35542
+ offset=35840
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=512 START=1024 END=35542 SIZE=34518 BLOCKS=69 MEMBER="./var/install"
+ read line
+ eval SIZE=283844 MEMBER=./var/regelex
+ SIZE=283844 MEMBER=./var/regelex
+ file_offset=35840
+ file_start=36352
+ file_end=320196
+ offset=320512
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=35840 START=36352 END=320196 SIZE=283844 BLOCKS=556 MEMBER="./var/regelex"
+ read line
+ eval SIZE=0 MEMBER=./var/tmp/
+ SIZE=0 MEMBER=./var/tmp/
+ file_offset=320512
+ file_start=321024
+ file_end=321024
+ offset=321024
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=320512 START=321024 END=321024 SIZE=0 BLOCKS=1 MEMBER="./var/tmp/"
+ read line
+ eval SIZE=2505736 MEMBER=./var/tmp/kernel.image
+ SIZE=2505736 MEMBER=./var/tmp/kernel.image
+ file_offset=321024
+ file_start=321536
+ file_end=2827272
+ offset=2827776
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=321024 START=321536 END=2827272 SIZE=2505736 BLOCKS=4896 MEMBER="./var/tmp/kernel.image"
+ read line
+ eval SIZE=23875592 MEMBER=./var/tmp/filesystem.image
+ SIZE=23875592 MEMBER=./var/tmp/filesystem.image
+ file_offset=2827776
+ file_start=2828288
+ file_end=26703880
+ offset=26704384
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=2827776 START=2828288 END=26703880 SIZE=23875592 BLOCKS=46634 MEMBER="./var/tmp/filesystem.image"
+ read line
+ eval SIZE=2795 MEMBER=./var/info.txt
+ SIZE=2795 MEMBER=./var/info.txt
+ file_offset=26704384
+ file_start=26704896
+ file_end=26707691
+ offset=26707968
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26704384 START=26704896 END=26707691 SIZE=2795 BLOCKS=7 MEMBER="./var/info.txt"
+ read line
+ eval SIZE=278552 MEMBER=./var/chksum
+ SIZE=278552 MEMBER=./var/chksum
+ file_offset=26707968
+ file_start=26708480
+ file_end=26987032
+ offset=26987520
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26707968 START=26708480 END=26987032 SIZE=278552 BLOCKS=546 MEMBER="./var/chksum"
+ read line
+ eval SIZE=128 MEMBER=./var/signature
+ SIZE=128 MEMBER=./var/signature
+ file_offset=26987520
+ file_start=26988032
+ file_end=26988160
+ offset=26988544
check_signed_image: line 1: can't create /image_members: Read-only file system
+ echo HEADER=26987520 START=26988032 END=26988160 SIZE=128 BLOCKS=2 MEMBER="./var/signature"
+ read line
+ last_sig=0
+ i=0
check_signed_image: line 413: can't open /image_members: no such file
+ [ 0 -eq 0 ]
+ echo -e The specified image file \x1B[1m/var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image\x1B[0m contains no signature file.
The specified image file /var/media/ftp/USB-Stick-01/download/modfs-0.3.5-240920161048/FRITZ.Box_7490_Labor.113.06.69-41222.image contains no signature file.
+ exit 4
+ rm -r
rm: can't remove '': No such file or directory
+ rc=4
+ [ 4 -ne 0 ]
+ exit 132
#
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

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

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