Search code examples
androidsdkreverse-engineeringportingrom

Android - How does an SDK port work?


Just seen that they've ported Ice Cream Sandwich to the Nexus One.

'They've' done this using the SDK to create a ROM.

Could someone give an overview of how this works? (How you use the SDK to create a ROM)

Why it allows some parts to work but then other bits (like wifi) don't work?


Solution

  • The SDK includes a system.img which contains the bulk of the phone's firmware. Beyond that, the important parts of firmware are the boot loader (which is hardware specific, and not Android-release specific), and the kernel (which is configured for the hardware, though there could be some Android version specifics in it).

    Most likely, they just took pieces from the system.img and were able to get an acceptable boot. This generally results in some parts (like wifi, as you mentioned) not working, due to differences in the requirements between the older kernel and the newer system image.