|
|
| 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]
| |