Linux version 3.4.24-00010-g001648b-dirty (JackpotClavin@ThinkPad-X220) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #15 SMP PREEMPT Fri Dec 28 16:17:09 EST 2012
Howdy folks, for the last week or so I've been trying to get a response out of a 3.4 kernel for my Galaxy Nexus (Toro), and today I finally got a response from the USB so we can debug via USB, which makes the job 100x easier now that we can see what's failing via dmesg in adb shell. I was pumped for a 3.4 kernel like the other two new Nexus devices received in this awesome Android release (Nexus 4, 10), but sadly, our kernel version was left at 3.0 (and probably will be forever since the OMAP program was killed at TI)
Literally nothing works, the Google screen shows, then disappears, but we have USB debugging!!! I have a .zip that extracts the recovery.img that's currently on my device, and swaps out the old 3.0 kernel for the new 3.4 the kernels and installs it into the recovery partiton, so I'm currently in TWRP Recovery staring at a black screen, but with a working USB port
It's build off the vanilla 3.4 kernel sources from kernel.org (we have to implement the Android stuff). I tried to get the 3.4 branch from omapzoom working, but I couldn't get the USB to initialize (it "booted" by going to the aforementioned black screen but the USB wouldn't initialize, so without USB debugging, that was a no-go). What I did was I went to the earliest commits for the tuna kernel back when Google && Samsung first started working on the board (this was way back in April of 2011 for a device that was released in November 2011) and cherry-picked like 5 of those those patches for the Tuna board/config in its infancy, then applied those very early patches to the 3.4 kernel, added a few Android USB drivers from the Nexus 10 (just because they too, were built the 3.4 kernel) (remember this is the vanilla 3.4 kernel), and basically rolled with the punches of build errors from obsolete definitions and features that were from the 3.0 kernel bits that were killed off or modified in the last year and a half for the 3.4 kernel. It's not much right now, but getting the USB to initialize has taken me a week+ (although I got it on my first try with the vanilla 3.4 kernel from kernel.org), but now, I can say that there's a 3.4 kernel for the Galaxy Nexus with infinite potential
So I'm asking for some help in assembling a dev team to work together in getting this 3.4 kernel working 100% on the Galaxy Nexus (remember we have over a year features that must be added to this kernel like the screen, touch screen, LITERALLY EVERYTHING that came after USB debugging)
A big thank you to:
Texas Instruments for great documentation on every TI board
Google (for the Android open-source project)
The CM Team and every Android ROM contributor for that matter
Samsung (for an awesome device in the Galaxy Nexus)
Everybody who has ever contributed to the Linux kernel
Lastly, Linus Torvalds, for the Linux Kernel itself (Today's his birthday, too!)
If you want to try out this 3.4 kernel for yourself (I don't know why anybody would want to) but if you feel like booting into a black screen as your recovery, for some killer ADB shell access, here's a .zip
If you want to get your recovery back, you'll have to boot into fastboot mode and fastboot flash recovery
I'll upload the source to my github hopefully tonight or tomorrow morning, so respond in this thread if you're in to help with this 3.4 kernel!
12-29: Source is up at the my github, there's a link in my signature. I've merged all the Android 3.4 bits, and is now buildable with the tuna_defconfig and using the ARM Android 4.6 toolchain from the prebuilts directory of the root of the Android source tree. I've merged all the Tuna-related code up to his commit: https://android.googlesource.com/ker...36020901646111 which is from a year and seven months ago, at that point way back then (on the 3.0 kernel of course), the screen displayed and the touchscreen worked. (I was in TWRP recovery when I tested that out so I can't elaborate further on where they were, but it has sensor and input code) My goal is to get the display to initialize so I can see if the touch panel works and buttons and whatnot. After that, it's just merging the latest Tuna-related code from Google/Samsung so that the Tuna drivers are where the current mr1 release is.