Was kann schon schief gehen?
Edit: es könnte auch am Dateinamen liegen. Vielleicht sucht er nach einem bestimmten, findet den nicht, und bricht deswegen ab.. in der stbutil sind die alle mit irgendwelchen variablen gefüllt...
Code:
rem_img=ubifs-$(($flash_erasesize / 1024))k-$(($flash_writesize))-${plat}-RG.img
Edit2: probier mal den Dateinamen ubifs-3390b0-dcm-RG.img
Eine Anmkerkung dazu: das "stbutil" Skript dient auch unter anderem zum Schreiben einer erhaltenen Datei auf das Flash (Dateisystem: ubifs). Falls dabei die Datei nicht die richtige ist, dann schreibt er Müll auf das Root-FS im Flash und dann haste das Modem direkt "gebrickt".
"Unsere" erhaltenen Firmware enthält lt. binwalk nämlich mehrere Bestandteile:
- ubifs (in dem wir die meisten Hinweise gefunden haben)
- vermutlich: ein Kernel-Image
- vermutlich: Device-Tree Dateien
- Sonstige BLOBs, welche binwalk nicht eindeutig identifizieren kann, und welche m.E. ein Hypervisor und sonstige Laufzeit-Komponenten sind (d.h. wir haben es hier mit einer virtualisierten Maschine zu tun)
Die müssten m.E. alle in ihre richtigen Bereiche geschrieben werden, sonst tut das nicht.
Darüber hinaus, siehst du in den rc.S, rc.util und allen anderen rc Skripts immer Verweise auf das sog. Subsystem. (oben bspw. die Variable "$plat"). Die Firmware ist vermutlich für unterschiedliche Geräte von Technicolor geeigent und erst bei Runtime wird (in der rc.util) evaluiert, welche Plattform / Subsystem vorhanden ist und dann entsprechend in den weiteren Skripten darauf rerenziert. Also auch die stbutil zeigt auch verschiedene Varianten, abhängig von der Plattform / Subsystem.
Leider habe ich (mangels Zeit) derzeit auch keine besseren Ideen. Will nicht Bedenkenträger sein - aber auch vor voreiligen Aktionen warnen.