Android Board Support

Porting Android to a new platform can be a challenge. Here are some resources to start with that:

ARM
Most ports of Android are to ARM-based platforms.

OMAP

 * Mentor Graphics and Texas Instruments support Android on OMAP processors via the |Rowboat project
 * See also Android on OMAP, which has a very thorough listing of issues faced in initially porting Android to OMAP

Mips
Mentor Graphics did a port of Android to MIPS.

See http://www.mipsandroid.org

(Unfortunately, this site requires registration.)


 * MIPS now has support for SMP on Android - see MIPS Supports Symmetric Multiprocessing on Android Platform - Posted by Ken Cheung in IP Cores on Tuesday, June 1, 2010

x86
There is a whole well-developed project for Android on x86.

See http://www.android-x86.org/

At least one major product (Sony Internet TV) is reported to be x86-based. Intel has a team of developers working on Android issues. See Mark Gross' presentation from ELC 2010 for some tips from them about using Android
 * [[Media:ELC2010-android-xp-tips-tricks.pdf|Experiences in Android Porting, Lessons Learned,Tips and Tricks]] by Mark Gross, April 2010, Embedded Linux Conference 2010


 * Intel is working on "native" Android support. See Intel prepping x86 port for Android 2.2 By Eric Brown, lwn.net, 2010-06-28

Unlocking the phone
Bryan Swetland says: (here)

All Nexus One devices have an unlockable bootloader (% fastboot oem unlock), which, once unlocked will allow you to reflash the boot partition (kernel + ramdisk), system partition, etc.

Full kernel sources are available here: http://android.git.kernel.org/?p=kernel/msm.git;a=shortlog;h=refs/heads/android-msm-2.6.29-nexusone (make mahimahi_defconfig to configure just like the production kernel). We're in the process of rebasing up to .32, on our way to .33 and beyond.

Serial port access
There are some serial port pins available on the micro-USB connector, which you can access if you have the right hardware.

See this discussion on xda-developers for detailed information and links.

Brian Swetland says: TTL level (~3.3v?) serial is present on the D+/D- pins of the micro USB connector whenever VBUS (usb +5v power) is not present. This is physical UART1 (ttyMSM0). In standard builds the FIQ kernel debugger runs there. You'll have to disable the FIQ debugger and enable the serial device in your kernel config if you want to use it as a regular serial port.