[REFERENCE] [OOS/CUSTOM] OnePlus 3 kernel source with linux-stable (3.18.124) - OnePlus 3 & 3T Cross Device Development

Introduction
Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!
What is it?
linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:
Longterm
There are usually several "longterm maintenance" kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.
Click to expand...
Click to collapse
Source: https://www.kernel.org/category/releases.html
All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.
There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes
What does this mean for me?
If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!
If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is either 3.18.66 (OxygenOS) or 3.18.71 (LineageOS and most likely all other custom ROMs) and the current version upstream is 3.18.124 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.
How do I use?
If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/op3
There are three branches: one for OxygenOS stable, one for OxygenOS beta, and one for Lineage 15.1.
This can either be merged into your existing kernel tree if you have one or be used as a fresh base. You do not need my permission to use it nor do you need to give me credit (although it would be appreciated).
If you are a user, use a kernel that has the changes added in!
Getting notified about updates
There are a few ways to get notified of linux-stable updates:
The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce
The android-linux-stable Telegram channel: https://t.me/alsupdates
Subscribe to this thread
Follow me on Google+ or Twitter
Getting help
If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:
Post in this thread
Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg
File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device
When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).

hmm this helps a lot bro. Thanks for opening this thread. So, here comes my first question - how can we make a kernal compatible with most of the Oreo roms which we have at present like nos, Z, Pixel, Aosip or omni or others as they all use different.

mady51 said:
hmm this helps a lot bro. Thanks for opening this thread. So, here comes my first question - how can we make a kernal compatible with most of the Oreo roms which we have at present like nos, Z, Pixel, Aosip or omni or others as they all use different.
Click to expand...
Click to collapse
Well that's not exactly a topic for this thread but it depends on what makes them different. Some things can co-exist, others can't. I know that's a generic response but I don't really have anything more descriptive I can give.

3.18.93 has been merged in.

3.18.94 has been merged in (conflict notes).

3.18.95 has been merged in.

The OP has been updated, including some more information for users as well as some more ways of getting help and notified of updates! Enjoy

v3.18.96
https://github.com/nvertigo/android_kernel_oneplus_msm8996/tree/linux-stable/merge-15.1
This is current lineageos/lineage-15.1 merged with https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tag/?h=v3.18.96.

3.18.96 has been merged in.

nathanchance said:
3.18.96 has been merged in.
Click to expand...
Click to collapse
Sir! it's a flashable kernel for 1+3T?

acultr said:
Sir! it's a flashable kernel for 1+3T?
Click to expand...
Click to collapse
Umm.. no. Might wanna read a bit more before asking. It's just the kernel sources.

acultr said:
Sir! it's a flashable kernel for 1+3T?
Click to expand...
Click to collapse
No, it's for peoples who want build upstreamed kernel, like sources to build.

3.18.97 has been merged in.

3.18.98 has been merged in.

My apologies to the custom ROM users for breaking MTP and adb many thanks to @martinusbe and @nvertigo67 for reporting the issue to me and helping me fix it! The change has been pushed, please pull to update!
https://github.com/android-linux-stable/op3/commit/180f737979e7f81b7e650fbff11dcc437d358142

nathanchance said:
My apologies to the custom ROM users for breaking MTP and adb many thanks to @martinusbe and @nvertigo67 for reporting the issue to me and helping me fix it! The change has been pushed, please pull to update!
https://github.com/android-linux-stable/op3/commit/180f737979e7f81b7e650fbff11dcc437d358142
Click to expand...
Click to collapse
No reason to apologies. Thanx to you and @martinusbe for fixing this. Without you I would still search in ffs commits...

nathanchance said:
My apologies to the custom ROM users for breaking MTP and adb many thanks to @martinusbe and @nvertigo67 for reporting the issue to me and helping me fix it! The change has been pushed, please pull to update!
https://github.com/android-linux-stable/op3/commit/180f737979e7f81b7e650fbff11dcc437d358142
Click to expand...
Click to collapse
Yay its fixed. I'm sure people against upstreaming will use this as an argument to say upstreaming is bad. I'm not a dev so I really have no idea what's right. In my book, higher version = good lol xD

knpk13 said:
Yay its fixed. I'm sure people against upstreaming will use this as an argument to say upstreaming is bad. I'm not a dev so I really have no idea what's right. In my book, higher version = good lol xD
Click to expand...
Click to collapse
Well it wasn't stable that broke this, it was a CAF merge I still should have dug deeper into the conflict, I definitely rushed it. I don't do that with the stable merges.

3.18.99 has been merged in.

3.18.100 has been merged in.

Related

Upstream Changes?

In CyanogenMod 11, what do you mean by "Upstream Changes"? I'm confused and sorry cause I'm a noob.
It means recent development in official CM 11 branch has landed to our device.
fllaim said:
It means recent development in official CM 11 branch has landed to our device.
Click to expand...
Click to collapse
Thank you for your answer, ahmm may you explain it further?
mactolorix said:
Thank you for your answer, ahmm may you explain it further?
Click to expand...
Click to collapse
I don't know what exactly those changes involve but it usually fixes bugs and adds new features. Since our device does not have an official cm build, when those guys at Cyanogenmod changes something it does not immediately come to dhiru's repository. Those changes are manually 'merged' by dhiru or someone else maintaining the galaxy sl repo. For example a there was not an option to change default home screen of launcher3 a few months ago. Codes for this option are first committed to some official repository at cyanogenmod.com and then dhiru brought it us by one of those upstream changes.
I hope this help to clarify
fllaim said:
I don't know what exactly those changes involve but it usually fixes bugs and adds new features. Since our device does not have an official cm build, when those guys at Cyanogenmod changes something it does not immediately come to dhiru's repository. Those changes are manually 'merged' by dhiru or someone else maintaining the galaxy sl repo. For example a there was not an option to change default home screen of launcher3 a few months ago. Codes for this option are first committed to some official repository at cyanogenmod.com and then dhiru brought it us by one of those upstream changes.
I hope this help to clarify
Click to expand...
Click to collapse
Thank you so much for your time answering my question, now I know. By the way, I'm currently using Cyanogenmod10.2 and I found it smooth. Gotta wait for more updates to to our device. Thanks a lot bro.
mactolorix said:
In CyanogenMod 11, what do you mean by "Upstream Changes"? I'm confused and sorry cause I'm a noob.
Click to expand...
Click to collapse
our phone need to send some data to network in certain intervals for making us online .... this is known as upstream (i.e. uploading of data )
but this task is all ways need large battery usage that's why developer want to make it optimum i.e. largest interval that can achieved ...
but some time this experiment disconnect our data connection (I mean some time our phone shows that it is connected but we observed no data is going up and down on signal bar) i.e. in rom UPSTREAM is not configured properly .. so this result upstream change
click on thanks if this helps you :good:

[DEV] Porting kernel 3.10.x to d2 for Lollipop

As we know, Android Lollipop is being released soon, and it requires a kernel that is 3.10.y, which is not available for our device. I'm not great with kernels and would in no way consider myself a kernel developer, but I have applied the neccessary patches to get the kernel version up to 3.10.0, which can be found here https://github.com/frap129/android_kernel_samsung_d2. Because I'm not a kernel developer, I am looking for some help in at least getting this kernel somewhat ready before the release of 5.0, so we can all get the latest update ASAP. Any and all help is apreciated!
Does your kernel compile and boot on cm11? If it does, there shouldn't be much problems in getting it working on L.
Any news? Does it compile?
frap129 said:
As we know, Android Lollipop is being released soon, and it requires a kernel that is 3.10.y, which is not available for our device. I'm not great with kernels and would in no way consider myself a kernel developer, but I have applied the neccessary patches to get the kernel version up to 3.10.0, which can be found here https://github.com/frap129/android_kernel_samsung_d2. Because I'm not a kernel developer, I am looking for some help in at least getting this kernel somewhat ready before the release of 5.0, so we can all get the latest update ASAP. Any and all help is apreciated!
Click to expand...
Click to collapse
nope android 5.0 doesnt require new kernel, you could build it on 3.0.y like i am doing on my Note 2 oh and as far as i know new nexus devices are still on 3.4.y
Ivan_Meler said:
nope android 5.0 doesnt require new kernel, you could build it on 3.0.y like i am doing on my Note 2 oh and as far as i know new nexus devices are still on 3.4.y
Click to expand...
Click to collapse
yes, but the new Samsung tablets (at least) are being shipped with the 3.10.x kernels.. 'course they're still running kitkat at the moment, but definitely cannot wait to see if/when they get kit kat.
I'll have to report back later after I take pictures of the 'about phone' page lol [if you want proof anyway]
frap129 said:
As we know, Android Lollipop is being released soon, and it requires a kernel that is 3.10.y, which is not available for our device. I'm not great with kernels and would in no way consider myself a kernel developer, but I have applied the neccessary patches to get the kernel version up to 3.10.0, which can be found here https://github.com/frap129/android_kernel_samsung_d2. Because I'm not a kernel developer, I am looking for some help in at least getting this kernel somewhat ready before the release of 5.0, so we can all get the latest update ASAP. Any and all help is apreciated!
Click to expand...
Click to collapse
ztotherad said:
yes, but the new Samsung tablets (at least) are being shipped with the 3.10.x kernels.. 'course they're still running kitkat at the moment, but definitely cannot wait to see if/when they get kit kat.
I'll have to report back later after I take pictures of the 'about phone' page lol [if you want proof anyway]
Click to expand...
Click to collapse
I know samsung does things like that (i have few other devices from them) but hey thats samsung and they are lazy so they dont want to update kernel version after device is relesed so they do this not to feel outdated on softwere side
Whoops! I read somewhere that the newly expanded SELinux permissions had some dependency on the 3.10.y kernel. Oh well, I guess Ill just test it anyways so I can brag that I have a newer kernel than anyone else if it works
frap129 said:
Whoops! I read somewhere that the newly expanded SELinux permissions had some dependency on the 3.10.y kernel. Oh well, I guess Ill just test it anyways so I can brag that I have a newer kernel than anyone else if it works
Click to expand...
Click to collapse
That would definitely be awesome! Be sure to report back your results. I'm not an experienced ROM or kernel developer, but I'll be attempting on bringing a pure AOSP 5.0.0_r2 to my GS3. I'm not sure how successful I'll be, but my first step involved me planning on copying over our vendor repo from CM's M11 or M12 release (whenever that gets out) and trying to build Lollipop against it.
polarEskimo said:
That would definitely be awesome! Be sure to report back your results. I'm not an experienced ROM or kernel developer, but I'll be attempting on bringing a pure AOSP 5.0.0_r2 to my GS3. I'm not sure how successful I'll be, but my first step involved me planning on copying over our vendor repo from CM's M11 or M12 release (whenever that gets out) and trying to build Lollipop against it.
Click to expand...
Click to collapse
I was planning on working on that as well over the weekend.
polarEskimo said:
That would definitely be awesome! Be sure to report back your results. I'm not an experienced ROM or kernel developer, but I'll be attempting on bringing a pure AOSP 5.0.0_r2 to my GS3. I'm not sure how successful I'll be, but my first step involved me planning on copying over our vendor repo from CM's M11 or M12 release (whenever that gets out) and trying to build Lollipop against it.
Click to expand...
Click to collapse
You will need to change many things in device tree to get it compile oh and dont forget to disable cm overlays
Ivan_Meler said:
You will need to change many things in device tree to get it compile oh and dont forget to disable cm overlays
Click to expand...
Click to collapse
I'm very new to the AOSP build process and didn't have much luck last night getting the CM device sources to play nicely with AOSP. I'm finding it difficult to find any relevant guides on porting over the CM device trees to pure AOSP. If you or anyone else can help by explaining the process or pointing to a guide that I may have missed, I'd be grateful. Plus the more people we have collaborating on his, the better our chances of getting Lollipop on our devices.
I'm working on porting 5.0 to our phone, tweaked the device tree and got the build running but (as expected) i'm running into SEpolicy hell. The new selinux implementation in lollipop is proving to be trouble. I've just made a few more edits and the build is moving along, I'll post results shortly.
If anyone cares to help I'll walk you through what I've done so far. One thing to note is you need to adjust vendorsetup.sh to say full_d2lte-eng instead of cm_d2lte-eng and create AndroidProducts.mk that points at full_d2lte.mk (you can use the hammerhead device tree as a reference to do this)
That will get your device tree to regester properly. If you don't do the above you'll get a "no config makefile found" error when you try to select d2lte with lunch.
As far as the actual tree, you're gonna wanna grab device/samsung/d2lte, device/samsung/msm8960-common, vendor/samsung/d2lte, vendor/samsung/msm8960-common, vendor/cm, vendor/cyngn, and kernel/d2.
You'll also need a couple things from /hardware, namely hardware/samsung. There's a couple things you'll need to remove from msm8960-common in /device, I can't remember the specific file name but the error message will tell you.
Follow those instructions and you'll get where I'm at, with the build crapping out on SEpolicy
Restl3ss said:
I'm working on porting 5.0 to our phone, tweaked the device tree and got the build running but (as expected) i'm running into SEpolicy hell. The new selinux implementation in lollipop is proving to be trouble. I've just made a few more edits and the build is moving along, I'll post results shortly.
If anyone cares to help I'll walk you through what I've done so far. One thing to note is you need to adjust vendorsetup.sh to say full_d2lte-eng instead of cm_d2lte-eng and create AndroidProducts.mk that points at full_d2lte.mk (you can use the hammerhead device tree as a reference to do this)
That will get your device tree to regester properly. If you don't do the above you'll get a "no config makefile found" error when you try to select d2lte with lunch.
As far as the actual tree, you're gonna wanna grab device/samsung/d2lte, device/samsung/msm8960-common, vendor/samsung/d2lte, vendor/samsung/msm8960-common, vendor/cm, vendor/cyngn, and kernel/d2.
You'll also need a couple things from /hardware, namely hardware/samsung. There's a couple things you'll need to remove from msm8960-common in /device, I can't remember the specific file name but the error message will tell you.
Follow those instructions and you'll get where I'm at, with the build crapping out on SEpolicy
Click to expand...
Click to collapse
Wow, this is awesome. It sounds like you've gotten the furthest than any of us. I appreciate the instructions, but is there any chance you could push your repos to GitHub? And do you think the SELinux stuff you're running into has anything to do with our device being on the 3.4 kernel instead of 3.10?
polarEskimo said:
Wow, this is awesome. It sounds like you've gotten the furthest than any of us. I appreciate the instructions, but is there any chance you could push your repos to GitHub? And do you think the SELinux stuff you're running into has anything to do with our device being on the 3.4 kernel instead of 3.10?
Click to expand...
Click to collapse
It's not a kernel thing so much as a device tree thing. (Kitkat vs lollipop) the policy.conf (along with a few other things) in the device tree is designed for kitkat and isn't playing very nice with the 5.0 source. I'm trying to bang it out a bit by swapping a few C and header files in the build core.
As for my last build, my tweaks got me past where I was but now I'm hanging on a new set of SElinux errors.
I've been at this for less than 12 hours so given that timeframe this looks promising.
I'm trying to think of what the best way to go about this is. I could either try to adapt the tree for the new source or I could try to adapt the source for the old tree (use KitKat SElinux implementation on lollipop). The latter would have more success with root but the former is the correct way to do it (and would get us cyanogenmod 12 faster once they start nightlies, as I can push the changes to gerrit)
Restl3ss said:
It's not a kernel thing so much as a device tree thing. (Kitkat vs lollipop) the policy.conf (along with a few other things) in the device tree is designed for kitkat and isn't playing very nice with the 5.0 source. I'm trying to bang it out a bit by swapping a few C and header files in the build core.
As for my last build, my tweaks got me past where I was but now I'm hanging on a new set of SElinux errors.
I've been at this for less than 12 hours so given that timeframe this looks promising.
I'm trying to think of what the best way to go about this is. I could either try to adapt the tree for the new source or I could try to adapt the source for the old tree (use KitKat SElinux implementation on lollipop). The latter would have more success with root but the former is the correct way to do it (and would get us cyanogenmod 12 faster once they start nightlies, as I can push the changes to gerrit)
Click to expand...
Click to collapse
Again, any chance you can post your source? You don't have to try and work on it on your own. The more people that look at the progressions you made, the better our chances are at success.
polarEskimo said:
Again, any chance you can post your source? You don't have to try and work on it on your own. The more people that look at the progressions you made, the better our chances are at success.
Click to expand...
Click to collapse
I'll push what I've got to github after this experiment
Cyanogen is updating sources to lolipop right now and omni has semi working source so it will be easier to port 5.0 since we wont need to edit device tree that much
Ivan_Meler said:
Cyanogen is updating sources to lolipop right now and omni has semi working source so it will be easier to port 5.0 since we wont need to edit device tree that much
Click to expand...
Click to collapse
Yes but, they have a tentative deadline of dec. 1st to start pushing out the first nightlies. We likely won't be in the first wave either, since d2 is now 3 generations out of date.
I'd much rather just port aosp and have it in 2 weeks rather than wait 3 weeks to even begin work.
Side note. If/when I get this working I'm calling it PotatOS
Managed to work past my problem with SElinux for now, the build has now moved on to... another set of errors!
Build currently hangs at this:
Code:
host C++: libutils_32 <= system/core/libutils/StopWatch.cpp
host C++: libutils_32 <= system/core/libutils/String8.cpp
host C++: libutils_32 <= system/core/libutils/String16.cpp
host C++: libutils_32 <= system/core/libutils/SystemClock.cpp
host C++: libutils_32 <= system/core/libutils/Threads.cpp
host C++: libutils_32 <= system/core/libutils/Timers.cpp
system/core/libutils/Timers.cpp: In function 'nsecs_t systemTime(int)':
system/core/libutils/Timers.cpp:43:13: error: 'CLOCK_BOOTTIME' was not declared in this scope
build/core/binary.mk:618: recipe for target 'out/host/linux-x86/obj32/STATIC_LIBRARIES/libutils_intermediates/Timers.o' failed
make: *** [out/host/linux-x86/obj32/STATIC_LIBRARIES/libutils_intermediates/Timers.o] Error 1
#### make failed to build some targets (01:19 (mm:ss)) ####
Going to bed, will get back at it in the morning. Source should be up on github by tomorrow night
Restl3ss said:
Yes but, they have a tentative deadline of dec. 1st to start pushing out the first nightlies. We likely won't be in the first wave either, since d2 is now 3 generations out of date.
I'd much rather just port aosp and have it in 2 weeks rather than wait 3 weeks to even begin work.
Side note. If/when I get this working I'm calling it PotatOS
Click to expand...
Click to collapse
I'm with you on that, I'd rather have pure AOSP than buggy CM nightlies. Also interesting choice of ROM name lol. Thanks for your hard work and I'm looking forward to pulling down your repos so I can take a stab at these compile-time issues.

3.4.110 [F2FS] 1jz-kernel

This is a build of Ziyan and friend's 3.4 kernel(against their will), optimized for release. Absolutely no debugging features allowed.
Ipv6 and complex adb functions broken.
Graphical Stuttering fixed.
Ubertc4.9.4 (Until I setup 6.0)
Latest F2FS sources. This F2FS is newer than everyone elses. Kanged from KHAON.
Brought up from 3.4.67 to 3.4.110.
Selinux disabled.
Optimized to all hell. Ofast probably regressed performance below that of O2 but Ofast makes people smile so whatever. It's smooth is all I have to say.
Works with any rom.
Mod Edit
Rolling release kernel, no versions. To report bugs tell me the hash, date, or build # of the kernel you have issues with.
Want a feature? Tell me to include it. I'm too lazy to do it? Fork my source and build it then post a link to your sources and I'll include it in the OP if it's good. This project is driven by and for the community.
Sources: Mod Edit
Brought to you by Ziyan, htcdreamon, sheffzor, khaon, eliminater74, coderzs, and me lgrootnoob. Linus Torvalds is a dong, yo.
Thread closed.
Please respect the code originator's polite request in future.

All ROMs Ever thread

Do not post "Thank you" type responses.​[SIZE=+3]ALL ROMS EVER (Intro to be added)[/SIZE]
[SIZE=+2][INDEX][/SIZE]
[SIZE=+2]Helpful Information[/SIZE]​[SIZE=+1]Welcome, this thread has been created to encompass everything you may need for your android device. Please only post in this thread with feedback on how to improve this document. Do not post "Thank you" type responses. If you have additional questions or require more help, try to find an existing thread, or create your own thread in the Q&A forum. Do not use this as a general help thread.
Since most ROMs are MM now I will split ROMs in this thread into 2 sections, MM and EOL.
This thread probably isn't going to help anyone. If it does help you, however, please tell me the usage in a post!
Please tell me if I made any mistakes in the categorization, and add on new ROMs as they come out/those which I forgotten to add.
Lastly, Stock-Based ROMs will not be added unless it is being ported to other devices eg. Xperia ROM ported to XOSP to other devices[/SIZE]​Click on a Link below for More Info
MM ROMs
Toolchains
EOL ROMs
Kernels
Useful links any general index should have
http://forum.xda-developers.com/showpost.php?p=65849943&postcount=34
*​Forum Rules | New Users Guide | XDA Tour | Report Posts​Please look for a similar INDEX thread when visiting another device forum.
If you would like to create an [INDEX] please Click Here.
A special thanks to everyone who contributed to the production of this INDEX
Please note: This is and will be, an ongoing WIP​
MM ROMs
*Mainly* CM-Based:
CyanogenMod
Temasek's CM
PAC ROM (And their cute but old website copyrighted 2014)
AICP
BeanStalk ROM
BlissPop ROM
AOKP
Resurrection Remix
XOSP
crDroid
CyanPop
OctOS
Marsh
MoKee
LiquidSmooth (+Slim base)
FlexOS (This is relatively obsolete as compared to Team Flex's AOSP-based Flayr OS)
OwnRom
TeslaOS (Not to be confused with Tesla by GZR)
*Mainly* AOSP/CAF-Based:
Dirty Unicorns (And CAF)
Pure Nexus
Cyanide L MM (Apparently it isn't Cyanide M) (Un-merged with Fusion from VrToxin)
OmniROM
Tesla by GZR
Slim
YAOSP
SlimYAOSP (Repo Init THIS first)
Nameless ROM
Broken ROM
Chroma ROM
MoKee
UberMallow (Previously OptiPop)
CandySix
FlayrOS
Exodus ROM (Quite confused as to which manifest to link to)
Validus by GZR
TipsyOS
OrionOS
Screw'D AOSP
AOSiP
ZephyrOS
BenzoRom
Beltz Rom (AOSP with DUI)
Cardinal AOSP
Citrus CAF
Evervolv
CopperHead OS
Toxic OS
All Purenexus and Slim mods from the guys at http://forum.xda-developers.com/slimroms/general/rom-builders-collective-t2861778
Toolchains
Guide for using below TC
UberTC (And Github) (For Pre-Built TC refer to BitBucket)
Linaro
SaberMod (Pre-Built TC at their website)
Hyper Toolchains
DragonTC
Christopher83's custom TC builds
Archi's Toolchains (Change the branches to change TC)
EOL stuff
VrToxin (Apparently some internal strife)
Fusion (Merged with Cyanide to VrToxin, then VrToxin died)
Archidroid/Archikernel (Should be getting a revive soon since Archi got an OP2)
Perseus Kernel (IDK why it died, too long ago)
Minimal OS (IDK why it died. Wanted to build this in particular because LP Minimal is awesome but suddenly github activity stopped)
Paranoid Android (RIP will miss you guys. They got "bought over" by OnePlus to dev OxygenOS)
F-AOSP (IDK why it died.)
Yank Kernel (I think he just gave up or something)
[*]80% of Dirty Unicorn (Went over to some Russian company) (Hi Mazda/Alex Cruz)
Euphoria OS
RadonX
Nexus Experience
Custom Kernels
AK Kernel
Lightning Kernel
Agni kernel
Arter97's Kernels
Boeffla Kernel
Franco Kernel
ElementalX
Phasma Kernel
Kylo Kernel (Same as above...???)
Some random modded kernels mostly in Nexus forums I didn't bother to add
RIP people.
A filler and awareness post.
See you in heaven. I know you are in a better place now.
TonyStark
FlashVetrin
Please add on. So far I only know of those two ^^
Garbage Link Collector
Another Link Collector (But not structured so Garbagely)
A ROM Building Guide for you to build ANY ROM on this list
XDA New User Guide
How to shake off "n00b" status
How to get Moderator's attention (Don't waste their time unnecessarily though )
Requests to Mods (All users welcome)
Logcat (MEOW)
Commonly used acronyms on XDA
How to become RC/RT
Signature Code Sharing
Archi's Optimisations (And for MM)
Index Project
Ask Away Project
Anti-Piracy/ContentGuard
NEED-TO-READ 1
NEED-TO-READ 2
Special thanks to:
@Trafalgar Square
@sd_shadow
@kuzibri
@zelendel
And everyone else at the Index Thread!!
Temporary to-do:
CarbonROM
others?
limjh16 said:
Last one
Click to expand...
Click to collapse
I would add descriptions and differences between rom types
https://en.wikipedia.org/wiki/List_of_custom_Android_firmware
http://android.wikia.com/wiki/Category:Custom_ROMs
http://lifehacker.com/5915093/five-best-android-roms
Sent from my KFFOWI using XDA Labs
limjh16;65315332
said:
CM
AOSP
Others
Kernels
Dead ROM/Kernels
Useful links any general index should have
[/INDENT][/INDENT]
*​Forum Rules | New Users Guide | XDA Tour | Report Posts​Please look for a similar INDEX thread when visiting another device forum.
If you would like to create an [INDEX] please Click Here.
A special thanks to everyone who contributed to the production of this INDEX
Please note: This is and will be, an ongoing WIP​
Click to expand...
Click to collapse
Hi,
sofar, so good. Would it be an idea to also add an item which devices are supported and which not? I would remove the item "Dead ROM/Kernels", they are of no use for your thread and may cause confusion.
kindest regards,kuzibri
Here is a big list of porting and compiling rom guides
[Guides][Updated] All Guides @ One Place By Hpsgill by Hpsgill
kuzibri said:
Hi,
sofar, so good. Would it be an idea to also add an item which devices are supported and which not? I would remove the item "Dead ROM/Kernels", they are of no use for your thread and may cause confusion.
kindest regards,kuzibri
Click to expand...
Click to collapse
That item is meant for stuff like AOKP where its dead, but for those who want kitkat then they can refer.
sd_shadow said:
Here is a big list of porting and compiling rom guides
[Guides][Updated] All Guides @ One Place By Hpsgill by Hpsgill
Click to expand...
Click to collapse
Will have a look and add to useful links section.
This thread is gonna take really long to get updated I am very busy with school haha...
limjh16 said:
This thread is gonna take really long to get updated I am very busy with school haha...
Click to expand...
Click to collapse
Why did you choose to start such a thread, which is very time consuming, when you are so busy with school? If I were you, I would restrict your available time to make an index thread of your own devices (i9305 or SGS3-LTE). I can understand your wish of creating the thread that's in your mind, but you do need/have the time to create and maintain it, which is IMHO almost impossible when you are also at school. If you still want to create this ALL ROM EVER thread, ask help from other members to help you, cause you cannot do it on your own. Nevertheless, if you still want to continue with this ALL ROM Ever thread, I'm willing to help you where ever I can. :good:
kindest regards, kuzibri
kuzibri said:
Why did you choose to start such a thread, which is very time consuming, when you are so busy with school? If I were you, I would restrict your available time to make an index thread of your own devices (i9305 or SGS3-LTE). I can understand your wish of creating the thread that's in your mind, but you do need/have the time to create and maintain it, which is IMHO almost impossible when you are also at school. If you still want to create this ALL ROM EVER thread, ask help from other members to help you, cause you cannot do it on your own. Nevertheless, if you still want to continue with this ALL ROM Ever thread, I'm willing to help you where ever I can. :good:
kindest regards, kuzibri
Click to expand...
Click to collapse
I didn't expect my first term of school to be so hectic, I created this before my term started. It's alright, I'll just leave this here. Not like anyone except you and sd_shadow comes here... but I'll try to update once a week.
To be honest most won't bother as not all roms are available for all devices.
Also don't put any fair in what someone else thinks of a rom. Their opinion almost never really matters.
zelendel said:
To be honest most won't bother as not all roms are available for all devices.
Also don't put any fair in what someone else thinks of a rom. Their opinion almost never really matters.
Click to expand...
Click to collapse
Hmm true... But I created mostly for me cuz I was just going around xda finding a ROM to build so I thought this thread would help.
limjh16 said:
Hmm true... But I created mostly for me cuz I was just going around xda finding a ROM to build so I thought this thread would help.
Click to expand...
Click to collapse
No sure where it would help but ok. Going around building roms from other groups will not last long. More and more teams are closing their source and not letting others use it.
So if your worried about building then I would start my own project and start from scratch with it. Aosp not CM
zelendel said:
No sure where it would help but ok. Going around building roms from other groups will not last long. More and more teams are closing their source and not letting others use it.
So if your worried about building then I would start my own project and start from scratch with it. Aosp not CM
Click to expand...
Click to collapse
Well I just started learning how to build so idk how to start off my own ROM project... But I am interested...... Teach me please...?
limjh16 said:
I didn't expect my first term of school to be so hectic, I created this before my term started. It's alright, I'll just leave this here. Not like anyone except you and sd_shadow comes here... but I'll try to update once a week.
Click to expand...
Click to collapse
Hi,
it's no problem that it will take longer that you thought initially. I agree with @zelendel regarding this: "So if your worried about building then I would start my own project and start from scratch with it. Aosp not CM" Cyogen Mod is a world on it's own and accepted as a fully functional OS. Regarding the fact that only sd_shadow and I, besides zelendel now, only visit your thread, is logical because it's a WIP.
kindest regards, kuzibri

[UNOFFICIAL][ROM][10.0/9.0] LineageOS 17.1/16.0 [violet][Q/PIE]

Introduction
A spinoff thread from the previously-supported-official thread by Atman.
This thread will contain my unofficial builds for violet. On the 16.0 version, the only real fix (so far...) have been the fingerprint scanner sepolicy denials. I aim to do monthly/bimonthly builds to keep up to date with security patches, as so far I haven't encountered any other issues (let me know).
On the 17.1 version, I have slowly figured out how to make it work, but it is highly experimental.
The 16.0 ROM is stable (I use it as my daily driver).
If you find any bugs, please do take screenshots, give a way for me to replicate it on my device, and send a logcat. If you're super smart, use a logcat and filter for the keyword so I don't have to do even more digging
Please don't tell me to use PE/Mokee commits.
Yet another update. I've got 17.1 builds working without having to resort to cheap tricks and commits (sort of).
Flash instructions
Same as usual:
Reboot to fastboot and flash recovery with fastboot (You have to use the TWRP linked below. Other versions likely won't boot.)
Reboot to recovery TWRP
Wipe to format data, wipe again to wipe system and cache (not necessary if you're updating, only if you're switching ROMs)
Flash firmware (ADB sideload) (this step is dated. The newer builds have a higher target firmware so you should try to flash without the firmware first, then flash the firmware if the ROM doesn't work.)
Flash the ROM (sideload)
Flash GApps, Magisk, etc. as necessary
Done
Downloads (16.0) (STABLE)
Firmware (Dated firwmare)
Recovery (TWRP)
11-Jun-2021 build (with 05-May-2021 security patch), and MD5 Digest
For previous builds see below
Downloads (17.1)
Here's the 17.1 ROM. Here's the md5 hash. It has the March security patch.
It currently does not boot. If you would like to try and help with development, flash the ROM, and then flash the Chinese Q firmware on top of it (this can be downloaded from xiaomifirmwareupdater). Be warned that there is a risk that the newest android keymaster may re-encrypt your device, which in the worst case may require you to format data and/or reflash recovery and/or flash a fastboot MIUI rom. So, it's a bit risky, but likely won't be an issue.
Credits, Sources, etc.
Too many to mention. Atman Shah for getting this device supported earlier last year. ThE_MarD (Marc Bougoin) for other help. Various other names I've seen - Bruno Martins, Weikai Kong, Wang Han... all of the Lineage dev team. I'm sure I'm missing many people who have been involved in the project. I am new, and very much a latecomer to all of this.
Device Tree: https://gitlab.com/mzha/android_device_xiaomi_violet
Kernel Tree: https://gitlab.com/mzha/android_kernel_xiaomi_violet
Other things see my gitlab: https://gitlab.com/mzha
A telegram group to discuss development for 16.0/17.1: t.me/lineageos_violet
Previous builds
07-Nov-2020 (incl. Oct-2020 security patch), with 07-Nov-2020 MD5 Hash
13-Jul-2020 (incl. Jul-2020 security patch), with 13-Jul-2020 MD5 Hash
11-May-2020 (incl. May-2020 security patch), with 11-May-2020 MD5 Hash
Good to see some devs showing interest on this os
will you be adding any customisation? or does it continue as pure lineage os?
e2vinay said:
Good to see some devs showing interest on this os
will you be adding any customisation? or does it continue as pure lineage os?
Click to expand...
Click to collapse
Pure LineageOS. There's more than enough customised ROMs for violet already in my opinion... and I also don't have that much time
hcnulma said:
Pure LineageOS. There's more than enough customised ROMs for violet already in my opinion... and I also don't have that much time
Click to expand...
Click to collapse
That's great
by any chance will you consider adding signature spoofing support? that would be really great. it would help many users go for microG instead of gapps
I completely understand you're starter.
great work. good luck.
Thank you
e2vinay said:
will you consider adding signature spoofing support?
Click to expand...
Click to collapse
No, but there are a few alternatives:
Merge the changes from this RFC and build it
Download the spoofer from https://download.lineage.microg.org/violet/, or get the (ed)Xposed module, or other possibilities...
Will be official Lineage Os?
Can we expect los 17 soon?
himanshu fulmali said:
Can we expect los 17 soon?
Click to expand...
Click to collapse
As per OP: I'm waiting on both Android 10 firmware blobs + kernel to be released by Xiaomi... I'm not sure how the other ROM devs get around this, if it's easy to forward-port or not. But for now, only LOS 16.
Heyyo @hcnulma good to see you got your thread up and going!
As for 17.1? You can work with your current kernel and cherry-pick the fixes that other maintainers of violet are using and same for the device tree and vendor blobs.
As an example, LeEco msm8996 devives are using kernel source code from Marshmallow just rebased on a CAF Q Tag for our kernel since we never got anything newer...
Even once Xiaomi release their kernel source code for Android 10? It would probably take quite a bit of work to shave it down to what you specifically need and then importing it on top of a fresh CAF tag for the kernel or even more work to try and inplement it into uour current kernel.
To get official builds of LOS 16.0 going again for violet you would need to show that you are capable of fixing any major bugs that arise as well.
https://wiki.lineageos.org/submitting_device.html
anywho, hope this information helps bud!
hcnulma said:
As per OP: I'm waiting on both Android 10 firmware blobs + kernel to be released by Xiaomi... I'm not sure how the other ROM devs get around this, if it's easy to forward-port or not. But for now, only LOS 16.
Click to expand...
Click to collapse
I am pretty sure you can use the pixel experience device tree and kernel to compile the ROM just like every other rom
Thank you. If he is stable enough I will use it to build RR PIE
Zjh0094 said:
Thank you. If he is stable enough I will use it to build RR PIE
Click to expand...
Click to collapse
It's definitely stable...
prajwal2001 said:
I am pretty sure you can use the pixel experience device tree and kernel to compile the ROM just like every other rom
Click to expand...
Click to collapse
From what I understand, using their kernel tree will mean I'll have to change a lot of references in my own device tree, and using their device tree on top of that is essentially just building PE, not Lineage.
In any case, I did find the Snapdragon 675 (ie sm6150) kernel trees for Q in several places, https://github.com/sm6150-dev/android_kernel_xiaomi_sm6150 and https://github.com/PixelExperience-Devices/kernel_xiaomi_sm6150. I'll take a closer look into this...
I did find the most recent CAF kernel under sm6150 here, but there seems to be an issue of this not showing up in /quic/la... Something will be resolved. Hopefully.
Request to create group for discussion in Telegram
hcnulma said:
It's definitely stable...
From what I understand, using their kernel tree will mean I'll have to change a lot of references in my own device tree, and using their device tree on top of that is essentially just building PE, not Lineage.
In any case, I did find the Snapdragon 675 (ie sm6150) kernel trees for Q in several places, https://github.com/sm6150-dev/android_kernel_xiaomi_sm6150 and https://github.com/PixelExperience-Devices/kernel_xiaomi_sm6150. I'll take a closer look into this...
I did find the most recent CAF kernel under sm6150 here, but there seems to be an issue of this not showing up in /quic/la... Something will be resolved. Hopefully.
Click to expand...
Click to collapse
you won't have to make any changes in the kernel as far as I know and as for the device tree you just have to make some changes according to the ROM
as every ROM uses the same device tree
and you won't be making pe instead of lineage as the same device tree and kernel are used in every Q ROM except EvoX which uses crimson kernel
hcnulma said:
It's definitely stable...
Click to expand...
Click to collapse
Thanks. I will use it as my benchmark to build RR pie.
---------- Post added 15th February 2020 at 12:03 AM ---------- Previous post was 14th February 2020 at 11:57 PM ----------
hcnulma said:
In any case, I did find the Snapdragon 675 (ie sm6150) kernel trees for Q in several places, https://github.com/sm6150-dev/android_kernel_xiaomi_sm6150 and https://github.com/PixelExperience-Devices/kernel_xiaomi_sm6150. I'll take a closer look into this...
I did find the most recent CAF kernel under sm6150 here, but there seems to be an issue of this not showing up in /quic/la... Something will be resolved. Hopefully.
Click to expand...
Click to collapse
/quick/la/msm-4.14
prajwal2001 said:
you won't have to make any changes in the kernel as far as I know and as for the device tree you just have to make some changes according to the ROM
Click to expand...
Click to collapse
It is precisely the device tree that I'm worried about. From experience, PE has a lot of platform-specific stuff that Lineage doesn't (and the same the other way), and also from trying to figure out the fix to 16.0 I realised there's a lot of context/definition differences between the two device trees. I'd still give it a look, but I suspect it might be easier to just modify the current 16.0 device tree.
RupeshRN said:
Request to create group for discussion in Telegram
Click to expand...
Click to collapse
https://t.me/lineageos_violet.
Zjh0094 said:
/quick/la/msm-4.14
Click to expand...
Click to collapse
Yeah I already figured it was msm-4.14. Have already cloned it but am also considering cherrypicking changes that other devs have done to their kernel trees from 16.0 -> 17.1 as opposed to starting with the CAF kernel. A work in progress.
Sir I'm noob but mokee dev released android 10 and i think mokee and los are pretty same, will he not help you if you contact him?
An update on where I am:
I'm not sure whether to use the PE or Mokee vendor trees. Neither of them have much resemblance to 16.0 tree I have so cherry picking changes will be a nightmare.
The PE vendor tree has a lot of device-tree-specific commits, which will make it a headache to untangle later on. The Mokee vendor tree also has a lot of differing firmware files, though is a bit more similar to the LOS tree.
I'm doing a bit of experimentation to figure out which one will last better in the long run, since I can't seem to get my hands on any MIUI Android Q firmware blobs.
An update on where I am:
I'm not sure whether to use the PE or Mokee vendor trees. Neither of them have much resemblance to 16.0 tree I have so cherry picking changes will be a nightmare.
The PE vendor tree has a lot of device-tree-specific commits, which will make it a headache to untangle later on. The Mokee vendor tree also has a lot of differing firmware files, though is a bit more similar to the LOS tree.
I'm doing a bit of experimentation to figure out which one will last better in the long run, since I can't seem to get my hands on any MIUI Android Q firmware blobs.
Yet another update. I've got 17.1 builds working without having to resort to cheap tricks and commits (sort of).
Here's the 17.1 ROM. Here's the md5 hash. Needless to say, it's very experimental, not stable in the least (expect to get past boot maybe 70% of the time) - I'm getting very mixed results when experimenting myself. Nevertheless, try it out, see what you get. Install it the same way as usual. Keen to get as many eyes on this as possible

Categories

Resources