W2012-ITS/Androidkernel mit GadgetFS

From
Revision as of 13:41, 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 mounten
  6) usb.c mit crosscompiler kompilieren
  7) testen mit usb.c

Kernel bauen

Zu dem Thema Androidkernel kompilieren gibt es viele Anleitungen im Netz, diese sind allerdings zum Teil veraltet oder speziell auf andere Telefone/ Kernel. Hier ist der von uns benutzte zu finden:

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/