Originally Posted by furysama
The reason it took the CM team so long is because they developed their own drivers from the ground up. I'm willing to bet that it's much easier to rip the drivers out of the kernel we already have than to replicate the work that the CM team did.
The GPL licensing is *why* the CM team developed their own drivers; not because its impossible to get Samsung's code, but because doing so would have violated the licensing terms of Samsung's code and of Cyanogenmod.
AOSP Gingerbread != the kernel.
Gingerbread (android in general basically) is the set of programs, daemons, etc... that sit in user space and interact with the kernel, that sits in kernel space.
You wouldn't necessarily need 2.6.35 (kernel on nexus s gingerbread) to run gingerbread. Obviously, 2.6.35 would have the best features and optimizations for Gingerbread -- since it was written for 2.6.35. But you could technically use 2.6.29 and on. As long as gingerbread does not make any specific system calls into kernel space that are only supported with 2.6.35 and onward.
The specific module's source files for the SGX530 video, Qualcomm QSC6085, etc... are included with samsung's 2.6.29 kernel source. I'm trying to compile them with 2.6.36, and will try with 2.6.35 as well. Modules can be a lot trickier, as they usually are a lot more tailored for a specific kernel. Especially if they are already compiled.
A couple of avenues that I am taking:
-Attempt to compile epic 4g's modules with 2.6.36, 2.6.35, and on backward.
-I re-compiled samsung's 2.6.29 kernel with the driver modules and ext4, etc... I'm going to attempt to run gingerbread off that, and watch how quickly it blows up...
-I'm going to look at other kernel's, like noobnl's kernel he put in cyanogenmod. It's 2.6.32, and it has video / wifi / CDMA radio / etc.. in it. I need to get ahold of him and figure out a) what source is he using -- from samsung, kernel.org, etc... and what modules he's using. b) his .config file for the kernel.
I'm going to take the same avenue with Dameon87 about his compiled kernel's for epic 4g froyo. As well as looking toward the manufacturer for information about their kernel drivers for their hardware.
Using 2.6.35 modules from the nexus s kernel wouldn't be too bad for things like the camera, wifi, video, etc... but WOULD be a problem with the CDMA radio / GPS since they are different obviously (CDMA vs. HSPA+).
I've got a bunch of options and ideas I'm throwing around in my head. Feel free to contribute your thoughts / concerns / ideas. I'm not trying to do this in the dark and say "look what I did on my own!" if / when I get any type of usable progress. It's Linux, and it's a community effort :)
With that said, I will work diligently on this as much as possible. Between work (and if you've ever been a Sys Admin, you know that you're never really "off the clock"), my wife, my addictive StarCraft II habit, the gym, and every Thursday happy hour... I'm focused on this 100%!!!