[Gelöst] freetz-trunk erstellt .image und .image.in-memory

WileC

Mitglied
Mitglied seit
28 Nov 2007
Beiträge
395
Punkte für Reaktionen
13
Punkte
18
Hallo liebe freetzler,

ich habe mal eine Frage wegen den letzten Änderungen im Freetz-Trunk. Es wird seit kurzem zusätzlich zur
Code:
*.image
eine
Code:
*.image.in-memory
erstellt.

Wofür wird diese .image.in-memory benötigt?!

Grüße
WileC
 
Zuletzt bearbeitet:
Wofür wird diese .image.in-memory benötigt?!

Zum "flashen" über den Bootloader (EVA) bei DualBoot/NAND-Modellen (über das WebIf ist schließlich mit aktueller Firmware das Hochladen eines (ersten) modifizierten Firmware-Image nicht mehr möglich und der Klassiker "push_firmware" funktioniert bei DualBoot/NAND-Modellen nicht mehr).
Erspart z.B. das Anwenden des "image2ram" Script von Peter Pawn aus seinem GitHub Repository, man braucht (wenn man es nicht manuell machen möchte) also nur noch "eva_to_memory" und evtl. noch "eva_discover" (wer es nicht alleine schafft den Bootloader im FTP-Modus zu halten).

Ein paar weitere Grundlagen/Details dazu s.h. z.B. hier:
https://www.ip-phone-forum.de/threads/287879
https://www.ip-phone-forum.de/posts/2174521


Grund für die letzte Bearbeitung dieses Beitrages ist das Ersetzen der IPPF-Links als BBCode durch normale URL da die entsprechenden BBCodes seit dem Foren-Update von Anfang Juli 2017 nicht mehr funktionieren.
 
Zuletzt bearbeitet:
Aha, vielen Dank schonmal.

Gilt dass dann nur für die unsignierten Firmwares? Meine freetz-images werden ja beim bauen signiert.

Oder brauche ich beide Dateien bei einer nagelneuen bzw. recovered Box?

Danke auch für den Link. Ich glaub ich muss den Thread nochmal lesen :-s
 
@qwertz.asdfgh : Danke für die Infos
 
Hallo,
habe heute Nacht ein automatisches update der Fritzbox auf die aktuelle Labor erhalten. War so von mir nicht gewollt, ist aber passiert. Leider Habe ich jetzt kein Freetz mehr drauf. Habe bisher immer damit aktualisiert.
Habe mir jetzt ein aktuelles freetz-trunk gebaut mit diesen 2 Firmware-Dateien.
Wenn ich das richtig verstehe brauche ich die 7490_06.69-rev42733_labor-freetz-devel-14048.de_....image.in-memory um freetz wieder auf die jetzt "entfreetzte" Box zu spielen.
Ich arbeite unter Windows7 mit freetz-linux in einer Virtual-Box-VM.
Bin leider aus den oben angegeben Verlinkungen nicht wirklich schlau geworden, bzw. habs sicher auch falsch gemacht!?
Habe versucht die .sh-Dateien unter freetz-linux auszuführen. Kommt der Fehler:

Temporär.JPG

Bin für Hilfe dankbar. Steh irgendwie aufm Schlauch.

Edit: Oder ist die vorige Firmware irgendwie noch im Speicher der 7490 (die hat ja wohl irgendwie 2 Art parallele) und die kann wieder reaktiviert werden?

microsat
 
Zuletzt bearbeitet:
Moin


Such nach: linux_fs_start
(Möglicher Inhalt: 0 oder 1)
Ort: ADAM2/EVA Environment
Methode: FTP bei Kaltstart
Tipp: Ohne Internetverbindung (DSL-Stecker raus)
 
habe heute Nacht ein automatisches update der Fritzbox auf die aktuelle Labor erhalten. War so von mir nicht gewollt, ist aber passiert.
Wer Freetz einsetzt sollte (insb. i.V.m dem Einsatz von Labor Versionen) sich vielleicht überlegen unter "AVM Service" (WebIf > Inhalt) die Autoupdate Funktion komplett abzuschalten und/oder sich zumindest besser informieren/vorbereiten.

Das von dir beobachtete Verhalten war jedenfalls Absicht da AVM die Auto-Update Funktion "für dringende Fälle" mit der entsprechenden Labor-Version testen wollte, siehe dazu auch das entsprechende Labor-Thema mit dem Changelog von AVM wo dieses Autoupdate angekündigt wurde.

Leider Habe ich jetzt kein Freetz mehr drauf.
In deinem Fall reicht es aus einfach die Variable "linux_fs_start" wieder umzustellen (anschließend läuft wieder dein vorhergehendes Freetz-Image), das geht am schnellsten/einfachsten.
Anschließend natürlich nicht vergessen, eine aktuelle Firmware-Version (per WebIf) aufzuspielen und/oder die Autoupdate Funktion komplett abzuschalten.


Edit:
War mal wieder zu langsam... ;)

- - - Aktualisiert - - -

@gismotro
Dank lieber PeterPawn (und er13).
 
Danke koyaanisqatsi und qwertz.asdfgh, hat bisschen gedauert (wegen der Basics), dann gut geklappt. Wenn man weiß wie's geht, ganz einfach :D.
 
Zuletzt bearbeitet:
Und wie hast du's gemacht?
 
Dazu gibt es eine sehr ausführliche/umfangreiche Anleitung in PeterPawns GitHub Repository.
 
Hallo WileC,
folgendermaßen, (habs mir gespeichert, falls ich's wieder mal brauche):
In Windows -Eingabeaufforderung: mit "cmd"
Fritzbox an Strom anschließen (vorher natürlich abstöpseln)
innerhalb von 5 sec in "cmd" eingeben: "ftp 192.168.178.1"
dann
USER: adam2
PASS: adam2

dann eingeben:
bin
quote GETENV linux_fs_start

- Antwort ist 0 oder 1

dann:
quote SETENV linux_fs_start 1 (oder 0)

quote REBOOT

quit

Das war's.
 
Vielen Dank für deine Erklärung. Welche Datei nimmst du dann für den Upload?! die .in-memory, oder die .image ?!
 
Bei mir war die gefreetzte Firmware ja noch im "Parallel-Universum" gespeichert. Ich musste nur umswitchen.
Dann war ich wieder auf der alten Laborversion, hab dort das automatische updaten durch AVM abgestellt und die neue von mir gefreetzte Laborversion über das Freetz-interne Update hochgeladen. Dabei wird (wie "immer") die .image-Datei benötigt.
Ich vermute, dass die .in-memory-Datei genutzt werden muss, wenn man direkt aus dem Bootloader-FTP-ADAM/EVA die gefreetzte Firmware hochladen möchte, aber wie der Befehl zum Hochladen ist, weiß ich nicht. Evtl. noch mal bei den Spezialisten nachhaken.
Bei mir war das, wie gesagt, nicht nötig. Solange auf der Box freetz läuft kommt man ja mit http://fritz.box:81 an die freetz-interne update-Funktion ran.
 
Bei mir war die gefreetzte Firmware ja noch im "Parallel-Universum" gespeichert. Ich musste nur umswitchen.
Dann war ich wieder auf der alten Laborversion, hab dort das automatische updaten durch AVM abgestellt und die neue von mir gefreetzte Laborversion über das Freetz-interne Update hochgeladen. Dabei wird (wie "immer") die .image-Datei benötigt.
Ich vermute, dass die .in-memory-Datei genutzt werden muss, wenn man direkt aus dem Bootloader-FTP-ADAM/EVA die gefreetzte Firmware hochladen möchte, aber wie der Befehl zum Hochladen ist, weiß ich nicht. Evtl. noch mal bei den Spezialisten nachhaken.
Bei mir war das, wie gesagt, nicht nötig. Solange auf der Box freetz läuft kommt man ja mit http://fritz.box:81 an die freetz-interne update-Funktion ran.



Sorry ich blick's leider immer noch nicht,

dass man aktuelle Freetzversionen flashen kann indem man über http://fritz.box:81 und die freetz-interne update-Funktion sowohl die .image und anschliessend die .in-memory Datei hochlädt ?
 
Zuletzt bearbeitet:
Die erzeugte "image"-Datei wird für den Upload bei Verwendung einer "gestarteten" FRITZ!Box benötigt ... die kann man also entweder mit der Freetz-Funktion zum Update benutzen (da erfolgt ja keine Signaturprüfung) oder auch - zumindest ab dem zweiten, eigenen Freetz-Image, wenn man im ersten seinen eigenen Schlüssel zum Signieren hinterlegen ließ - über die AVM-Seite zur Aktualisierung mittels einer Datei.

Das erzeugte "in-memory"-Image wird nur dann benötigt, wenn man die beiden anderen Update-Möglichkeiten nicht nutzen kann, weil man (a) noch kein Freetz auf der Box hat oder (b) kein signiertes Image erzeugen kann oder (c) dieses nicht als gültig angesehen wird, weil der eigene öffentliche Schlüssel nicht in der installierten Firmware enthalten ist.

Die originale AVM-Firmware akzeptiert ja bekanntlich keine unsignierten bzw. mit einem unbekannten Schlüssel signierten Images, also braucht es einen anderen Weg.

Da kann man jetzt den steinigen, langwierigen und vollkommen unnötigen Weg über ein Downgrade per Recovery-Programm auf eine Version, die noch unsignierte Firmware akzeptiert, einschlagen ... oder man macht sich einfach mal mit den Update-Mechanismen vertraut und lädt das erzeugte "in-memory"-Image über den Bootloader in den Speicher der FRITZ!Box (das betrifft jetzt die NAND-Modelle, bei denen die Installation direkt im Flash über den Bootloader nicht möglich ist) und startet es von dort, woraufhin sich die Firmware wie von Geisterhand selbst in den Flash-Speicher schreibt.

Allerdings macht sie das genau so, wie es ein Recovery-Programm auch tun würde ... sie überschreibt das gerade als "aktiv" markierte System (anhand des Inhalts von "linux_fs_start"). Wenn man also die zuletzt verwendete Firmware und das neue System auf der Box haben will (anstelle der vorletzten und der neuen Version), dann muß man (beim derzeit erzeugten "in-memory"-Image, das noch die originale Datei "/sbin/flash_update" im äußeren Dateisystem verwendet) zuvor noch von Hand "linux_fs_start" auf die alternative Version umstellen.

Unterstützung in Form von passenden Skript-Dateien (für Linux als auch für Windows, dort dann in "PowerShell") - sowohl für das Starten eines solchen Images aus dem bzw. im Speicher der FRITZ!Box als auch für das Umschalten auf das alternative System - findet man in meinem GitHub-Repository im Unterverzeichnis "eva_tools" und in irgendwelchen Threads hier habe ich diese Dateien "angekündigt" und ihre Handhabung (zumindest grob) beschrieben.

Die Verwendung (oder selbstverständlich auch das Ignorieren) dieser Dateien steht jedem frei - das Repo ist öffentlich zugänglich. Sollte jemand tatsächlich trotz Lesens der betreffenden IPPF-Beiträge und der Skript-Dateien (auch in deren Kommentaren findet man bestimmt ein paar Informationen) Schwierigkeiten damit haben, kann man ihm bestimmt auch weiterhelfen ... allerdings würde ich jeden darum bitten, zuerst einmal selbst zu suchen und zu lesen und wenn dann wieder jemand "trotz tagelanger Suche" nichts weiter finden kann, muß er (sofern er von mir Hilfe erwartet) auch damit rechnen, daß ich solche Aussagen hinterfrage. Das sage ich hiermit deutlich vorher an, damit nicht hinterher wieder irgendwelche Mißverständnisse auftreten und mir jemand vorwerfen kann, ich würde ihn mit einer Nachfrage, die seine behaupteten Anstrengungen durch den simplen "Nachweis" entsprechender Suchergebnisse/-erfolge in Zweifel zieht, "von oben herab" behandeln.

Ich bin zwar (wirklich) gerne zur Hilfe bereit ... aber nur an den Stellen, wo jemand am Ende trotz (nachweislicher) eigener und angemessener Anstrengungen nicht weiterkommt und nicht dort, wo ganz offenkundig die "Faulheit" (oder der Weg des geringsten Widerstands) die eigentliche Triebfeder einer (unnötigen) Nachfrage ist.
 
Ich bin zwar (wirklich) gerne zur Hilfe bereit ... aber nur an den Stellen, wo jemand am Ende trotz (nachweislicher) eigener und angemessener Anstrengungen nicht weiterkommt und nicht dort, wo ganz offenkundig die "Faulheit" (oder der Weg des geringsten Widerstands) die eigentliche Triebfeder einer (unnötigen) Nachfrage ist.
Am I mistaken in that I think I meet up to your qualifications?
I'm stuck and would really appreciate a little push...
 
@frater:
Your problem occured in the wrongest possible moment ... a new ("fresh") release of 06.80 for 7490 and the analysis of the (now immutable) new features and changes is the first priority now. This release was announced only 3 hours after your last writing in the other thread and even if I read your text on Monday, I had no time to look into the problem or to write an answer until now.

If you later added some facts using "edit mode", I can't see the thread in my "news" list - the last info I've read was, that you will try to create a DHCP packet with my little shell library. There was already a first mistake calling "yf_pack" (there's no "data size" (in bits) of "1" as shown in the 3rd parameter) and I thought (better I was sure), you would find this yourself.

OK, let's continue in the other thread ... but not today and (as far I as would predict) not this week. Others problems are more important at the time ... you had something bad with the "chosen" time for your problem. ;-)
 
@frater:
Your problem occured in the wrongest possible moment ... a new ("fresh") release of 06.80 for 7490 and the analysis of the (now immutable) new features and changes is the first priority now. This release was announced only 3 hours after your last writing in the other thread and even if I read your text on Monday, I had no time to look into the problem or to write an answer until now.

If you later added some facts using "edit mode", I can't see the thread in my "news" list - the last info I've read was, that you will try to create a DHCP packet with my little shell library. There was already a first mistake calling "yf_pack" (there's no "data size" (in bits) of "1" as shown in the 3rd parameter) and I thought (better I was sure), you would find this yourself.

OK, let's continue in the other thread ... but not today and (as far I as would predict) not this week. Others problems are more important at the time ... you had something bad with the "chosen" time for your problem. ;-)

No problem whatsoever.
I will revisit it next week and hope you're less busy then.
I fully understand that this new release gets your priority.

Maybe you've already given me another push as you're implying now that I have to give the size each time.
I thought it was only the first parameter... That's probably the mistake.
 
Also ich hab jetzt einiges gelesen und werde aber immer noch nicht richtig schlau:

- Wenn ich eine nagelneue FritzBox habe, brauche ich die EVA-Tools von PeterPawn, um ein Freetz-Image auf die Box zu bekommen, richtig?

- Wenn ich in meiner Linux (Ubuntu) VM bin, kann ich das Skript "eva_to_ram /images/3490blablabla.image.in-memory, während meine Fritzbox startet, richtig?

- aber wie funktioniert das ganze mit dem EVA-FTP-Client.ps1 ? ... wie nutze ich dieses Skript als alter Fenstergucker?
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,695
Beiträge
2,216,692
Mitglieder
371,315
Neuestes Mitglied
jack-mack
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.