Mit welchem Befehl bekomme ich die FW Version des inaktiven Systems in einer 7490/7580/7590 raus?

eisbaerin

IPPF-Urgestein
Mitglied seit
29 Sep 2009
Beiträge
11,377
Punkte für Reaktionen
1,064
Punkte
113
Hat bitte mal einer den richtigen Befehl für das CLI.
 
Unter EVA:

Code:
quote GETENV linux_fs_start
 
Zuletzt bearbeitet:
Es gibt keinen einzelnen Befehl ... einerseits wg. der Vielzahl an Werten, die man zusammensuchen kann/muß und andererseits wg. Änderungen, die AVM im Laufe der Jahre dort vorgenommen hat.

Ich habe ein Shell-Skript im Angebot, das - nach derzeitigen Stand und inkl. 07.1x, wo sich der Inhalt der "/etc/version" ja wieder deutlich geändert hat - diese Angaben aus dem "/etc"-Zweig des als Parameter angegebenen Root-Dateisystems zusammensucht: https://github.com/PeterPawn/YourFr...ase/signimage/database/extract_version_values

Das braucht aber eben ein solchermaßen entpacktes oder gemountetes Dateisystem (wenn man den Teil mit der Erkennung der unterstützten Brandings wegläßt, braucht es nur die "/etc/version" und die "/etc/init.d/rc.conf") - dafür kommt es wieder mal mit "grep", "sed", "find" und "date" als externe Kommandos aus ("printf" sollte intern sein) und sollte auf jedem System laufen können, das eine POSIX-Shell bietet.

Benötigt man weniger Angaben, kann man die entsprechenden Ausgaben weglassen - oder auch eigene, zusätzliche Werte nach dem gezeigten Schema auslesen.

Das Entpacken oder Mounten des zu untersuchenden Dateisystems muß man dann halt drumherum bauen ... bei der 7580/7590 kann man direkt das MTD-Block-Device mit dem Dateisystem mounten und das Skript dann auf diesen Mount-Point ansetzen (das "/etc" darin sucht es sich selbst) - hinterher sollte man es wieder dismounten. Wobei zwei read/only-Mounts auch nichts schaden ... nur bei der 7490 ist es komplizierter.

Da liegt in der alternativen Dateisystem-Partition ein YAFFS2-Dateisystem, das man erst einmal (am besten auch read/only, wobei man hier - im Gegensatz zum SquashFS-Image, was immer r/o gemountet wird - die Optionen selbst angeben muß) irgendwo mounten muß, um dann das darin enthaltene SquashFS-Image (filesystem_core.squashfs) per Loop-Device zu mounten.

Das ist jedenfalls einigermaßen komplex ... zumindest bei den VR9-Boxen mit der Wrapper-Partition. Eine alternative Implementierung findet man auch im Boot-Manager: https://github.com/PeterPawn/YourFritz/blob/master/bootmanager/gui_bootmanager#L694

Hat man den also in seinem Image, kann man auch mit "gui_bootmanager get_values [nocache]" das (erneute - bei "nocache") Auslesen in die Wege leiten: https://github.com/PeterPawn/YourFritz/blob/master/bootmanager/gui_bootmanager#L51 - das kommt vielleicht einem einzelnen CLI-Befehl noch am nächsten, bietet aber auch nur beschränkten Umfang an Infos.
 
  • Haha
Reaktionen: NDiIPP
Ich habe es geschafft. Einfach "gui_bootmanager debug" eingeben und schon wird alles angezeigt:
Code:
7590:# gui_bootmanager0.6 debug
system type = GRX500
system selector = 1
system is switched = false
system branding = 1und1
system branding is changeable = false
active kernel = /dev/mtdblock3
active filesystem = /dev/mtdblock6
active system version = 154.07.08-67449
active system date = 03.04.2019, 17:19:14 Uhr
active system modification date =
active system modification source =
brandings supported on active system = 1und1 avm
inactive kernel = /dev/mtdblock0
inactive system is installed = true
inactive filesystem = /dev/mtdblock5
inactive filesystem mounted on /var/tmp/30361_1560349287/alt_root
inactive system version = 154.07.08-63770
inactive system date = 29.11.2018, 12:19:08 Uhr
inactive system modification date =
inactive system modification source =
brandings supported on inactive system = 1und1 avm
inactive filesystem dismounted
7590:#
 
Die Ausgabe bei "debug" ist aber schlechter geeignet für die eigene Weiterverarbeitung ... das würde ich tatsächlich nur verwenden, wenn jemand die Ergebnisse lesen soll/will. Geht es eher darum, die Angaben in anderen Skript-Dateien weiterzuverwenden, ist "get_values" zumindest meine Empfehlung.

Dort kann man die Ausgabe auch einfach durch ein "eval $(gui_bootmanager get_values)" jagen und hat dann die Informationen direkt in Shell-Variablen vorliegen - zumindest ist das Format der Ausgabe (name="value" für Zeichenketten und name=value für definitiv lokal gesetzte numerische und logische Werte ohne die Option, daß dort Whitespaces enthalten sind) darauf ausgelegt.
 
Bei einer 7272 geht es auch.
Bei einer 7412 klappt es aber nicht. warum?
Code:
7412:/var/tmp# gui_bootmanager0.6 debug
system type = VR9
system selector = 1
system is switched = false
system branding = avm
system branding is changeable = true
active kernel = /dev/mtdblock2
active filesystem = /wrapper/filesystem_core.squashfs
active system version = 137.06.83
active system date = 07.03.2017, 13:00:32 Uhr
active system modification date = 29.03.2017, 07:53:14 Uhr
active system modification source = modfs
brandings supported on active system = 1und1 avm
inactive kernel = /dev/mtdblock0
inactive system is installed = true
inactive filesystem = mount:/dev/mtdblock1:/filesystem_core.squashfs
7412:/var/tmp#

EDIT:
Auf einer anderen 7412 geht es.
Wahrscheinlich ist bei der einen die FW sehr alt im inaktiven System.
 
Zuletzt bearbeitet:
Ja, den 06.50-Äquator kann der Boot-Manager weder in der einen, noch in der anderen Richtung queren.

Da das inaktive Dateisystem ja gemountet werden muß und der Boot-Manager dazu auf das laufende System zurückgreift, muß dieses laufende System auch das verwendete SquashFS-Format kennen und das ist bei < 06.50 (SquashFS3) und >= 06.50 (SquashFS4) wechselseitig nicht gegeben.
 
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.