W2012-ITS/Androidkernel mit GadgetFS: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:


Ziel:
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
- gadgetFS ermöglicht dem Programmierer ein Treiber im Userspace zu schreiben
schreiben
--------------------------------------
--------------------------------------


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

------------------------------------
------------------------------------


Line 102: Line 102:
usbstring.c -I- -I /crespo/samsung/include/linux
usbstring.c -I- -I /crespo/samsung/include/linux


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


- crosscompile .c unter Eclipse:
- crosscompile .c unter Eclipse:

Revision as of 11:34, 16 October 2012

GadgetFS:

Ziel Motivation Meilensteine Voraussetzung Kernel GadgetFS rooten flashen Test Ausblick


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

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


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:

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