Originally Posted by n3ocort3x
- Starting point: LNX.LA.3.2.5-02310-8x74.0 all clear
- but why reseting it to Dec.19th and merge in changes from oppo kernel that was released in april ?
- and why then jumping into KK AU_LINUX_ANDROID_KK_3.5.04.04.02.003.298 ?? and apply changes again ??
thats what i dont get... im sure its a brain bug on my side but whats the benefit of merging first into JB and then jump onto KK ? is it just it merges nicer if u first apply it on JB ?
Dec. 19th is the CAF tag Oppo started from.
I set up directories something like this:
gitrepos/f7kernel which had Oppo's original source
gitrepos/msm which had a cloned repo of CAF's kernel/msm
gitrepos/checktag.sh as below:
git reset --hard HEAD
git clean -f -d
git checkout $1
cp -R ../f7kernel/* .
git diff >../$1.patch
Then I started checking CAF tags from https://www.codeaurora.org/xwiki/bin/QAEP/release
that matched msm8974 (the chip in the find7) and 04.03.00 (the Android revision that Oppo's firmware was released with - just as a warning, SOMETIMES an OEM can use a CAF tag from an older Android release. This was common with the Google Play Edition devices - most of them were released with 4.4 but were using 4.3 CAF tags for hardware support)
The smallest diff resulting from above was the tag with the closest match, which is LNX.LA.3.2.5-02310-8x74.0 (Meaning Oppo took a CAF baseline on Dec. 19, and started their work on bringing up the Find 7a from there, finishing in April. It's typical to see CAF tags 3-6 months earlier than a kernel source release.)
If you check out tag LNX.LA.3.2.5-02310-8x74.0, the most recent commit will be Dec. 19
Then I started splitting up the differences between that TAG and Oppo's sources. The process is something along the lines of
git reset HEAD^ directory/to/split/out
git commit --amend
git add directory/to/split/out
Then use git rebase -i to put the "big" patch as the most recent one in order to keep carving chunks off of it
That gets you the nice diffchunked oppo_kernel branch - in that phase I'm not merging, I'm splitting
From there, I took each patch, reviewed it, and determined if I even wanted to apply the changes. In most cases I did, but I didn't pull in Oppo's filesystem changes
Then I applied each patch on top of AU_LINUX_ANDROID_KK_3.5.04.04.02.003.298 , which is Qualcomm's latest tag on the kk_3.5 branch, which seems to be their "standard" tree for MSM8974 and MSM8226 devices (Qualcomm branching strategy can sometimes be really confusing...) Some applied cleanly, others needed significant manual effort to merge them properly.
End result: Oppo Find 7a device-specific support applied on top of Qualcomm's latest KitKat CAF tag
*so much sig updating needed*
My Github profile - Some Android stuff, some AVR stuff
An excellent post on "noobs vs. developers"
A few opinions on kernel development "good practices"
Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
<Entropy512> gotta be careful not to step on each other's work. :)
<Bumble-Bee> thats true
<jerdog> compeete for donations