* So the CyanogenMod source is hosted over at GitHub, here
* If you're new to the whole AOSP (Andriod Open Source Project), you should start over at the AOSP page, here
You can get up to speed with everything to do with handling the source there, and also porting!
--- From this point am assuming you have knowledge from the AOSP page on handling the source and debugging the system ---
So what do you require to get CM over to your device? (apart from the CM source)
Its hard to speak for all devices, but I would suggest
- A working android rom/system (preferably stock and same android version as the port you want to make)
You would need a working rom/system to learn how different parts of a working build work, identify different/propriety/special files, extract binary blobs etc etc...
- common sense/reasoning
Chances are, if you just make a generic build of CM and bundle it with the kernel from a working rom/system, it will boot into CM, hopefully to the standby screen.
Unless you know exatcly what you need to modify/change in the source or build, this would one of the suitable ways to go if your starting out. (You'd be very lucky if your device manfuacturer have your device/part sources released. )
From the generic build, booted into, you should be dot down everything that is'nt working and everything that is. Some notable things to always check would be the list below System on this page and see if they are working.
If a build fails to boot into an operative state, you can always callup the debugging tools to see what went wrong. Here is where common sense/reasoning would come in. Most issues can be easily understood/solved if you study the debug output well enough.
There are too many situations that an issue can arise, and you may find yourself alone a lot.
Most of the time the paining issues that you hit (concerning the system) will have to do with the /system/lib folder.
- broken libraries,
- missing libraries,
- wrong libraries,
- right libraries but wrong dependancies,
- right dependancies but wrong libraries... and the list would go on.
Trust me when i say your debugging tools will save you a lot of time, I constantly use
- the arm-eabi-* set
Porting can take time, with a lot of bugging.
Of course, with time, and customizing your build for a device, it'll be not so generic.
Building a kernel and adding several enhancements like OC and modules would follow suit.
Its best to share your builds, source with the community,
That way your build can get attention, more devs, and also help out other device ports with similar to yours.
Feel free to add tips, guidelines, info, corrections... the like
Edited by ErVidic, 19 March 2011 - 07:47 PM.