Hallo zusammen,
Die letzten Tage habe ich (teilweise) damit verbracht die in der FH gelernten Skills bezüglich Linux Kernel-Entwicklung und Android anzuwenden.
Ich habe mir die Kernel-Source für meine Android-Kamera bei Samsung besorgt (EK-GN120_EUR_JB_Opensource_Update2.zip).
Danach habe ich mir die in der mitgelieferten Readme genannten Compiler etc. besorgt.
Nach ca. 8h investierter Zeit hatte ich meinen ersten selbst-kompilierten Kernel auf meiner Kamera!
Danach habe ich den Kernel von Version 3.0.31 auf 3.0.0 "entpatcht" und auf 3.0.101 gepatcht (Der letzte 3.0.y Kernel), ich habe Stunden damit verbracht alle Konflikte von Hand aufzulösen.
Der Kernel ging auf Anhieb! Leider hatte ich noch kein funktionierendes WLAN, kopieren der richtigen Kernelmodule hat geholfen.
Ich habe mich dann über meine schnellere Kamera gefreut.
Ich habe nun auf den neusten offiziellen Android-Kernel gepatcht (3.0.71 von https://android.googlesource.c…/+/deprecated/android-3.0).
Darin sind mehr Android-spezifische Verbesserungen als im 3.0.101 Linux-Kernel den ich zuerst verwendet hatte.
Am nächsten Tag dann die Ernüchterung: Kamera crasht alle paar Minuten und startet neu.
Ein bisschen weiteres debuggen fördert einen Fehler in /drivers/usb/serial/usb-serial.c zu Tage (USB-Verbindung wird ständig freigegeben obwohl gar keine Verbindung mehr besteht --> NULL Pointer Problem).
Der Kernel scheint nun soweit stabil zu sein.
Die Kamera läuft damit einiges schneller und es wurden etliche Sicherheitsprobleme gefixt.
Den Source findet ihr auf: https://github.com/ruffy91/u0lte_kernel/tree/master
Einen kompilierten Kernel habe ich hier hochgeladen: Siehe unten
Zuerst die Kamera auf die neuste Version updaten (GN120XXUAND3 über OTA verfügbar)
Falls ihr interessiert seid könnt ihr ihn mittels Odin 3.10.7 auf der Kamera installieren.
Power und Auslöser durchgedrückt halten bis ihr in den Download-Mode kommt, mit Auslöser bestätigen und die tar.md5 Datei mittels Klick auf den Button "AP" laden und dann downloaden.
Als "Abfallprodukt" ist noch ein .tar.md5 entstanden um die Kamera zu rooten mit den neusten SuperSU binaries, PN falls jemand Interesse hat.
Ich würde mich freuen falls noch jemand ausser mir den Kernel benutzt und mir Rückmeldung gibt.
Alle Änderungen können Rückgängig gemacht werden indem ihr die Original-FW (DBT-GN120XXUAND3-20140627104054.zip) wieder flasht mit Odin.
Weitere Schritte:
-Versuch auf neueren Kernel zu patchen (3.4.111, 3.4 ist der neuste Kernel der von Android 4.2.2 supported wird)
Edit: neuste Version hier (3.0.71 mit neuem WLAN-Treiber)