Schlagwort-Archive: git

Linux-Kernel für die OUYA How To

Der Standard-Kernel auf der OUYA ist ein 3.1.10er (siehe bootlog). Kernel-Quellen finden sich, wie üblich, hier: https://www.kernel.org/pub/linux/kernel/. Allerdings ist der OUYA-Kernel speziell. Es fehlen Treiber für Tegra-spezifische Hardware, wie tegrafb etc. Diese finden sich in diesen Quellen: https://android.googlesource.com/kernel/tegra/.

Besonders interessant zu lesen:

Auf Nachfrage an oss-requests@nvidia.com wurden wir auf Nvidia’s Git Repos verwiesen: http://nv-tegra.nvidia.com/gitweb/. Dort finden sich auch ein Linux Kernel Repo und ein U-Boot (Bootloader) Repo.

Wir haben uns Nvidia’s Tegra-Kernel geklont und versuchen, ihn zu compilieren:

Zunächst modifizieren wir das Makefile für Cross-Compiling:

Dann laden wir eine Tegra default config und compilieren (parallel mit 32 Threads):

zImage is ready!

Die tegra_defconfig ist für den Tegra 2, die Ouya hat einen Tegra 3. Mittels make menuconfig unter System Type –> Tegra 2 ab- und Tegra 3 sowie Cardhu board anwählen. Nach kleinen Patches, lässt sich der eigens compilierte Kernel per fastboot auf der Ouya starten und präsentiert seine Ausgaben via serieller Konsole. Dieser Kernel bootet bisher nur bis zu dem Punkt, an dem in das initramfs gesprungen werden sollte. Der Tegra-EHCI-USB-Treiber ist zwar einkompiliert, USB wird aber auch im Ouya-System aus noch unbekannten Gründen erst von der initramfs initiiert, sodass USB-Sticks und die onboard USB-Netzwerkkarte SMSC9500A vorerst nicht funktionieren.

Literatur:

Git // Klaus #tt Session 2013/09/12

Die Umstellung von SVN auf Git geht voran. Nachdem wir letzte Woche das Webfrontend Klaus installiert haben, ist heute die Integration unserer Git Repos in Jenkins dran. Anschließend soll der Kreis wieder geschlossen werden, indem die von Jenkins gebauten Artefakte in unser fdroid Repo gestellt werden sollen – natürlich auch per Knopfdruck in Jenkins, versteht sich.

Neben infrastrukturellen Themen haben wir uns mit der Ablauffähigkeit einer App auf Android Gingerbread beschäftigt. Zur Zeit versuchen wir bei der Entwicklung abwärtskompatibel bis Android SDK Version 8 zu sein und verzichten dabei auf einige Features von Icecream Sandwich und Jelly Bean.

Trotzdem ist es auf unserem Gingerbread gerät zum Absturz der App gekommen. Nach ein wenig USB Debugging mit adb und Catlog kam heraus dass die Methode LinearLayout.setBackground(Drawable d) nicht gefunden werden konnte. Das ist insofern verwunderlich, als dass wir die App für SDK Version 8 kompilieren konnten. Wir werden das Problem weiter untersuchen und halten euch auf dem Laufenden.