- 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
- this results in a build using a prebuilt kernel and wlan.ko from vendor/htc/dream/.
- after make completes you'll have a built tree in out/target/product/dream, and you can run
# fastboot flash boot boot.img # fastboot flash system system.img
- to build your own kernel and wlan.ko, do:
d=$PWD 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- cd $d/system/wlan/ti PATH=$d/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:$PATH make KERNEL_DIR=$d/kernel 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
There are two significant host apps for (ab)using the G1: fastboot and adb. Fastboot is used to write over USB to the G1's flash, for example to flash a complete system.img or replace the T-Mobile splash screen. adb gives you access to a debug root shell on the G1 with adb shell, and also "syslog" with adb logcat.