What is a linux kernel?
The linux kernel Organization is a California Public Benefit Corporation established in 2002 to distribute the linux kernel & other opensource software to the public without charge. The linux kernel org is maintained by The linux foundation
Why linux kernel is only used in Android Devices?
'Linux kernel is an open source project' which means every one can make enhancements upon the linux kernel. so, Android takes linux kernel as its underlying kernel & makes enhancements to meet mobile o/s requirements . Like better memory optimisation, Ram management & better performance.
So, Now How To Upstream Android Kernel?
For this u had to be familiar with git commands ( https://try.github.io/ ) & how to compile android kernel
Now Figure what kernel version u are using for this check Makefile in ur kernel tree
Then Fetch the kernel from kernel.org
For latest kernel tag & patches check https://www.kernel.org/
Now iam upstreaming my kernel from v3.10.107 to v3.10.108
Now Simply copy paste the commands as follows,
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git v3.10.108
Now decide if u want to cherry-pick or merge
-Cherry-pick
Pros:-
- Easier to rebase
2)Easier to resolve conflicts as uk what conflit is causng issues
Cons:-
1)It takes long time cuz each commit has to be individually picked
-Merge
Pros:-
1)Its faster
Cons:- - Its difficult to resolve conflicts
2)Rebasing is difficult
I would recommend u to do cherry-pick
Now After fetching ,
Cherry-pick
Format:
git cherry-pick <previous_tag>..<next_tag>
example:-
git cherry-pick v3.10.107..v3.10.108
Merge
Format:
git merge <next_tag>
example:-
git merge v3.10.108
Some of my upstream kernel:-
https://github.com/DRohan898/kernel_xiaomi_msm8937
My proof of work - Here is a screenshot of my logged in session in Github :
My developer profiles:
XDA-https://forum.xda-developers.com/member.php?u=7668741
YuForums-http://forums.yuplaygod.com/members/rohan.97666/
My Github Profile-https://github.com/DRohan898
References
1)https://www.kernel.org/category/about.html
Posted on Utopian.io - Rewarding Open Source Contributors