[Gelöst] FW 6.50 für 7490 in Trunk rev. 13490 - keine Auswahlmöglichkeit

@ PeterPawn:

Vielen Dank für Deine Tips, mit dem korrekten blkid wird das Image zumindest nun schon mal gebaut.
Darf ich Deine weiteren Tips so verstehen, daß ich für weiteres Experimentieren zunächst mal versuchen könnte, binarie-onlys auf Basis von 6.30 zu bauen und diese dann unter 6.50 zu verwenden ?
Und für die Patches warten wir noch auf die Quellen für 6.50 von AVM ... ;-) ?
Beste Grüße,

JD.
 
Zuletzt bearbeitet:
Ich hatte mal die "Real Developer"-Option aktiviert und konnte auch auf Basis der Labor-Versionen 06.36 ohne Kompilationsfehler Freetz-Images bauen. Die genauen Ausgaben von /var/install reiche ich nach, wenn ich wieder am richtigen Rechner bin, ebenso eine .config. Ich glaube, insbesondere "build toolchain" ist aktiv.
 
@JohnDoe42:
Im Prinzip ja ... aber die Erfahrung von mrspeccy in #19 irritiert mich auch etwas (s. meine Fragen in #20).

Entweder er verwendet noch eigene Änderungen am Trunk und nicht r13504 (um die 06.50 schon vor r13503 auszuwählen und dann wird bei ihm automatisch noch der 2.6.32-Kernel verwendet) oder er hat für sich schon die Patches für die 3.10.73 angepaßt ... dann kann er sie ja teilen, das spart einiges an Arbeit.

Ansonsten habe ich "nur gute Erfahrungen" gemacht in Bezug auf die Kompatibilität, allerdings natürlich nicht für "systemspezifische" Programme wie z.B. tcpdump ... das funktioniert (absehbar) nicht bei mir. Dazu muß man dann erst mal an den 3.10.73-Kernel ran ... ob sich das vor der Veröffentlichung des OpenSource-Pakets für die 06.50 durch AVM rechnet, weiß ich nicht ... nach dem, was er13 im Moment an Zeit investieren kann, glaube ich eher nicht an die doppelte Arbeit, nur damit es so früh wie möglich funktioniert.
 
Sorry, wenn ich mehr verwirre als mit brauchbaren Informationen beitrage. Richtig, ich hatte schon vor r13503 Images mit der 06.50 gebaut. Ergänzung: Ich traue mir leider nicht zu, Kernel-Patches anzupassen.
 
Machst Du ja nicht ... dann dürfen wir aber trotzdem schlußfolgern, daß Du noch mit einem 2.6.32-Kernel Deine Feststellung (Build funktioniert) getroffen hast?
 
@alle: Dringende bitte an alle, die Feedback in Bezug auf 6.36/6.5x hier geben möchten. Bitte mit einem frischen Checkout starten oder make distclean im aktuellen ausführen. Offensichtlich werden/wurden die Commit-Messages nicht verfolgt - das ist die einfachste Methode, um Mischmasch-Buildfehler auszuschließen.

@Peter: Kernel-3.10.x ist aktuell als "no replace module available", "no kernel replace available" markiert. Damit wird nicht mal der Versuch unternommen, den Kernel zu übersetzen - es werden lediglich die Headerdateien von diesem kopiert und die uClibc unter Verwendung von diesen kompiliert. Einen 3.10.x-Patch-Verzeichnis mit einem sinnvollen Inhalt kann es erst dann geben, wenn AVM das OpenSrc-Paket veröffentlicht.
 
Konnte denn schon jemand das gebaute Image installieren und booten?
 
@mrspeccy:
Das install-Skript Log sieht bis zu dieser Stelle (es ist ja noch gar nichts wirklich passiert bis dorthin) eigentlich gut aus ... das einzige Auffällige ist Zeile 3 - in Deiner Box ist aus irgendeinem Grund die Variable OEM nicht gesetzt, das habe ich noch nirgendwo so gesehen.

Um das Problem jetzt einzugrenzen, müßtest Du das Image erneut über Freetz laden lassen und anstelle des Neustarts dann folgendes abarbeiten:

  1. Telnet-Session starten
  2. die Datei /var/post_install editieren und die Zeile
    Code:
    if ps | grep -v grep | grep -q telnetd ; then killall telnetd ; fi
    entfernen oder auskommentieren
  3. "sh -x /var/post_install" ausführen lassen

Die Ausgabe der Abarbeitung von /var/post_install dann ggf. hier noch einmal posten, wenn Du das Problem dabei nicht sofort sehen solltest. Anders als bei NOR-Boxen kann das Flashen auch ohne sofortigen Neustart erfolgen, weil es ja andere Partitionen sind, in die geschrieben wird und das laufende System damit nicht beeinträchtigt wird.

Wenn Du nach der Ausführung von /var/post_install noch meinen Skript-Vorschlag aus diesem Thread ausführen läßt (aufpassen, daß Du nicht die farbigen "Reset"-Teile mit übernimmst), kannst Du sogar ein erfolgreiches Flashen wieder "rückgängig" machen, solange Du keinen Neustart ausführen läßt. Allerdings wäre bis zu einem Neustart der FRITZ!Box dann die Telefonie der Box tot, da sie ja im erzeugten post_install-Skript unmittelbar vor dem telnetd "gekillt" wird (auch ein paar weitere Vorbereitungen, wie das Killen der vorhandenen Watchdogs, sind nicht so schön, aber verkraftbar). Das müßte man für mehrere Tests hintereinander ggf. auch noch auskommentieren. Auf einer 7490 sollte eigentlich genug freier Platz im tmpfs vorhanden sein, daß ein laufender "telefon"-Daemon auch nicht weiter stört.

Vielleicht wird ja auch im Rahmen der Freetz-Modifikationen irgendwann mal die Notwendigkeit abgeschafft, da überhaupt erst das ext2-Dateisystem durch das Entfernen der ersten 256 Byte aus filesystem.image herauszupuhlen. Wenn AVM das macht wegen der Kompatibilität mit älterer Firmware (und weil sie dann nur ein gemeinsames /var/install-Skript warten müssen), verstehe ich das noch ... bei Freetz könnte man mit leichten Umarbeitungen des Ablaufs in /var/install die Notwendigkeit des "dd"-Kommandos (und damit den zumindest kurzzeitig doppelten Platzbedarf im tmpfs, während altes und neues File gleichzeitig existieren) abschaffen. Man weiß ja schon vor dem
Code:
mount -t squashfs /var/tmp/filesystem.image /var/tmp/fs
daß das nicht funktionieren wird. Läßt man an dieser Stelle den 256-Byte-Dummy-Header gleich weg und mountet das sofort als "ext2"-Dateisystem, fallen einige Zeilen ganz weg. Mit einem so richtig passend umgeschriebenen /var/install-Skript (das vielleicht modellspezifisch wäre, aber das könnte man ja mit der eigenen "fwmod_custom"-Erweiterung einbringen) könnte man auch sofort das Update der Flash-Inhalte ausführen lassen und so schon im GUI vor dem Neustart den Erfolg oder Mißerfolg des "Flashens" anzeigen. Das sind aber alles zusätzliche Arbeiten, die im Rahmen von Freetz (auch wegen der Rückwärtskompatibilität) sicherlich eher nicht erfolgen werden ... das ist zwar für die heute aktuellen Boxen schade (weil es Möglichkeiten ausläßt), aber man kann ja - wie geschrieben - auch den Freetz-Prozess der "Image-Bildung" :) entsprechend selbst anpassen.
 
Zuletzt bearbeitet:
Hmmm ... Ich hatte mir gestern abend das aktuelle trunk gezogen und habe zufällig im #13503 gesehen, dass die 6.50 mit dem Zusatz HIGHLY EXPERIMENTAL verfügabr ist.
Wollte mir ein Image bauen - leider ist der Download des aktuellen Imagemagik auf die Nase gefallen?
 
Ja, die Version aus dem Trunk steht dort nicht mehr auf dem Server, Patch wäre folgender:
Code:
Index: make/imagemagick/imagemagick.mk
===================================================================
--- make/imagemagick/imagemagick.mk     (revision 13504)
+++ make/imagemagick/imagemagick.mk     (working copy)
@@ -1,9 +1,9 @@
-$(call PKG_INIT_BIN, 6.9.2-7)
+$(call PKG_INIT_BIN, 6.9.2-8)
 $(PKG)_MAJOR_VERSION:=$(call GET_MAJOR_VERSION,$($(PKG)_VERSION),1)
 $(PKG)_ABI_SUFFIX:=Q16
 $(PKG)_LIB_VERSION:=2.0.0
 $(PKG)_SOURCE:=ImageMagick-$($(PKG)_VERSION).tar.xz
-$(PKG)_SOURCE_SHA256:=eef80bf259823523dafbcdae15e236b443ecf6d4ae415106d7a861d1fa8d9d13
+$(PKG)_SOURCE_SHA256:=f2c6de7b73b7c207911909d7ca26b18fb4f40c1ea654a251e7ed4c886b6ad92d
 $(PKG)_SITE:=@SF/$(pkg),http://www.imagemagick.org/download

 $(PKG)_DIR:=$(SOURCE_DIR)/ImageMagick-$($(PKG)_VERSION)
Hatte ich auch schon bemerkt, nur vergessen irgendwo zu erwähnen.
 
@PeterPawn
Danke für die Info :)
Hat ja keine Eile - sonst warte ich einfach, bis jemand die Version bereitstellt, oder ich lade sie mir von woanders ... Oder ich lasse Imagemagick einfach beim build aussen vor ^^
 
@BenGurion:
Ich bin mir nicht sicher, ob es richtig angekommen ist ... Du mußt einfach nur den Inhalt des o.a. Code-Blocks in eine Datei kopieren und damit dann den Trunk patchen. Als "Einzeiler" (kopieren und einfach in einer Kommandozeile "einfügen", bei PuTTY z.B. mit der rechten Maustaste - das aktuelle Verzeichnis muß allerdings die Trunk-Base sein - und nur noch mit einem abschließenden "Enter" starten):
Code:
patch make/imagemagick/imagemagick.mk <<'EOT'
1c1
< $(call PKG_INIT_BIN, 6.9.2-7)
---
> $(call PKG_INIT_BIN, 6.9.2-8)
6c6
< $(PKG)_SOURCE_SHA256:=eef80bf259823523dafbcdae15e236b443ecf6d4ae415106d7a861d1fa8d9d13
---
> $(PKG)_SOURCE_SHA256:=f2c6de7b73b7c207911909d7ca26b18fb4f40c1ea654a251e7ed4c886b6ad92d
EOT
 
Zuletzt bearbeitet:
Ich weiß ... Kurioserweise hatte ich schon zwei Mal so nen simplen Patch in die Hose gehauen - warum auch immer :-|
 
Ich bekomme im config Menu die Firmware 6.50 nicht zur Auswahl.
Aktuelle Revision ist 13504 aus dem Trunk.
 
"Experte" einstellen
 
Je mehr ich über die 113.6.50 lese, desto weniger sinnvoll scheint mir aktuell eine Verwendung innerhalb eines Freetz-Images zu sein. Natürlich könnte man die benötigten Pakete auf Basis von 6.30 statisch linken und die Binaries dann unter 6.50 benutzen, aber da ja zumindest einige Patche vermutlich nicht funktionieren und vor einem Erscheinen der Quellen (vermutlich nicht vor Ende des 1. Quartals 2016) auf den AVM-Servern ein Anpassen derselben wenig Sinn macht, lasse ich das erst mal und begnüge mich mit 6.30. Mir war z.B. auch der geänderte Kernel komplett entgangen. Mir schwant da schon Schreckliches hinsichtlich netfilter ... aber das ist ein anderes Thema.
 
@mrspeccy:
Das install-Skript Log sieht bis zu dieser Stelle (es ist ja noch gar nichts wirklich passiert bis dorthin) eigentlich gut aus ... das einzige Auffällige ist Zeile 3 - in Deiner Box ist aus irgendeinem Grund die Variable OEM nicht gesetzt, das habe ich noch nirgendwo so gesehen.

Ich bin zwar nicht der eigentliche Empfänger, aaaaaaaber auch bei mir ist die OEM Variable leer. Es handelt sich um eine rote 7490 aus dem normalen Handel. Das ist meine Testbox (die hat auch damals für die Tests mit den reboots bei Aufruf des ABs/Telefoniegeräte im Webif herhalten müssen) - die wurde zwar schon oft recovert und geflasht, von Hand habe ich die Variable aber noch nie leer gemacht oder ähnliches.

Code:
install: have Kernel 2.6.32.61 - set kversion '2.6.32' and FlashUpdateTool '/lib/modules/2.6.32.61/kernel/drivers/char/flash_update/flash_update.ko'
install: check and install new firmware ...
OEM=
ANNEX=B
testing acceptance for device Fritz_Box_HW185 ...
korrekt install type: mips34_512MB_xilinx_vdsl_dect446_4geth_2ab_isdn_nt_te_pots_2usb_host_wlan11n_27490
device has installtype mips34_512MB_xilinx_vdsl_dect446_4geth_2ab_isdn_nt_te_pots_2usb_host_wlan11n_27490
OK - accept this update for device Fritz_Box_HW185 ...
testing acceptance for device Fritz_Box_HW185 done
curr: 113.06.30  new: xx.06.50
debug: curr: 113.06.30
debug: new: "XX.06.50"
major_currFWver=113
middle_currFWver=6
minor_currFWver=30
middle_newFWver=6
minor_newFWver=50
check Firmware Version: xx.06.50
DEBUG: 6 >= 6
DEBUG: 50 >= 30
Accept Firmware Version: xx.06.50
install: 2.6.32 check files...
read 0xcc0258c7 MACIG 0x4d2658f7
File doesn't contain the checksum, adding
[cs_calc_sum] sum 0xd0db25ec
Calculated checksum is D0DB25EC
[cs_set_sum] tagged 0
write 0x23de53c4, 0xec25dbd0 MAGIC 0xc453de23 
Adding failed
chksum for file /var/tmp/filesystem.image ok
size for file /var/tmp/filesystem.image ok
read 0x8ff24569 MACIG 0xc453de23
File already contains the checksum, verifying
[cs_calc_sum] sum 0x8ff24569
Calculated checksum is 8FF24569
Saved checksum is 8FF24569
Checksum validation successful!
chksum for file /var/tmp/kernel.image ok
size for file /var/tmp/kernel.image ok
install: 2.6.32 getting mtds to install...
install: --mtd------------------------------------------------
install: --assert---------------------------------------------
install: --addr+size------------------------------------------
install: kernel_start=0x00000000
install: kernel_size=4194304
install: kernel_image_size=2506248
install: filesystem_start=0x00400000
install: filesystem_size=50331648
install: filesystem_image_size=25309440
install: 2.6.32 writing commands to install...
install: check for old settings ...
set INFO led to blink (modul=7, state=4)

Führt aber auch zu einem nicht erreichen der Box nach reboot. Distclean vorher ausgeführt

Edit: Hier mal post_install von meinem normalen Image, baue gerade noch ein neues ohne irgendwas (also nacktes freetz) - das reiche ich dann unten nach:

Code:
root@fritz:/var/mod/root# sh -x /var/post_install
+ echo /var/post_install: start
/var/post_install: start
+ sleep 1
+ killall run_clock
+ ps
+ grep -v grep
+ grep -q telefon
+ killall telefon
+ ps
+ grep -q telnetd
+ grep -v grep
+ echo skip deleting language from env
skip deleting language from env
+ echo MODE=update
+ echo disable
+ echo still running:
still running:
+ ps
  PID USER       VSZ STAT COMMAND
    1 root      1336 S    init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [migration/0]
    4 root         0 SW   [ksoftirqd/0]
    5 root         0 SW   [watchdog/0]
    6 root         0 SW   [migration/1]
    7 root         0 SW   [ksoftirqd/1]
    8 root         0 SW   [watchdog/1]
    9 root         0 SW   [yield_w/0]
   10 root         0 SW   [yield_w/1]
   11 root         0 SW   [yield_w/0]
   12 root         0 SW   [yield_w/1]
   13 root         0 SW   [events/0]
   14 root         0 SW   [events/1]
   15 root         0 SW   [khelper]
   18 root         0 SW   [async/mgr]
   34 root         0 SW   [sync_supers]
   35 root         0 SW   [bdi-default]
   37 root         0 SW   [kblockd/0]
   38 root         0 SW   [kblockd/1]
   58 root         0 SW   [kswapd0]
   59 root         0 SWN  [ksmd]
   60 root         0 SW   [aio/0]
   61 root         0 SW   [aio/1]
   75 root         0 SW   [pm_info]
   82 root         0 SWN  [avm_debugd]
  108 root         0 SW   [mtdblockd]
  117 root         0 DW   [ifx_ssc]
  128 root         0 SW   [l2tp]
  132 root         0 SW   [tffsd]
  133 root         0 SW   [avmnet_workqueu]
  134 root         0 SW   [PhyWaspHeartbea]
  140 root         0 SW   [avmnet_timer]
  142 root         0 SW<  [loop0]
  174 root         0 SW   [yaffs-bg-1]
  355 root         0 SW   [cleanup_timer_f]
  431 root         0 SW   [yaffs-bg-1]
  444 root         0 SW   [capi_pipew/0]
  445 root         0 SW   [capi_pipew/1]
  446 root         0 SW   [capi_schedw/0]
  447 root         0 DW   [capi_schedw/1]
  448 root         0 SW   [pcmlink_ctrl]
  451 root         0 SW   [capitransp]
  455 root         0 SW<  [avm_dect_thread]
  686 root      1060 S <  /sbin/udevd --daemon
  691 root      1336 S    {busybox} tail -f /nohup.out
  706 root         0 SW   [khubd]
  919 root      2364 S    /bin/configd
 1013 root         0 SW   [scsi_eh_0]
 1014 root         0 SW   [usb-storage]
 1051 root      5060 S    dsl_control -i10_00_10_40_00_04_01_07 -f/lib/modules/dsp_vr9/vr9-B-dsl.bin -n/etc/dsl/notify/dsl_notify.sh
 1060 root      3904 S    dsl_monitor -d
 1289 root      2600 S    avmipcd
 1297 root      3120 S    l2tpv3d
 1304 root     15056 S    /usr/bin/avm/ctlmgr
 1323 root      8340 S    upnpd
 1402 root         0 SW   [autbtex]
 1403 root         0 SW   [pmex_ne]
 1404 root         0 SW   [pmex_fe]
 1440 root      3960 S    multid -d
 1461 root      3296 S    upnpdevd
 1473 root      4392 S    wland -B
 1492 root      4292 S    dsld -i -n
 1507 root         0 SW   [wlan_com_tx_thr]
 1508 root      4836 S    pbd
 1543 root      6020 D    telefon a127.0.0.1
 1580 root      5804 S <  voipd
 1614 root      1060 S <  /sbin/udevd --daemon
 1627 root      8668 S    /usr/bin/aha
 1636 root      1060 S <  /sbin/udevd --daemon
 1644 root      1260 S    hostapd -g /var/run/hostapd/global
 1648 root         0 SW   [tgt_alive_poll_]
 1833 root      1332 S    {busybox} httpd-webcfg -P /var/run/webcfg.pid -p 81 -c /mod/etc/webcfg.conf -h /usr/mww/ -r Freetz
 1907 root      1272 S    wpa_supplicant -g /var/run/wpa_supplicant/global -D athr
 1923 root      1332 S    {busybox} inetd
 2079 root      3488 S    usermand
 2081 root      3364 S    contfiltd
 2562 root      1336 S    init
 3658 root       608 S    dropbear -p 22 -0
 3968 root       676 D    dropbear -p 22 -0
 3969 root      1356 S    -sh
 4017 root      1340 S    {busybox} sh -x /var/post_install
 4027 root      1336 R    {busybox} ps
+ lsmod
Module                  Size  Used by    Tainted: P
userman_mod            68964  4
atd                   162329  0
fwd                    14306  1 atd
athlogger               7786  0
hif_gmac               13148  3 atd,fwd,athlogger
adf                   130044  2 atd,fwd
aae                   119318  3 atd,fwd,hif_gmac
nls_iso8859_1           3289  1
nls_cp437               4959  1
kdsldmod             1588145  9 userman_mod
ifxmips_ppa_datapath_vr9_e5   156238  0
dsl_vr9               303672  2
mei_vr9               181834  4 ifxmips_ppa_datapath_vr9_e5,dsl_vr9
usb_storage            47720  1
sd_mod                 35935  2
scsi_mod              167797  2 usb_storage,sd_mod
xhci                   61748  0
usbcore               173212  3 usb_storage,xhci
vfat                   12052  1
fat                    63670  1 vfat
dect_io                12905  0
avm_dect              277747  1 dect_io
capi_codec            427173  0
isdn_fbox_fon5        893763  4
pcmlink               415419  4 avm_dect,capi_codec,isdn_fbox_fon5
Piglet_noemif          51958  0
rtc_avm                 5880  1 pcmlink
led_modul_Fritz_Box_HW185   105881  4
+ sleep 1
+ update_state=good
+ echo Erase mtd partitions 0 and 1 ...
Erase mtd partitions 0 and 1 ...
+ /sbin/update_kernel -o /dev/mtd0
info 0x0
{mtd_info} type 0x4
{mtd_info} size 0x400000
{mtd_info} erasesize 0x20000
{mtd_info} writesize 0x800
{mtd_info} oobsize 0x40
[main] exit error 0
+ /sbin/update_kernel -o /dev/mtd1
info 0x0
{mtd_info} type 0x4
{mtd_info} size 0x3000000
{mtd_info} erasesize 0x20000
{mtd_info} writesize 0x800
{mtd_info} oobsize 0x40
[main] exit error 0
+ echo Copy kernel image...
Copy kernel image...
+ /sbin/update_kernel -i /var/tmp/kernel.image -o /dev/mtd0
info 0x0
{mtd_info} type 0x4
{mtd_info} size 0x400000
{mtd_info} erasesize 0x20000
{mtd_info} writesize 0x800
{mtd_info} oobsize 0x40
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] append 115192 Bytes
[main] written 0x20000 Bytes
[main] eof reached
[main] exit error 0
+ [ 0 -ne 0 ]
+ echo Copy filesystem image ...
Copy filesystem image ...
+ mkdir -p /var/tmp/fs
+ mkdir -p /var/tmp/fs_mtd
+ mount -t squashfs /var/tmp/filesystem.image /var/tmp/fs
mount: mounting /dev/loop1 on /var/tmp/fs failed: Invalid argument
+ mount -t yaffs2 /dev/mtdblock1 /var/tmp/fs_mtd
+ mount
+ grep /var/tmp/fs type squashfs
+ var_mount_squashfs=
+ [ -z  ]
+ echo filesystem.image: cannot mount squashfs, trying ext2 ...
filesystem.image: cannot mount squashfs, trying ext2 ...
+ dd if=/var/tmp/filesystem.image of=/var/tmp/fsimage.ext2 bs=256 skip=1 conv=sync
BusyBox v1.23.2 (2015-11-13 18:23:32 CET) multi-call binary.

Usage: dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N]
        [seek=N]

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
        count=N         Copy only N input blocks
        skip=N          Skip N input blocks
        seek=N          Skip N output blocks

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

+ [ 1 -eq 0 ]
+ mount
+ grep /var/tmp/fs type ext2
+ var_mount_ext2=
+ [ -n  ]
+ mount
+ grep /dev/mtdblock1
+ var_mount_mtd=/dev/mtdblock1 on /var/tmp/fs_mtd type yaffs2 (rw,relatime)
+ [ -z  ]
+ [ -z  ]
+ echo failed to mount filesystem.image
failed to mount filesystem.image
+ update_state=bad
+ [ -z /dev/mtdblock1 on /var/tmp/fs_mtd type yaffs2 (rw,relatime) ]
+ [ bad = good ]
+ [ bad = good ]
+ echo Setting linux_fs_start skipped due to errors...
Setting linux_fs_start skipped due to errors...
+ umount /var/tmp/fs
umount: can't umount /var/tmp/fs: Invalid argument
+ umount /var/tmp/fs_mtd
+ rmdir /var/tmp/fs
+ rmdir /var/tmp/fs_mtd
+ exit 0
root@fritz:/var/mod/root#

Sieht so aus als ob dd mit dem conv=sync nicht klar kommt. Aber der mount geht vorher auch schon schief...
 
Zuletzt bearbeitet:
Ich bin zwar nicht der eigentliche Empfänger, aaaaaaaber auch bei mir ist die OEM Variable leer.
Das ist bei Dir auch nicht weniger erstaunlich ... einfach weil die Variable in rc.conf so ermittelt wird:
Code:
##########################################################################################
## OEM Ermitteln
##########################################################################################
OEM_tmp=`cat $CONFIG_ENVIRONMENT_PATH/firmware_version`
if [ -z "${OEM_tmp}" ] ; then
OEM_tmp=$CONFIG_OEM_DEFAULT
fi
OEM=${OEM_tmp%,*}
OEM_DEFAULT_INDEX=${OEM_tmp#*,}
if [ "$OEM_DEFAULT_INDEX" = "$OEM" ] ; then
OEM_DEFAULT_INDEX=""
fi
export OEM_DEFAULT_INDEX
export OEM
Selbst wenn also die "firmware_version" (aka Branding) im Urlader-Environment fehlt, sollte es in der Firmware (irgendwo vorher in der rc.conf) eine Variable CONFIG_OEM_DEFAULT geben - bei der 113.06.30 steht da eben ein:
Code:
export CONFIG_OEM_DEFAULT="avm"
Da auch die Firmware intern gerne Gebrauch von dieser Variablen macht (z.B. um den Pfad zu den Standardeinstellungen /etc/default.$CONFIG_PRODUKT/$OEM zu bilden), bin ich schon verblüfft, wie das sein kann ... wahrscheinlich fliegt die irgendwie bei einer Bereinigung des Environments raus, so daß das install-Skript sie nicht mehr sieht - alles andere würde mich aufs Äußerste überraschen, wenn eine Firmware ohne OEM im (Linux-)Environment überhaupt arbeitet; dann müßte an vielen vielen Stellen ein "fallback" vorgesehen sein.

Sieht so aus als ob dd mit dem conv=sync nicht klar kommt. Aber der mount geht vorher auch schon schief...
Der erste Mount-Befehl geht absichtlich schief (es ist eben kein SquashFS-Image) ... das "dd" sollte aber tatsächlich funktionieren. Das "conv" ist bei der Busybox eine optionale Erweiterung (Symbol FREETZ_BUSYBOX_FEATURE_DD_IBS_OBS in der Freetz-Konfiguration), die man beim Erstellen auslassen kann und das war bisher bei Freetz entweder der Standard oder es wurde von den Leuten mit dem Problem abgewählt. Da ja ohnehin schon ein Patch für /var/install in Freetz existiert, kann man dort ja auch das "conv=sync" entfernen lassen ... die Dateilänge der "filesystem.image" sollte ohnehin ein Vielfaches von 256 sein und damit dürfte auch beim Wegschneiden des ersten Blocks keine zu füllende Lücke am Ende der Datei auftreten - das wird also nach meiner Ansicht schlicht nicht gebraucht.
 
Ich hab mal ein Image gebaut aus einem frischen checkout in dem ich lediglich Expert gesetzt habe um 06.50 auszuwählen und sonst nix (minimal build quasi) - anschließend hab ich das conv mal entfernt im post_install:

Code:
root@fritz:/var/mod/root# vi /var/post_install
root@fritz:/var/mod/root# sh -x /var/post_install
+ echo /var/post_install: start
/var/post_install: start
+ sleep 1
+ killall run_clock
+ ps
+ grep -v grep
+ grep -q telefon
+ killall telefon
+ ps
+ grep -q telnetd
+ grep -v grep
+ echo skip deleting language from env
skip deleting language from env
+ echo MODE=update
+ echo disable
+ echo still running:
still running:
+ ps
  PID USER       VSZ STAT COMMAND
    1 root      1336 S    init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [migration/0]
    4 root         0 SW   [ksoftirqd/0]
    5 root         0 SW   [watchdog/0]
    6 root         0 SW   [migration/1]
    7 root         0 SW   [ksoftirqd/1]
    8 root         0 SW   [watchdog/1]
    9 root         0 SW   [yield_w/0]
   10 root         0 SW   [yield_w/1]
   11 root         0 SW   [yield_w/0]
   12 root         0 SW   [yield_w/1]
   13 root         0 SW   [events/0]
   14 root         0 SW   [events/1]
   15 root         0 SW   [khelper]
   18 root         0 SW   [async/mgr]
   34 root         0 SW   [sync_supers]
   35 root         0 SW   [bdi-default]
   37 root         0 SW   [kblockd/0]
   38 root         0 SW   [kblockd/1]
   58 root         0 SW   [kswapd0]
   59 root         0 SWN  [ksmd]
   60 root         0 SW   [aio/0]
   61 root         0 SW   [aio/1]
   75 root         0 SW   [pm_info]
   82 root         0 SWN  [avm_debugd]
  108 root         0 SW   [mtdblockd]
  117 root         0 DW   [ifx_ssc]
  128 root         0 SW   [l2tp]
  132 root         0 SW   [tffsd]
  133 root         0 SW   [avmnet_workqueu]
  134 root         0 SW   [PhyWaspHeartbea]
  140 root         0 SW   [avmnet_timer]
  142 root         0 SW<  [loop0]
  174 root         0 SW   [yaffs-bg-1]
  357 root         0 SW   [cleanup_timer_f]
  433 root         0 SW   [yaffs-bg-1]
  446 root         0 SW   [capi_pipew/0]
  447 root         0 SW   [capi_pipew/1]
  448 root         0 SW   [capi_schedw/0]
  449 root         0 DW   [capi_schedw/1]
  450 root         0 SW   [pcmlink_ctrl]
  453 root         0 SW   [capitransp]
  454 root         0 SW   [flush-31:0]
  457 root         0 SW<  [avm_dect_thread]
  687 root      1048 S <  /sbin/udevd --daemon
  692 root      1336 S    {busybox} tail -f /nohup.out
  708 root         0 SW   [khubd]
  886 root      2364 S    /bin/configd
 1026 root         0 SW   [scsi_eh_0]
 1027 root         0 SW   [usb-storage]
 1050 root      5060 S    dsl_control -i10_00_10_40_00_04_01_07 -f/lib/modules/dsp_vr9/vr9-B-dsl.bin -n/etc/dsl/notify/dsl_notify.sh
 1060 root      3904 S    dsl_monitor -d
 1266 root      2600 S    avmipcd
 1268 root      3120 S    l2tpv3d
 1295 root     15052 S    /usr/bin/avm/ctlmgr
 1305 root      8344 S    upnpd
 1397 root         0 SW   [autbtex]
 1398 root         0 SW   [pmex_ne]
 1399 root         0 SW   [pmex_fe]
 1428 root      3964 S    multid -d
 1446 root      3296 S    upnpdevd
 1459 root      4392 S    wland -B
 1475 root      4292 S    dsld -i -n
 1499 root         0 SW   [wlan_com_tx_thr]
 1528 root      4836 S    pbd
 1552 root      6020 D    telefon a127.0.0.1
 1573 root      5804 S <  voipd
 1604 root      1048 S <  /sbin/udevd --daemon
 1620 root      1048 S <  /sbin/udevd --daemon
 1622 root      8668 S    /usr/bin/aha
 1626 root      1260 S    hostapd -g /var/run/hostapd/global
 1638 root         0 SW   [tgt_alive_poll_]
 1839 root      1332 S    {busybox} httpd-webcfg -P /var/run/webcfg.pid -p 81 -c /mod/etc/webcfg.conf -h /usr/mww/ -r Freetz
 1857 root      1272 S    wpa_supplicant -g /var/run/wpa_supplicant/global -D athr
 1992 root      1332 S    {busybox} inetd
 2389 root      1336 S    init
 2392 root      3488 S    usermand
 2395 root      3364 S    contfiltd
 2968 root       608 S    dropbear -p 22 -0
 3113 root       676 S    dropbear -p 22 -0
 3114 root      1356 S    -sh
 3383 root      1340 S    {busybox} sh -x /var/post_install
 3393 root      1336 R    {busybox} ps
+ lsmod
Module                  Size  Used by    Tainted: P
userman_mod            68964  4
atd                   162329  0
fwd                    14306  1 atd
athlogger               7786  0
hif_gmac               13148  3 atd,fwd,athlogger
adf                   130044  2 atd,fwd
aae                   119318  3 atd,fwd,hif_gmac
nls_iso8859_1           3289  1
nls_cp437               4959  1
kdsldmod             1588145  9 userman_mod
ifxmips_ppa_datapath_vr9_e5   156238  0
usb_storage            47720  1
dsl_vr9               303672  2
sd_mod                 35935  2
scsi_mod              167797  2 usb_storage,sd_mod
mei_vr9               181834  4 ifxmips_ppa_datapath_vr9_e5,dsl_vr9
xhci                   61748  0
usbcore               173212  3 usb_storage,xhci
vfat                   12052  1
fat                    63670  1 vfat
dect_io                12905  0
avm_dect              277747  1 dect_io
capi_codec            427173  0
isdn_fbox_fon5        893763  4
pcmlink               415419  4 avm_dect,capi_codec,isdn_fbox_fon5
Piglet_noemif          51958  0
rtc_avm                 5880  1 pcmlink
led_modul_Fritz_Box_HW185   105881  4
+ sleep 1
+ update_state=good
+ echo Erase mtd partitions 0 and 1 ...
Erase mtd partitions 0 and 1 ...
+ /sbin/update_kernel -o /dev/mtd0
info 0x0
{mtd_info} type 0x4
{mtd_info} size 0x400000
{mtd_info} erasesize 0x20000
{mtd_info} writesize 0x800
{mtd_info} oobsize 0x40
[main] exit error 0
+ /sbin/update_kernel -o /dev/mtd1
info 0x0
{mtd_info} type 0x4
{mtd_info} size 0x3000000
{mtd_info} erasesize 0x20000
{mtd_info} writesize 0x800
{mtd_info} oobsize 0x40
[main] exit error 0
+ echo Copy kernel image...
Copy kernel image...
+ /sbin/update_kernel -i /var/tmp/kernel.image -o /dev/mtd0
info 0x0
{mtd_info} type 0x4
{mtd_info} size 0x400000
{mtd_info} erasesize 0x20000
{mtd_info} writesize 0x800
{mtd_info} oobsize 0x40
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] written 0x20000 Bytes
[main] append 115192 Bytes
[main] written 0x20000 Bytes
[main] eof reached
[main] exit error 0
+ [ 0 -ne 0 ]
+ echo Copy filesystem image ...
Copy filesystem image ...
+ mkdir -p /var/tmp/fs
+ mkdir -p /var/tmp/fs_mtd
+ mount -t squashfs /var/tmp/filesystem.image /var/tmp/fs
mount: mounting /dev/loop1 on /var/tmp/fs failed: Invalid argument
+ mount -t yaffs2 /dev/mtdblock1 /var/tmp/fs_mtd
+ mount
+ grep /var/tmp/fs type squashfs
+ var_mount_squashfs=
+ [ -z  ]
+ echo filesystem.image: cannot mount squashfs, trying ext2 ...
filesystem.image: cannot mount squashfs, trying ext2 ...
+ dd if=/var/tmp/filesystem.image of=/var/tmp/fsimage.ext2 bs=256 skip=1
89684+0 records in
89684+0 records out
+ [ 0 -eq 0 ]
+ mount -t ext2 /var/tmp/fsimage.ext2 /var/tmp/fs
+ rm -f /var/tmp/filesystem.image
+ mount
+ grep /var/tmp/fs type ext2
+ var_mount_ext2=/dev/loop1 on /var/tmp/fs type ext2 (rw,relatime)
+ [ -n /dev/loop1 on /var/tmp/fs type ext2 (rw,relatime) ]
+ echo filesystem.image: ... mount ext2 done
filesystem.image: ... mount ext2 done
+ mount
+ grep /dev/mtdblock1
+ var_mount_mtd=/dev/mtdblock1 on /var/tmp/fs_mtd type yaffs2 (rw,relatime)
+ [ -z  ]
+ [ -z /dev/loop1 on /var/tmp/fs type ext2 (rw,relatime) ]
+ [ -z /dev/mtdblock1 on /var/tmp/fs_mtd type yaffs2 (rw,relatime) ]
+ [ good = good ]
+ echo Copy filesystem ...
Copy filesystem ...
+ cp -R /var/tmp/fs/bin /var/tmp/fs/core /var/tmp/fs/dev /var/tmp/fs/etc /var/tmp/fs/filesystem_core.squashfs /var/tmp/fs/lib /var/tmp/fs/lost+found /var/tmp/fs/proc /var/tmp/fs/sbin /var/tmp/fs/tmp /var/tmp/fs/usr /var/tmp/fs/var /var/tmp/fs_mtd
+ [ 0 -ne 0 ]
+ echo ... Copy filesystem done
... Copy filesystem done
+ [ good = good ]
+ echo Setting linux_fs_start mirror...
Setting linux_fs_start mirror...
+ echo linux_fs_start 0
+ umount /var/tmp/fs
+ umount /var/tmp/fs_mtd
+ rmdir /var/tmp/fs
+ rmdir /var/tmp/fs_mtd
+ exit 0
root@fritz:/var/mod/root#

Die Box kommt aber nicht hoch. Aber damit würde das post_install zumindest weitermachen... Was mit beim anschließenden recover aber aufgefallen ist: Im Recover wurde die Box immer noch mit 06.30 gemeldet, sollte nach post_install und reboot nicht schon 06.50 gemeldet werden?
 
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.