AW: Imagesammlung für Solo2 Clones - Downloads,Wünsche und Anfragen bitte hier einste
Gehen tut vieles, es ist nur deutlich mehr Arbeit ...
Kernel und Kernel-Module (= Hardware-Treiber) müssen immer genau zusammenpassen, also Kernel 3.13.5 zusammen mit Kernel-Modulen 3.3.8 geht nicht.
Der Rest sollte normalerweise schlimmstenfalls nur noch von der Haupt- bzw. einer Mindestversion des Kernels abhängen, für das ext4-Dateisystem (stabil) braucht man z.B. mindestens Kernel 2.6.28, aber ein höherer geht eben auch.
Die Einschränkung "normalerweise" ist der miesen Qualität von Linux geschuldet: Kompatibilität geht den Entwicklern am Arsch vorbei. Es gibt unter Linux keinerlei Qualitätsanforderungen an die API.
Entwickler könnten Linux von Version x.y.z nach x.y.z+1 vollständig auf den Kopf stellen. Bei FreeBSD ist das anders, da muß die API innerhalb einer Major Version x kompatibel bleiben.
Nun, prinzipiell sollte man aber bei jedem Linux den Kernel in gewissen Grenzen rauf oder runter durch einen anderen Kernel ersetzen können.
Man kann nicht gerade Kernel 2.6.9 in einem System einsetzen, das ansonsten auf Kernel 3.13.5 ausgelegt ist, Kernel 3.3.8 statt 3.13.5 sollte aber funktionieren.
Bei E2-Boxen kommt hinzu, daß einzelne Features absichtlich mit der Kernel-Version verheiratet worden sein könnten, z.B. transcoding und hbbtv.
Auf die müßte man dann verzichten oder sie mit downgraden.
Nur:
Mach das mal ... gerade bei reinen Pimp-Images wie VTI (VTI und Black Hole sind ja genau genommen keine eigenständigen Images, sondern nur gepimpte Versionen des Hersteller-Images).
Bei echten eigenständigen Images wie den oe-a-Images, OpenPLi oder auch dem nackten Vu+-Herstellerimage ginge es:
Man müßte das jeweilige git clonen und die Rezepte (bitbake recipes) für den Kernel so weit zurückdrehen, bis man den Stand hat, den man haben will. Wenn man mag, kann man auch bereits in diesem Stadium die Treiber des Clone-Herstellers einbinden.
Abgesehen vom Einbinden der Clone-Treiber ist das ja genau das, was ATV für Version 4.2-old gemacht hat ...
Bei OpenPLi braucht man nicht einmal zurückdrehen, die verwenden generell noch die alten Kernel/Treiber.
Dort könnte man aber, wenn man lustig ist, das Gegenteil machen, also ein Image bauen, das zwar OpenPLi-4.0-gleich ist, aber doch den neuen Kernel verwendet.
Auf die geschilderte Weise erhielte man ein "sauberes" Image auf Basis eines anderen Kernels.
Man kann auch die ganz harte Tour nehmen und alle Module herausfinden, die mit der Kernel-Version in Zusammenhang stehen.
Dazu in /var/lib/opkg/status nach allen ipks suchen, die dieselbe Version wie der Kernel haben, z.B.:
Package: kernel-module-rt2x00usb
Version: 3.13.5-r3.5
Depends: kernel-3.13.5, kernel-module-mac80211, kernel-module-rt2x00lib
...
Package: kernel-module-belkin-sa
Version: 3.13.5-r3.5
Depends: kernel-3.13.5, kernel-module-usbserial
...
u.v.m.
Bei VTI 6.x. wäre es dementsprechend natürlich die Version 3.3.8, nach der man suchen müßte.
Alle aufgelisteten Pakete müßte man sich nun herunterladen mit
opkg download <Paketname>
Nun braucht man eine originale Vu+ Solo² oder ein unterschütterliches Gottvertrauen, daß man mal 'n Stündchen mit der Box arbeiten kann, ohne daß sie an ein aktuelles Datum/Uhrzeit kommt:
VTI 7.x installieren und wiederum in /var/lib/opkg/status überall die Version 3.13.5 auf 3.3.7 herabsetzen.
Nun kann man alle vorher heruntergeladenen Pakete mit Kernel-Version 3.3.8 über die eigentlich neueren Versionen drüber installieren (--force-downgrade sollte zwar theoretisch auch gehen, aber eine alte Version vorgaukeln hat bei mir bisher besser geklappt).
Danach sollte alles auf Version 3.3.8 downgradet sein, in /var/lib/opkg/status sollte sich nun überall bei Kernel-Komponenten die Versionsnummer 3.3.8 befinden und nirgendwo mehr die neuere 3.13.5 oder unsere Pseudoversion 3.3.7.
Danach müssen noch die - nun ja originalen - 3.3.8-Treiber in /lib/modules/3.3.8/extra durch die gepatchten des Clone ersetzt und schreibgeschützt werden.
Jetzt kommt der springende Punkt:
Damit opkg upgrade nicht bei nächster Gelegenheit die Version 3.3.8 auf 3.13.5 aktualisiert, muß nun noch überall 3.3.8 durch 30.3.8 ersetzt werden, eine Kernel-Version, die zu unseren Lebzeiten voraussichtlich nicht mehr erreicht wird.
Et voila:
Sofern Vu+ keine Abhängigkeiten von Kernel 3.13.5 im transcoding (oder im hbbtv, aber das ist wohl generell auf den Clones nicht ratsam) versteckt hat, hätte man nun ein VTI 7.x mit Kernel aus 6.x
Wer eine echte Vu+ Solo² in die Finger kriegen kann (Ich würde es mich auf einem Clone nicht trauen), kann es ja mal ausprobieren ...
Kaputt kriegt man eine echte Solo² so jedenfalls nicht (Schlimmstenfalls muß man neu flashen), einen Clone hingegen schon (Wenn man vorzeitig ein Datum erhält oder neustartet oder was verkehrt macht).
Wenn's geklappt hat, einfach ein Vollbackup machen, das kann man dann auch auf Clones flashen.
Edit: Sinndrehender Fehler korrigiert.