[Galaxy Note 4 Original Android Development] fattire:
M is for Moving Slowly... but moving.

A quick update...

So yesterday I kinda brought gekke up to speed with everything I used to get the build to finish and spit out the (kinda useless) .zip. He's got the source, he's got my roomservice.xml file, he's got my patches to the trltexx and trlte-common device trees, he's got my list of commits from gerrit...

What he is missing was a working kernel. The patches that I did by hand yesterday were good enough to finish the build, but that's it-- not good enough to have included some new fangled secure-linux ("selinux") support, which apparently accounted for the black screen followed by a reboot into recovery, which is I what I'm now told happens when you don't have the selinux stuff in the kernel.

The deal with the kernel is-- we have an "old" 3.10 working CyanogenMod kernel source and a "new" 3.10 virgin Samsung kernel source, which samsung just released w/ Android 5.1.1. Thing is, the "new" kernel is just a flat collection of files that don't contain any git history, whereas the "old" one, while older, was painstakingly reconstructed to include a full commit history by [MENTION=2457777]slayher[/MENTION]. Having done this makes adding commits and searching the history of the source code a lot easier. Having history is good.

Basically, the long term goal would be to do something similar with the "new" source from Samsung-- to bring the kernel up to date with slayher's version as much as possible, then lay the new changes from samsung over it as a kind of mega "delta commit". That way we have all the history from qcom, linus, and the gang to date.

But today I didn't do any of that that. Instead, I just used our "old" kernel source (with the history) and started adding (or "cherry-picking" in git speak) those features that I was told are needed as a bare minimum to get M to work. I used the Nexus 6 kernel changes as a base/source for the commits. The list of features that were needed are thank to invisiblek and rashed. They somehow knew, generally speaking, what was important- though they have a different kernel than we do-- we have 3.10. There are like hundreds of changes to sift through, and, I spent six hours trying to do it the "right way"-- adapting the Nexus 6 changes to our kernel. I hope I got them all and that I did it right, cuz there were many times there were clashes between the shamu version and ours. I say I "hope" I got them right, but I'm fairly sure there were some wrong decisions in there...

Still, ladies and gentleman, and especially gekke, I give you a likely disaster. All I can say is it builds. I can't/won't be stupid enough to say that it actually boots. But the commits within are a basis for discussion and study if not laughter and derision.

I'm betting a lot of this stuff is already in the "new" kernel source ayway, which I didn't even download, but hopefully this may make migrating to that kernel a tiny bit easier. Gekke-- if you could try using this kernel with the other pieces and let me know how it goes, that would be just delightful. Everyone else-- I'm posting this update in the hope others may be interested enough to jump in and help a bit, not to in any way suggest that any time soon ANYTHING will be useable. Even once this thing boots, which could take days or weeks, it'll probably go straight into a bootloop, and once we get out of that, it'll be like oh network isn't working.. everything is broken... at which point it's a slow painstaking process and no one is promising anything ever, especially since this is all just fun stuff for when we all have free time, not like a job or anything.

I should also mention that the CM 13 source is changing constantly, things are breaking, new patches are coming in, and everyone is in a state of what the hell. It's like trying to play chess in the middle of the wildebeest scene from the Lion King. While you're tripping balls. It'll be a while, and that's if I don't get trampled by the giant spiders.

So enjoy lollipop. It works and it's awesome.

I guess I'll start a new build before I go to sleep. I expect it to run into an error and stop precisely six seconds following when I leave the room.

ft