Seite 2 von 2 ErsteErste 12
Ergebnis 21 bis 34 von 34

Thema: freetz-trunk erstellt .image und .image.in-memory

  1. #21
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.771
    @WileC:
    Das ist ein PowerShell-Skript ... dieses neue "command line interface" ist seit einigen Windows-Versionen Bestandteil des Systems.

    Um unsignierte Skript-Dateien zu verwenden, muß man eine (Sicherheits-)Einstellung anpassen (die kann man ggf. im Anschluß wieder ändern) oder die Dateien selbst signieren (auch dazu muß man Einstellungen anpassen, daher ist die erste Option die einfachere) - das ist auch keine "Spezialität" meiner Dateien, das gilt für alle "ps1"-Dateien (bzw. die Verwendung von PowerShell). Wie das geht, steht im Internet ...

    Dann kann man mit "EVA-Discover.ps1" die FRITZ!Box in Netzwerk suchen lassen (das ist optional und erleichtert die Handhabung, weil man die FRITZ!Box an den Computer anpassen kann und nicht den Computer (beim Netzwerk) umkonfigurieren muß) und bei der Verwendung von "EVA-FTP-Client.ps1" muß man entweder die Datei vorher anpassen (ab Zeile 605, wie steht in der Datei an dieser Stelle) oder man gibt beim Aufruf einen "ScriptBlock" als zweiten Parameter an (wie das geht, findet man im Internet bei der Suche nach "powershell script block") und führt darin die auszuführenden Aktionen auf. Hier düfte "BootDeviceFromImage" die richtige Wahl sein für das Thema dieses Threads ...

  2. #22
    IPPF-Fan Avatar von WileC
    Registriert seit
    28.11.2007
    Ort
    München
    Beiträge
    150
    @PeterPawn:
    Danke schonmal. Also müsste ich...

    ...unter Linux 1.) ./eva-discover ausführen und 2.) eva-to-memory /home/freetz/images/blaba.image.in-memory ?

    ... unter Windows 1.) eva_discover.ps1 und danach in der eva-ftp-client.ps1 die Zeile "BootDeviceFromImage d:\temp\blabla.image.in-memory" entkommentieren und dann nacheinander ausführen ?! bin ich so richtig oder mal iweder auf dem Holzweg ?!

    Vielen Dank schonmal für die Unterstützung.
    Router: Fritz!Box WLAN 3370, 3390, 3490, 7390
    Pakete: DNSMasq, OpenDD, Syslog, WOL
    NAS: Thecus N4800Eco 8TB Raid 5
    Server: Windows SBS 2011, Ubuntu 16.04 LTS
    Clients: Windows 7 Prof. SP1, Windows 10 Pro, iOS

  3. #23
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.771
    Bei passender Ergänzung von Parametern für so ziemlich jeden Aufruf, paßt das dann.

    Bei den PowerShell-Skripten steht die Parameter-Beschreibung am Beginn der Dateien und bei den (Linux-)Shell-Skripten steht sie entweder im Header der Datei als Kommentar oder die ersten Zeilen weisen die Parameter internen Variablen zu, wo man dann auch die Standardwerte für ausgelassene Parameter sehen kann.

    Ich betone einfach noch einmal, daß praktisch alle Skript-Dateien von mir ("modfs" ist ein wenig davon abweichend zu sehen) darauf ausgelegt sind, daß sich der "Verwender" mit den Prinzipien der jeweiligen Plattform und des verwendeten Shell-Interpreters zumindest ein wenig auskennt. Ist das bei irgendjemandem nicht gegeben, wäre vor der Anwendung der Blick ins Internet anzuraten.

    Das geht jetzt nicht direkt an die Adresse von @WileC, das ist die Zusammenfassung von mehreren Beiträgen anderer IPPF-Member in diversen anderen Threads, die mit den Skript-Dateien nicht klarkommen. Das ist keine Zauberei, sie zu verwenden ... aber auch nichts (absichtlich) für Fr. Kasulske, die gerade mal den PC einschalten kann und das ginge vielleicht an einigen Stellen sogar einfacher, aber ein Minimum an Beschäftigung mit der verwendeten Umgebung setze ich einfach voraus.

  4. #24
    IPPF-Fan Avatar von WileC
    Registriert seit
    28.11.2007
    Ort
    München
    Beiträge
    150
    Also ich hab mich jetzt mal mit meiner 3490 herumgespielt, doch irgendwie klappt das nicht, bzw. ich finde den Fehler nicht

    Ergebnis "EVA-Discover.ps1"
    Code:
    EVA_IP=192.168.178.1
    true
    Ergebnis "EVA-FTP-Client.ps1 192.168.178.1 { BootDeviceFromImage d:\temp\3490_06.80.image.in-memory }"
    Code:
    Ausnahme beim Aufrufen von "Invoke" mit 1 Argument(en):  "Error uploading image file."
    Bei D:\temp\EVA-FTP-Client.ps1:602 Zeichen:36
    +                 $ScriptBlock.Invoke <<<< ()
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : DotNetMethodException
    
    Fehler beim Aufrufen der Methode, da [System.Net.Sockets.TcpClient] keine Methode mit dem Namen "Dispose" enthält.
    Bei D:\temp\EVA-FTP-Client.ps1:662 Zeichen:30
    + $Global:EVAConnection.Dispose <<<< ()
        + CategoryInfo          : InvalidOperation: (Dispose:String) [], RuntimeException
        + FullyQualifiedErrorId : MethodNotFound
    Was mache ich verkehrt??

    Mit "EVA-FTP-Client.ps1 192.168.178.1 { RebootTheDevice }" kommt folgende Ausgabe:
    Code:
    True
    Fehler beim Aufrufen der Methode, da [System.Net.Sockets.TcpClient] keine Methode mit dem Namen "Dispose" enthält.
    Bei D:\temp\EVA-FTP-Client.ps1:662 Zeichen:30
    + $Global:EVAConnection.Dispose <<<< ()
        + CategoryInfo          : InvalidOperation: (Dispose:String) [], RuntimeException
        + FullyQualifiedErrorId : MethodNotFound
    Dennoch startet die Box neu.
    Geändert von WileC (21.02.2017 um 04:26 Uhr)
    Router: Fritz!Box WLAN 3370, 3390, 3490, 7390
    Pakete: DNSMasq, OpenDD, Syslog, WOL
    NAS: Thecus N4800Eco 8TB Raid 5
    Server: Windows SBS 2011, Ubuntu 16.04 LTS
    Clients: Windows 7 Prof. SP1, Windows 10 Pro, iOS

  5. #25
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.771
    Ich tippe mal auf eine alte Version der PowerShell bzw. der .NET-Runtime. Wenn die Klasse "System.Net.Sockets.TcpClient" keine "Dispose()"-Methode anbietet, dann müßte die schon "etwas älter" sein.

    Im Script-File steht ab Zeile 354, welche Versionen mindestens vorhanden sein sollten - m.W. sind hier auch keine Methoden bei steigenden Versionsnummern wieder "abgeschafft" worden.

    Ich habe keine Ahnung, auf welchem Basis-System Du das gestartet hast - ggf. braucht dieses System ein Update (wobei das eigentlich schon sehr lange "im Angebot" ist). Grob würde ich mal schreiben, es braucht PowerShell 3.0 und die .NET-4.0-Runtime - aber ohne Garantie meinerseits.

  6. #26
    IPPF-Fan Avatar von WileC
    Registriert seit
    28.11.2007
    Ort
    München
    Beiträge
    150
    Du hast richtig getippt. Ich habe auf meinem Win7 SP1 mal ein Update auf das WMF5.1 durchgeführt und schon klappt's auch "mit dem Nachbarn"... sowas...

    Im EVA-FTP-Client.ps1 habe ich die Zeile mit dem "BootDeviceFromImage" auskommentiert und die image-datei angegeben. Hat auch geklappt.

    Nun habe ich aber noch eine Frage wegen dem Aufruf des Skripts mit Parametern; Wo habe ich hier den "Denk"-Fehler drin?!

    PS> .\EVA-FTP-Client.ps1 192.168.178.1 { BootDeviceFromImage .\3490_06.80.image.in-memory }

    Danke.
    Router: Fritz!Box WLAN 3370, 3390, 3490, 7390
    Pakete: DNSMasq, OpenDD, Syslog, WOL
    NAS: Thecus N4800Eco 8TB Raid 5
    Server: Windows SBS 2011, Ubuntu 16.04 LTS
    Clients: Windows 7 Prof. SP1, Windows 10 Pro, iOS

  7. #27
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.771
    Auch da könnte ich jetzt raten (und würde dann darauf tippen, daß der relative Pfad zur Image-Datei nicht funktioniert) ... aber dafür gibt es ja die Möglichkeit, z.B. durch die Angabe der "-Debug"-Option beim Aufruf, sich etwas genauer anzusehen (weil man den FTP-Dialog verfolgen kann), wo es am Ende wirklich klemmt.

  8. #28
    IPPF-Fan Avatar von WileC
    Registriert seit
    28.11.2007
    Ort
    München
    Beiträge
    150
    Aber der Aufruf stimmt so? Dann werde ich mal den Debug versuchen und das Ergebnis posten.

    ---

    Mit der absoluten Pfadangabe klappt auch der Upload des Images über den ScriptBlock.

    Hier der Debug mit relativen Pfad zur Image-Datei :
    Code:
    PS D:\Temp> .\EVA-FTP-Client.ps1 -ScriptBlock { BootDeviceFromImage -filename .\3490_06.80.image.in-memory -debug }
    DEBUG: Sent
    GETENV memsize
    ================
    DEBUG: Response:
    memsize               0x10000000
    
    200 GETENV command successful
    
    ================
    DEBUG: Memory size found    : 0x10000000
    DEBUG: Image size found     : 0x0176a100
    DEBUG: Set memory size to   : 0x0e895f00
    DEBUG: Set MTD ram device to: 0x8e895f00,0x90000000
    DEBUG: Sent
    SETENV memsize 0x0e895f00
    ================
    DEBUG: Response:
    200 SETENV command successful
    
    ================
    DEBUG: Sent
    SETENV kernel_args_tmp mtdram1=0x8e895f00,0x90000000
    ================
    DEBUG: Response:
    200 SETENV command successful
    
    ================
    DEBUG: Sent
    TYPE I
    ================
    DEBUG: Response:
    200 Type set to BINARY
    
    ================
    DEBUG: Sent
    MEDIA SDRAM
    ================
    DEBUG: Response:
    200 Media set to MEDIA_SDRAM
    
    ================
    DEBUG: Uploading file '.\3490_06.80.image.in-memory' to '0x8e895f00 0x90000000' ...
    DEBUG: Sent
    P@SW
    ================
    DEBUG: Response:
    227 Entering Passive Mode (192,168,178,1,12,14)
    
    ================
    DEBUG: Sent
    SETENV memsize 0x10000000
    ================
    DEBUG: Response:
    200 SETENV command successful
    
    ================
    DEBUG: Sent
    UNSETENV kernel_args_tmp
    ================
    DEBUG: Response:
    501 environment variable not set
    
    ================
    Exception calling "Invoke" with "0" argument(s): "Error uploading image file."
    At D:\Temp\EVA-FTP-Client.ps1:602 char:17
    +                 $ScriptBlock.Invoke()
    +                 ~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : RuntimeException
    Und hier mit der absoluten Pfadangabe der Image-Datei:
    Code:
    PS D:\Temp> .\EVA-FTP-Client.ps1 -ScriptBlock { BootDeviceFromImage -filename D:\Temp\3490_06.80.image.in-memory -debug
    }
    DEBUG: Sent
    GETENV memsize
    ================
    DEBUG: Response:
    memsize               0x10000000
    
    200 GETENV command successful
    
    ================
    DEBUG: Memory size found    : 0x10000000
    DEBUG: Image size found     : 0x0176a100
    DEBUG: Set memory size to   : 0x0e895f00
    DEBUG: Set MTD ram device to: 0x8e895f00,0x90000000
    DEBUG: Sent
    SETENV memsize 0x0e895f00
    ================
    DEBUG: Response:
    200 SETENV command successful
    
    ================
    DEBUG: Sent
    SETENV kernel_args_tmp mtdram1=0x8e895f00,0x90000000
    ================
    DEBUG: Response:
    200 SETENV command successful
    
    ================
    DEBUG: Sent
    TYPE I
    ================
    DEBUG: Response:
    200 Type set to BINARY
    
    ================
    DEBUG: Sent
    MEDIA SDRAM
    ================
    DEBUG: Response:
    200 Media set to MEDIA_SDRAM
    
    ================
    DEBUG: Uploading file 'D:\Temp\3490_06.80.image.in-memory' to '0x8e895f00 0x90000000' ...
    DEBUG: Sent
    P@SW
    ================
    DEBUG: Response:
    227 Entering Passive Mode (192,168,178,1,12,6)
    
    ================
    DEBUG: Sent
    STOR 0x8e895f00 0x90000000
    ================
    DEBUG: Response:
    150 Opening BINARY data connection
    
    ================
    DEBUG: Response:
    226 Transfer complete
    
    ================
    True
    Geändert von WileC (22.02.2017 um 11:52 Uhr) Grund: Posting des DEBUG

  9. #29
    IPPF-Fan Avatar von WileC
    Registriert seit
    28.11.2007
    Ort
    München
    Beiträge
    150
    Mir ist noch aufgefallen, dass das make bei einer 7390 keine .image.in-memory erstellt. Wir dann einfach die .image beim Upload via EVA-FTP-Client.ps1 benutzt?
    Router: Fritz!Box WLAN 3370, 3390, 3490, 7390
    Pakete: DNSMasq, OpenDD, Syslog, WOL
    NAS: Thecus N4800Eco 8TB Raid 5
    Server: Windows SBS 2011, Ubuntu 16.04 LTS
    Clients: Windows 7 Prof. SP1, Windows 10 Pro, iOS

  10. #30
    IPPF Dreitausend-Club
    Registriert seit
    18.02.2011
    Beiträge
    3.708
    Die 7390 ist doch eine klassische NOR-Flash Box (ohne DualBoot) ein ".image.in-memory" wird dort doch gar nicht benötigt, der NOR-Flash kann vom Bootloader aus direkt beschrieben werden...

  11. #31
    IPPF-Fan Avatar von WileC
    Registriert seit
    28.11.2007
    Ort
    München
    Beiträge
    150
    Dann brauche ich mittels EVA-FTP-Client nur die .image hochladen? Richtig?

  12. #32
    IPPF Siebentausend-VIP Avatar von PeterPawn
    Registriert seit
    10.05.2006
    Ort
    Berlin
    Beiträge
    7.771
    Ja, wenn Du dabei die korrekte Funktion "UploadFlashFile" anstelle von "BootDeviceFromImage" benutzt. Ziel des Uploads ist (aus der Erinnerung, vorher noch einmal selbst nachlesen) "mtd1" bei der 7390 - das enthält das hintereinanderkopierte Kernel- und Dateisystem-Image, was bei den NOR-Modellen alles in der Datei "kernel.image" zu finden ist (die "filesystem.image" sollte eine Länge von 0 Byte haben).

    Ob Freetz eine Image-Datei mit dem NMI-Vector erstellt bzw. ob der bei der 7390 wirklich gebraucht wird, weiß ich auch nicht mehr aus dem Kopf. Bis auf ein paar Probleme beim automatischen Restart im Fehlerfall (ansonsten dürfte so ein NMI (non-maskable interrupt) gar nicht auftreten) wird das Fehlen des NMI-Vectors aber (vermutlich) auch keine sichtbaren Konsequenzen haben. Beim "dump" des Inhalts der Partition aus dem lfd. System heraus würden diese (normalerweise) 256 Byte ohnehin übersprungen - wenn man sich den Treiber für den Flash-Zugriff ansieht.

    Ob die nun in einem (AVM-)Recovery-Image bei der 7390 enthalten wären oder nicht, müßte man ggf. erst noch einmal mit einem Packet-Dump verifizieren - keine Ahnung, wie der Bootloader beim Schreibbefehl für die Partition das handhabt.

  13. #33
    IPPF Fünfhunderter
    Registriert seit
    20.12.2005
    Beiträge
    869
    Zitat Zitat von PeterPawn Beitrag anzeigen
    Ob Freetz eine Image-Datei mit dem NMI-Vector erstellt bzw. ob der bei der 7390 wirklich gebraucht wird, weiß ich auch nicht mehr aus dem Kopf.
    Freetz-modifizierte Images (bzw. ganz korrekt gesprochen fwmod-repackte Images) enthalten keinen NMI-Vector. Es wäre allerdings nicht so schwierig diese Funktionalität einzubauen. Der Code zum Dumpen ist bereits vorhanden. Man müsste lediglich die Länge gemäß dem erstellten kernel.image (ohne TI-checksum) korrekt setzen.

  14. #34
    IPPF-Fan
    Registriert seit
    26.05.2010
    Beiträge
    197
    Jetzt da es einen bootenden Kernel für die 7390 gibt und Freetz über den Bootloader flashbares images erstellen kann, könnte man das push_firmware noch erweitern damit es damit umgehen kann

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Antworten: 13
    Letzter Beitrag: 01.02.2012, 00:33
  2. Antworten: 7
    Letzter Beitrag: 09.08.2010, 22:53
  3. freetz erstellt kein Image mehr
    Von dj1985 im Forum Freetz
    Antworten: 7
    Letzter Beitrag: 02.03.2010, 21:17
  4. Antworten: 2
    Letzter Beitrag: 23.08.2009, 08:10
  5. Freetz Trunk findet .67 image nicht
    Von isjaschonwech im Forum Freetz
    Antworten: 3
    Letzter Beitrag: 21.12.2008, 20:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •