W2012-ITS/Androidkernel mit GadgetFS

From
Revision as of 13:26, 22 October 2012 by Maschmid (talk | contribs)
Jump to navigation Jump to search

Hier fassen wir die Ergebnisse der Gruppe "Androidkernel mit GadgetFS" vom IT-Security Workshop 2012 zusammen. Ziel der Gruppe war es ein Nexus S als NFC Kartenleser mittels GadgetFS zu verwenden. Der Vorteil bei GadgetFS besteht darin, dass die USB-Treiber im Userspace geschrieben werden.


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/