Noisedroid/FAQ

From Noisebridge
< Noisedroid(Difference between revisions)
Jump to: navigation, search
(My Top 12 NFL Quarterbacks Of All Time - Old And New!)
Line 1: Line 1:
== Building ==
 
* Configure a x86_32 Ubuntu 8.10 or Debian 4.0 host with at least 20GB of disk space.
 
* download sources according to http://source.android.com/download, install needed packages, etc
 
* build for Dream (the internal name for G1) according to http://source.android.com/documentation/building-for-dream
 
** however, you probably want to use an up-to-date kernel branch instead of the the ancient 2.6.25 that the android.com <tt>local_manifest.xml</tt> refers to:
 
<project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-2.6.27"/>
 
** this results in a build using a prebuilt <tt>kernel</tt> and <tt>wlan.ko</tt> from <tt>vendor/htc/dream/</tt>.
 
* after <tt>make</tt> completes you'll have a built tree in <tt>out/target/product/dream</tt>, and you can run
 
# fastboot flash boot boot.img
 
# fastboot flash system system.img
 
  
Here's what I did to build my own kernel and wlan.ko:
 
cd mydroid
 
d=$PWD
 
First, build the kernel.  The <tt>android-msm-2.6.27</tt> branch seems to work just fine.  We're building for the <tt>msm</tt> platform using the <tt>mydroid/prebuilt/</tt> 4.2.1 toolchain; the 4.3.1 toolchain doesn't seem to work.
 
cd kernel
 
make ARCH=arm CROSS_COMPILE=$d/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi- msm_defconfig
 
make ARCH=arm CROSS_COMPILE=$d/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
 
Once the kernel build completes without errors, we can build the horrifyingly complex TIWLAN driver.  We don't need to set CROSS_COMPILE or ARCH, the <tt>system/wlan/ti/Makefile</tt> does that for us, but we do need to add the prebuilt toolchain to $PATH.
 
cd $d/system/wlan/ti/sta_dk_4_0_4_32
 
PATH=$d/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:$PATH make KERNEL_DIR=$d/kernel
 
Finally, we can install the results into <tt>out/target/product/dream/</tt> and rebuild <tt>boot.img</tt> (for the new kernel) and <tt>system.img</tt> (for the new wlan.ko).  The makefiles don't have correct dependencies for the .img files, so we just delete them and let them get rebuilt.
 
cd $d
 
cp kernel/arch/arm/boot/zImage out/target/product/dream/kernel
 
cp system/wlan/ti/sta_dk_4_0_4_32/wlan.ko out/target/product/dream/system/lib/modules/wlan.ko
 
rm out/target/product/dream/*.img
 
make
 
 
== Working with the G1 ==
 
* TODO: how to root a retail G1
 
* http://www.gotontheinter.net/content/fastboot-cheat-sheet
 
 
There are two significant host apps for (ab)using the G1: [http://www.gotontheinter.net/content/fastboot-cheat-sheet fastboot] and [http://developer.android.com/guide/developing/tools/adb.html adb].  Fastboot is used to write over USB to the G1's flash, for example to [http://groups.google.com/group/android-platform/msg/437448ed327a5fbc flash a complete system.img] or [http://www.gotontheinter.net/logo.rle replace the T-Mobile splash screen].  adb gives you access to a debug root shell on the G1 with <tt>adb shell</tt>, and also "syslog" with <tt>adb logcat</tt>.
 
 
[[Category:Cellular]]
 
 
 
== USB to Serial interface with the G1 ==
 
[[Image:G1-two-usb-to-serial-cable.jpg|thumb|G1 USB to Serial interface cable]]
 
 
It's possible to create a USB to serial interface cable ([https://noisebridge.net/pipermail/noisebridge-discuss/2009-March/003336.html details here]) to interact with the running phone and the boot loader(s).
 
 
According to [http://groups.google.com/group/android-platform/browse_thread/thread/439d3f3af7a88a09/10a80eb835e8dbcc?lnk=gst&q=serial#10a80eb835e8dbcc this android-platform post] the serial port is 115,200 8N1 at 2.8V TTL with the following pinout:
 
_____________
 
| A B C D E |
 
\1 2 3 4 5 6|
 
 
A: GND
 
B: NC
 
C: +DATA
 
D: -DATA
 
E: +5v
 
 
1: +Mic
 
2: +Right
 
3: Switch / Rx (2.8V, CMOS-TTL Level) / CABLE_IN2
 
4: GND / Tx (2.8V, CMOS-TTL Level) / CABLE_IN1
 
5: GND (Serial GND, 0 Ohms resistance between this and pin A)
 
6: +Left
 
 
'''!!! Fixed 10.10.09 : Rx & Tx reversed, because they were confused !!!'''
 
 
[http://www.instructables.com/id/Android_G1_Serial_Cable/ How to make a Android G1 Serial to USB Cable]
 

Revision as of 08:27, 28 July 2012

Personal tools