W2012-ITS/Androidkernel mit GadgetFS: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
== Ziel ==
GadgetFS:

Ziel
Motivation
Meilensteine
Voraussetzung
Kernel
GadgetFS
rooten
flashen
Test
Ausblick
-------------------------------

Ziel:
- Nexus S als NFC Kartenleser
- Nexus S als NFC Kartenleser
- Untersuchen, ob gadgetFS für die Umsetzung geeignet ist
- Untersuchen, ob gadgetFS für die Umsetzung geeignet ist
-------------------------------



Motivation:
== Motivation ==
- gadgetFS ermöglicht dem Programmierer ein Treiber im Userspace zu schreiben
- gadgetFS ermöglicht dem Programmierer ein Treiber im Userspace zu schreiben
--------------------------------------



Vorraussetzungen:
== Vorraussetzungen ==
1) kernel kompileren
1) kernel kompileren
2) gadgetfs modul kompilieren (als modul oder in kernel)
2) gadgetfs modul kompilieren (als modul oder in kernel)
Line 31: Line 17:
7) testen mit usb.c
7) testen mit usb.c


== Kernel ==
------------------------------------

Voraussetzung:
- Kernel mit gadgetFS für Nexus S
- android source tree
- cross compiler
- build enviroment
------------------------------------

Kernel:
- Viele Anleitungen im Netz, zum Teil veraltet
- Viele Anleitungen im Netz, zum Teil veraltet
Von uns benutzt:
Von uns benutzt:
Line 46: Line 23:
http://forum.xda-developers.com/showthread.php?t=1774035
http://forum.xda-developers.com/showthread.php?t=1774035


Fehlermeldungen und Lösungen
=== Fehlermeldungen und Lösungen ===
-libGL.so Problemm:
-libGL.so Problemm:
http://www.quantumwise.com/support/faq/116-libglso-cannot-open-
http://www.quantumwise.com/support/faq/116-libglso-cannot-open-
shared-object-file?catid=25%3Ainstallation-issues
shared-object-file?catid=25%3Ainstallation-issues


- Black Screen im Emulator:
==== Black Screen im Emulator ====
http://stackoverflow.com/questions/2446414/android-emulator-is-start-but-
http://stackoverflow.com/questions/2446414/android-emulator-is-start-but-
window-show-blank-screen
window-show-blank-screen


=== Git ===
----------------------------------------

Git:
- git checkout:
- git checkout:


Line 77: Line 52:
ubuntu-12-04-precise-pangolin/
ubuntu-12-04-precise-pangolin/


== Rooten + Flashen ==
---------------------------------------------------------------------------------

Rooten + Flashen:


http://androidforums.com/evo-3d-all-things-root/494212-complete-
http://androidforums.com/evo-3d-all-things-root/494212-complete-
newbies-guide-rooting-flashing-evo-3d-roms-kernels-using-fastboot.html
newbies-guide-rooting-flashing-evo-3d-roms-kernels-using-fastboot.html


== GadgetFS Testen/Endpunkte aufbauen (nicht realisiert) ==
---------------------------------------------------------------------------------

GadgetFS Testen/Endpunkte aufbauen (nicht realisiert)


http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=8
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=8
Line 94: Line 65:
mount -o remount,rw /dev/block/mmcblk0p4 /system
mount -o remount,rw /dev/block/mmcblk0p4 /system


=== Test ===
------------------------------------------------------------------------------------------

Test:


Crosscompiling von ubs.c
Crosscompiling von ubs.c
Line 107: Line 76:
- crosscompile .c unter Eclipse:
- crosscompile .c unter Eclipse:


== Quellen ==
http://www.eclipse.org/forums/index.php/m/187633/

http://ksearch.wordpress.com/2010/10/18/pthread-support-in-eclipse/
- http://www.eclipse.org/forums/index.php/m/187633/
- http://ksearch.wordpress.com/2010/10/18/pthread-support-in-eclipse/

Revision as of 13:15, 22 October 2012

Ziel

  - Nexus S als NFC Kartenleser
  - Untersuchen, ob gadgetFS für die Umsetzung geeignet ist


Motivation

  - gadgetFS ermöglicht dem Programmierer ein Treiber im Userspace zu schreiben


Vorraussetzungen

  1) kernel kompileren
  2) gadgetfs modul kompilieren (als modul oder in kernel)
  3) samsung galaxy s rooten
  4) samsung galaxy flashen
  5) gadgetfs mounen
  6) usb.c mit crosscompiler kompilieren
  7) testen mit usb.c

Kernel

- Viele Anleitungen im Netz, zum Teil veraltet Von uns benutzt:

http://forum.xda-developers.com/showthread.php?t=1774035

Fehlermeldungen und Lösungen

-libGL.so Problemm: http://www.quantumwise.com/support/faq/116-libglso-cannot-open- shared-object-file?catid=25%3Ainstallation-issues

Black Screen im Emulator

http://stackoverflow.com/questions/2446414/android-emulator-is-start-but- window-show-blank-screen

Git

- git checkout:

http://gitready.com/intermediate/2009/01/09/checkout-remote-tracked- branch.html

- make modules & modules install:

http://www.linuxhaven.de/dlhp/HOWTO/DE-Kernel-HOWTO-9.html

- boot.img -Erstellen

http://madteam.co/news/2012/02/how-to-build-a-custom-android-kernel- for-your-device/

- Ubuntu 12.x android-jdk:

http://www.liberiangeek.net/2012/07/download-and-install-androidsdk-in- ubuntu-12-04-precise-pangolin/

Rooten + Flashen

http://androidforums.com/evo-3d-all-things-root/494212-complete- newbies-guide-rooting-flashing-evo-3d-roms-kernels-using-fastboot.html

GadgetFS Testen/Endpunkte aufbauen (nicht realisiert)

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=8 77600

- GadgetFS mounten(read only): mount -o remount,rw /dev/block/mmcblk0p4 /system

Test

Crosscompiling von ubs.c prebuild/linux-x86/toolchain/arm-aebi-4.4.3/bin/arm-aebi-gcc usb usb.c usbstring.c -I- -I /crespo/samsung/include/linux

  -> was noch fehlt ist die types.h
  -> types.h = /samsung/arch/arm/include/asm/types.h

- crosscompile .c unter Eclipse:

Quellen

- http://www.eclipse.org/forums/index.php/m/187633/ - http://ksearch.wordpress.com/2010/10/18/pthread-support-in-eclipse/