I've been having a play around with getting Android running on my Overo board using the gumdroid project and was wondering if someone could shed some light on what sort of changes need to be made to the linux kernel when porting to different hardware like this. I don't really have any experience with kernel development so it's a bit tough for me to look through and understand all the source code by myself. Is it a matter of creating specific kernel modules for whatever device you want Android to run on which get loaded ontop of the base Android kernel or are there fundamental changes to the base kernal that also need to be made for different hardware such as Gumstix?
I'm looking at getting Android running on a number of other devices for a student project and I'm trying to work out how modular the different parts of Android/Linux are (e.g. could certain parts stay the same but with different kernel modules loaded and drivers added). I understand that there are settings that need to be changed when compiling a kernel for different hardware but I wasn't sure if this also would involve modifying kernel code.