Related
Okay Guys,
I am working hard to bring up Cyanogenmod to our beloved moto g.
But i am a bit Noobish in this field.
I have been reading guides and following the process.
So far I have setup the build environment and synced the latest repo from CM sources.
Now, further most imp step is Vendor, Kernal and Device tree.
I have found this so far, by searching this forum only,
https://github.com/MotorolaMobilityLLC/kernel-msm/tree/kitkat-4.4.4-release-titan
Now, reading further some guides, they say kernel and device tree will require some modification to work with CM12, but i couldnt find about this modification.
so I request all developers to guide me on this.
We can surely do this together. :fingers-crossed:
N.K.V. said:
Okay Guys,
I am working hard to bring up Cyanogenmod to our beloved moto g.
But i am a bit Noobish in this field.
I have been reading guides and following the process.
So far I have setup the build environment and synced the latest repo from CM sources.
Now, further most imp step is Vendor, Kernal and Device tree.
I have found this so far, by searching this forum only,
https://github.com/MotorolaMobilityLLC/kernel-msm/tree/kitkat-4.4.4-release-titan
Now, reading further some guides, they say kernel and device tree will require some modification to work with CM12, but i couldnt find about this modification.
so I request all developers to guide me on this.
We can surely do this together. :fingers-crossed:
Click to expand...
Click to collapse
I love your initiative! Unfortunately I'm not a developer...
Send from my XT1068 using Tapatalk.
nice work mate.... developers are needed urgently....
Why do you think developers will find you and this thread? It works the other way. You need to find developers and ask for help. I suggest you start here and here
I keep my fingers crossed for the success of the project :highfive:
Yes, I am reading all possible guides given by the developers.
By that only i have reach this far.
But for device tree and kernel, device specific modifications are necessary, and I really need help of some one who has actually done this before.
If this is successful , we can have an alpha build of CM 12 , in 3-4 days.
@ N.K.V.
ok i will help you with this..
first we need to set up device tree and vendor trees....
there is 2 ways to do this
first:- get a official motorola stock lollipop update for your phone.
(unfortunately it not yet released for all variants)
examine the similar device trees like falcon or htc a5 (desire 816) of lg l90 or sony m2 or sony e3
compare the kernel sources of falcon and titan (these are kitkat sources so may be in future motorola will release updated lollipop kernel source)
there are various major differences.
set up a basic device tree from falcon with msm8226 common of cm repos.
take vendor blob list from falcon
adapt it for titan
extract vendor blob from phone.
compile the rom
second:- from existing 4.4.4 rom
repo sync kernel from github
make changes to falcon and msm8226 device tree to adapt titan
extract vendor blobs with falcon list
compile
problem with second approach is that you have to make many changes to kernel and other things
but if we get official moto update of lollipop with kernel source then it will be little easier...
still if you are going to compile and want to make a cm12 from 4.4.4 i am with you ...i will set up device trees and other trees to set up things in motion.....
and then we can change vendor blobs and kernel to lollipop when it get released...
k2wl said:
@ N.K.V.
ok i will help you with this..
first we need to set up device tree and vendor trees....
there is 2 ways to do this
first:- get a official motorola stock lollipop update for your phone.
(unfortunately it not yet released for all variants)
examine the similar device trees like falcon or htc a5 (desire 816) of lg l90 or sony m2 or sony e3
compare the kernel sources of falcon and titan (these are kitkat sources so may be in future motorola will release updated lollipop kernel source)
there are various major differences.
set up a basic device tree from falcon with msm8226 common of cm repos.
take vendor blob list from falcon
adapt it for titan
extract vendor blob from phone.
compile the rom
second:- from existing 4.4.4 rom
repo sync kernel from github
make changes to falcon and msm8226 device tree to adapt titan
extract vendor blobs with falcon list
compile
problem with second approach is that you have to make many changes to kernel and other things
but if we get official moto update of lollipop with kernel source then it will be little easier...
still if you are going to compile and want to make a cm12 from 4.4.4 i am with you ...i will set up device trees and other trees to set up things in motion.....
and then we can change vendor blobs and kernel to lollipop when it get released...
Click to expand...
Click to collapse
This is great news. A team effort can do anything.:good:
Thanks to NKV and Kewl. Great initiative. God Bless You.
Sent from my Nexus 7 using XDA Free mobile app
okay guys,
let's keep this thread clean for developers.
you can always hit like to appreciate
UPDATE: @k2wl is working on kernel and device tree, it will take him some days.
@k2wl and N.K.V.
Thx for your time and work :good:
I wait for the right Software on xt1068!
I have a little bit of knowledge and i can learn really fast, if you guys need help, you can count on me
which model will this be for? (please say xt1064)
Bobboman said:
which model will this be for? (please say xt1064)
Click to expand...
Click to collapse
Doesn't matter. It will be for all variants!
absolutely brilliant, i wish i knew a lick of programming so that i could help get this done faster (i'm tired of seeing a SU update in play store and not being able to use it because it sends my G into a bootloop)
Thanks man, lollipop official update have a bug while playing music via bluetooth when screen is lock, can you fix it on this rom?
Ha ha...Let's make the ROM first..
Bug fixing in Second task.
Now that lollipop soak has started in India....i think Work should go fast. :beer:
Waiting for it. Please keep updated though!
I'm interested in helping with this.
Sent from my A0001 using XDA Free mobile app
Hope to See this soon! Thanks guys!!
Nice intitiative...but i think making device tree and vendor for this device will not be tht easy....still hope for best
This thread will be about changes i have made to the device trees for the t700,t705,t800,t805 which should in the long run make maintaining the variants a lot easier the primary changes i have done are combine all 4 of the variants into 1 kernel source as well as make a common device tree so they can inherit everything that is the same across devices.
Kernel Changes:
The Base kernel from Cyanogenmod supports klimtwifi (T700) and klimtlte (T705) to add support for chagallwifi (T800) all that is needed is to add its defconfig which is this file
https://github.com/LiquidSmooth-Dev...arch/arm/configs/deathly_chagalllte_defconfig
To add support for the Chagallte (T805) it was a little more complicated for to do but very simple for you guys for a little background T805 is exactly the same chipset as the other Galaxy Tab S's except for whatever reason Samsung decided to put a different gpu (Midgard_wk04) everyone else uses a mali_t6xx.
The stuff developers actually need to support Chagalllte are the following:
Defconfig:
https://github.com/LiquidSmooth-Dev...arch/arm/configs/deathly_chagalllte_defconfig
The GPU addition commit:
https://github.com/LiquidSmooth-Dev...mmit/c8e96e86c902cbc2b13d34e7e7158623eacf5d84
Bam that was easy now any kernel can support all 4 main variants of the Tab S
Device tree and vendor repos
First part i want to place links to all of the stuff that's needed to make a rom for each device in one place.
(Disclaimer the trees will be LiquidSmooth but it is very easy to convert them to any rom)
Klimtwifi (T700):
https://github.com/LiquidSmooth-Devices/android_device_samsung_klimtwifi
https://github.com/TheMuppets/proprietary_vendor_samsung/tree/cm-12.1/klimtwifi
Klimtlte (T705)
https://github.com/LiquidSmooth-Devices/android_device_samsung_klimtlte
https://github.com/schwabe93/vendor_samsung_klimtlte
Chagallwifi (T800)
https://github.com/LiquidSmooth-Devices/android_device_samsung_chagallwifi
https://github.com/diego-cr/android_vendor_samsung_chagallwifi
Chagalllte (T805)
https://github.com/LiquidSmooth-Devices/android_device_samsung_chagalllte
https://github.com/Andrewt12/android_vendor_samsung_chagalllte
WIP Common Device Tree:
When bringing up support for LiquidSmooth for these devices i noticed that they are all pretty much copied each other (which makes sense) but because of it there was tons of duplicated code between the devices so i decided to make a common device tree so any future code changes could be placed in one place instead of over 4 device trees. This is still a WIP because i do not have all the devices so i can not test them all in my eyes they should all work fine. The common device tree will also hopefully will be rom independent so no changes would be needed on a per rom basis. I can for sure say klimtwifi and chagallwifi work with my common tree, Chagalllte and klimtlte need to be tested still.
Common Device tree repo:
https://github.com/LiquidSmooth-Devices/android_device_samsung_exynos5420-common
Common device tree migration commits
Klimtwifi:
https://github.com/LiquidSmooth-Dev...mmit/444b4fc08f82eeeabe8e0a533539fe0c2fadd723
https://github.com/LiquidSmooth-Dev...mmit/cdf5f06c8a29bb237b964d5ee602d151c6323677
Klimtlte:
https://github.com/LiquidSmooth-Dev...mmit/8570d466e2b5b88c316c7f1576bf8ea9051c5e2a
Chagallwifi:
https://github.com/LiquidSmooth-Dev...mmit/5be51eb30283355109c65513ea209dd1d6855ff2
Chagalllte:
https://github.com/LiquidSmooth-Dev...mmit/5ff21d73a9cad3f7f9cf7f79b29bdbab0d8b2b1e
One more improvement that myself and @diegocr made was finally made a pernament fix to Chagallwifi's (T800) wifi issue he made a custom release tool in the device tree to make it so you would not have to manually patch it every time. I then took that and fixed the root of the issue which was that the vendor repo was not putting the files in the right spot. (My orig commit also did egl but that was not needed) the commit that did it is this:
https://github.com/diego-cr/android...mmit/1fc5135eda985ddc159f8465ee114e67aa5dfcae
Now into the features of my Deathly kernel
XDA:DevDB Information
[Dev Info] [Deathly Kernel] [AOSP] [Lollipop 5.1.1], Kernel for the Samsung Galaxy Tab S
Contributors
deadman96385
Kernel Special Features:
Version Information
Status: Testing
Created 2015-06-22
Last Updated 2015-06-21
Deathly Kernel
I have had a deathly kernel on most devices i own the goal of it is to get as many options and features into a kernel but still be stable. For the Tab S i took the aosp cm base and have updated it against kernel.org from 3.4.105 too 3.4.108 along with pull in a bunch of features from other exynos 5420 devices
As you read above i have made a common tree which changes the ramdisk so i have to provide two zips one with the new format one with old format currently the only rom that i personally have built with the new version is the latest klimtwifi and chagawifi all other roms will boot loop with it so use the old version
Currently i only have flashable for Klimtwifi (T700) i will generate the others once i get back from my trip.
New Ramdisk option:
http://www.drdevs.com/devs/teamliquid/Kernels/klimtwifi/New_format/
Old Ramdisk option:
http://www.drdevs.com/devs/teamliquid/Kernels/klimtwifi/Old_format/
Features of the Deathly kernel:
Will support all 4 main tab s devices (will add support for the US carrier variants if aosp is brought up)
CPU Voltage Control
CPU OverClock/UnderClock
GPU Voltage Control
GPU OverClock/UnderClock
MIF/INT Voltage Control (I will not show how to configure this if you know how too then you can)
Wolfson Sound Control Thanks to oloendithas for fixing it for stereo out
UKSM instead of KSM
Added the following IO Schedulers: fifo, fiops, sioplus, tripndroid, vr, zen, bfq (Default)
Full f2fs support updated off the mainline (Stock cm kernel has limited support)
Modified Thermal Throttling temperatures for all devices so hopefully they won't get as hot (WIP)
Android Logger disabled by default can be enabled over sysfs
Exynos thermal exposed to sysfs
WQ power efficient workqueues (Still need to apply in more places)
Frandom Support
Readahead bumped to 256 from 128
Details how to configure all of the features i will add the rest once i come back
GPU Configuration:
To configure the max or min gpu frequency you would go to either of the following files in a root enabled file browser and change the value inside
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq_gpu
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq_gpu
The allowed values for the files are as followed:
667, 600, 533, 480, 420, 350, 266, 177, 100
T800 owners the default min gpu freq is 100 on all roms if that causes issues raise the min freq to 266 you will probably not notice a battery decreases if that still does not work let me know i'll take a look at the code.
Reserved
Reserved
Thanks, working great on CM12.
Thank you man.. Im glad someone finely separated the device tree... And specially Happy about a new kernel that I can use in my Project Roms.
With all Credits going to you of course.. thanks again.
Hey mate, thanks for this!
I'm a little unsure about the new and old ramdisk thingy.
Running aicp on my klmitwifi, new ramdisk is cool?
Will try anyway, but let me know please!
Edit :
just checked, didn't stupidly before, Looks like the kernel is baked in your AICP rom.
Thanks again for your hard work!
Edit edit:
tried the v02 on the rom mentioned, had to revert cause I was having many ui fc.
Used new ramdisk version, could be that or I should have done a clean flash maybe?
Thanks for this, hopefully if fixes the lag issue for me on CM12 with the T800.
Thanks for all the hard work, grid .1 and .2 both worked perfect on bliss rom
Thanks, I will use your kernel on my chagallwifi SlimLP builds
Wait, does the Deathly kernel already in CarbonROM for T700 have F2FS support already? Or is that for the New Version and not yet built for klimtwifi? Thanks
SkOrPn said:
Wait, does the Deathly kernel already in CarbonROM for T700 have F2FS support already? Or is that for the New Version and not yet built for klimtwifi? Thanks
Click to expand...
Click to collapse
The f2fs version in the carbon build is not updated like it is now so i can not guarantee it works the next build will work though
deadman96385 said:
The f2fs version in the carbon build is not updated like it is now so i can not guarantee it works the next build will work though
Click to expand...
Click to collapse
OK, thanks. Hope your enjoying your time off... :good:
I'm going to backup your kernel and try ashyx's new build released today. Its closer to stock but has F2FS support also. Then I will test yours once its updated. Loving this new tab of mine, almost forgot how much fun it was trying to find the sweet spot on a device, lol. My Nexus 7 found its sweet spot a long time ago and now its just a plain ole boring tablet. hehe
diegocr said:
Thanks, I will use your kernel on my chagallwifi SlimLP builds
Click to expand...
Click to collapse
...Slim LP, for t800 maybe, where to find it?
m.
meduza2 said:
...Slim LP, for t800 maybe, where to find it?
m.
Click to expand...
Click to collapse
In SlimRoms Builders Collective
diegocr said:
In SlimRoms Builders Collective
Click to expand...
Click to collapse
...nice Do you intend to make an own SLIM LP thread?
m.
meduza2 said:
...nice Do you intend to make an own SLIM LP thread?
m.
Click to expand...
Click to collapse
Great idea, but now I have no time to keep updated
diegocr said:
Great idea, but now I have no time to keep you updated
Click to expand...
Click to collapse
Would be really great!!
I would like to see SLIM LP on my tab s A platform to exchange user experience for our specific device would be very helpful for you and us
m.
meduza2 said:
Would be really great!!
I would like to see SLIM LP on my tab s A platform to exchange user experience for our specific device would be very helpful for you and us
m.
Click to expand...
Click to collapse
http://forum.xda-developers.com/galaxy-tab-s/development/rom-ezio84-slimlp-t3146025
Hi,
So as many of you already knew - I'm working on porting CM13 onto my NU3001.
I has it on my desk table, so I could work on it during my days. (I have another NR3001 installed in my car)
I already made some work for our unit SW. This is quick screenshots. Sources based on xdAuto and CM13. This is a very BETA and many things not working for now.on.
Why? : When I realize than CyanogenMod 13 (6.0.1) works on my Motorola XT1080 better than stock - I start thinking of porting CM13 to our device. And when I have spare set - I start porting.
How? : I took easiest way - try to do not modify kernel a lot, instead adopt bionic and other libraries for out 3.0.36+ kernel.
Currently working staff (it is very beginning):
1. Recovery TWRP 3.0.2
2. CM13 (LineAge OS) booting.
3. Graphics working (there is some blinking present).
4. Wifi working
5. Android audio working
6. Bonovo Radio working
4. Most of the rest is on the way (GPS, BT, rest of Bonovo apps)
UPDATE_1:
I decide to do not stuck with CM 13 and switch to AOSP N release (7.0) (mostly because on my daily job - we also going to Android N, so it should be more familiar to me now)
Currently working staff:
1. Recovery TWRP 3.0.2
2. SELinux needs to be carefully ported (kernel part), cause starting from 7.0 is can not be disabled (as I did for CM13 to easy port)
During this port I will try to minimize inpact to AOSP release, so any future updates should be much more easier.
For you to understanding of amount of needed work - kernel already has 100+ patches on top of xdauto release. Approximate left about 250-300 patches to revise/port.
Android 7.0 port abandoned because of bigger and bigger amount of work need to be done to port SELinux on top of our outdated kernel.
UPDATE2:
I setup review build environment, so who want to look at NOT-FULLY-WORKING CM13 could download sources and binaries. I do not provide instructions how to flash it, because who wants to look and contribute already know hot to flash, and who doesn't probably don't really want this NOT-FULLY-WORKING CM13
UPDATE3:
So I finally managed to get functional networking. So now Wifi working, internet working, display working.
I starting to port all necessary items. No more 'hard' showstoppers so far.
New build (I believe it is build number 5) should be ready in an our on build server, so I could test it more fully.
UPDATE4:
Cause CyanogenMod is no more maintained - switched to it's successor Lineage OS 13.0, starting from build 8
UPDATE5:
Build number 15 has working audio + radio
UPDATE6:
Most of Bonovo changes ported, new build 20 ready.
This build contains zip file which should be flashable via twrp, but I not test it this way.
Issues remaining so far(most noticeable to me):
1. Display flickering (my suspect is to vsync/fence mechanism slightly changed in Android 6.0, need to investigate)
2. HW Volume buttons not working on device
3. No audio In
UPDATE 7:
Starting from build 23 following images available:
cm_rk3188-ota-XX.zip - update to use via TWRP
nu3001-la-cm13-XX-userdebug.tar.gz - build image for flash via command line rkflashtool under linux (full or partial flash)
rkflash_nu3001-la-cm13-XX-userdebug.zip - Full image to be flashed via PC GUI RK Batch Tool.
kernel_nu3001-la-cm13-XX-userdebug.tar.gz - just kernel with debug symbols for debugging purposes.
To just download sources:
repo init -u https://gerrit.nc.org.ua/manifest -b nu3001_cm13
If you plan to contribute - login to Gerrit with GMail, push your SSH public key, choose login name and then do:
repo init -u ssh://<user>@gerrit.nc.org.ua:29418/manifest -b nu3001_cm13
Builds will be available on Jenkins build server (login also via GMail, PM for access grant on current project stage):
https://jenkins.nc.org.ua/
1.5 GB folder on MEGA
4 files
mega.nz
Please do not spoof this thread with questions like "When?", I will try to post updates regularly in this message.
This thread created is mostly to exchange experience with this build once it is published (issues, TODOs, etc)
**Reserved **
First!
Second! Lol
I'm not a developer so unfortunately I can't contribute, but hopefully those who can will.
At the very least I can beta test when its a little more complete.
Android port system less complicated than the application Bonovo.app and MCU. Good luck and patience.
Black're a legend !!
Your project is great !!! see Android 6.0 on Carpad would be great.
Thanks for the great effort you make for all
Woooow great !!
Good luck
nice one, i hope a very important feature:
"that can be use apps, which require android +4.4.4, like lollipop"
I say that because android auto "stand alone" coming soon, so if will be possible install this app in the radio, we have android auto pure, ( not automate that is awesome but is not the same like original ), and maybe mp3 stuttering from usb can be solved in this rom.
keep up work!
Thanks for the sneak peak, looks promising. I'll gladly help sponsor a new device if you happen to brick yours. I love this headunit and how far the community has gotten in supporting it.
I want to buy NU3001 now, is there any way to get it?
vivacious said:
I want to buy NU3001 now, is there any way to get it?
Click to expand...
Click to collapse
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
VBlack said:
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
Click to expand...
Click to collapse
I want NU3001 because it has hdmi option. But check in aliexpress newsmy store said it is no production now. Is there someone have stock?
---------- Post added at 01:48 AM ---------- Previous post was at 01:43 AM ----------
VBlack said:
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
Click to expand...
Click to collapse
I want NU3001 because it has hdmi option. But check in aliexpress newsmy store said it is no production now. Is there someone have stock?
vivacious said:
I want NU3001 because it has hdmi option. But check in aliexpress newsmy store said it is no production now. Is there someone have stock?
Click to expand...
Click to collapse
I just put NU3001 to aliexpress search bar and found a lot of propositions, I think there should be available one.
Hi VBlack,
it's nice to know you're making progress on the new ROM CM13. All are rooting for you !! Your work would be wonderful !!
I have only one question:
With the ROM of XDAuto I found an annoying problem that occurs when i turn off and then relight the Carpad.
When the power back very often the Carpad car remains with black screen until i touch it with my finger.
I think the problem is somehow related to the USB ports.
Even with your ROM does this happen ?? When you turn on the car, the Carpad remains ever with black screen ??
Thank you!!
VBlack said:
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
Click to expand...
Click to collapse
Do you have your efforts posted on github anywhere? Would you mind doing so?
There is a chance I may be working on these devices again after all, and having a working CM provides a *LOT* of possibilities. Namely the Theme engine.
If you would be willing to post your work, I'm sure there are a handful of us who could help with the port.
Thanks,
Zaphod-Beeblebrox said:
Do you have your efforts posted on github anywhere? Would you mind doing so?
There is a chance I may be working on these devices again after all, and having a working CM provides a *LOT* of possibilities. Namely the Theme engine.
If you would be willing to post your work, I'm sure there are a handful of us who could help with the port.
Thanks,
Click to expand...
Click to collapse
Nice to hear from you. Sure I will share. Current situation is next:
CM13 - no wifi (looks like netfilter from userspace not match netfilter from our outdated kernel), no selinux (completely disabled), and increased system partition to be able to add opengapps, twrp - works.
AOSP 7 - it is strongly rely on selinux, so i could not just disable it, and now I'm trying to merge new selinux with our old kernel...
So, i will upload CM13 in current state, and continue on aosp 7, if i fail with aosp 7 i will back to cm13. This is current plan.
Sent from my DROID MAXX using Tapatalk
Zaphod-Beeblebrox said:
Do you have your efforts posted on github anywhere? Would you mind doing so?
There is a chance I may be working on these devices again after all, and having a working CM provides a *LOT* of possibilities. Namely the Theme engine.
If you would be willing to post your work, I'm sure there are a handful of us who could help with the port.
Thanks,
Click to expand...
Click to collapse
I update first post with sources and build information
@VBlack, you mention "our outdated kernel". Does this imply that the kernel sources aren't available? I am very interested in this project because I am looking for a head unit with fully update firmware that can be kept up to date with security patches, and some of the Android security patches include the kernel (e.g. the recent "dirty cow" vulnerability).
shatteredsilicon said:
@VBlack, you mention "our outdated kernel". Does this imply that the kernel sources aren't available? I am very interested in this project because I am looking for a head unit with fully update firmware that can be kept up to date with security patches, and some of the Android security patches include the kernel (e.g. the recent "dirty cow" vulnerability).
Click to expand...
Click to collapse
No, we have kernel sources, but our kernel version 3.0.36 and looks like nobody release Android kernel 3.14 or 3.18 for rk3188. 3.14 and 3.18 mostly used in Android M and N. So combining Android M or N with such outdated kernel is not a trivial task. Because of this incompatibility we currently have all networks issue on this CM13 project.
Kernel 3.0.36 is 4.5 years old. The 3.0 branch is no longer maintained with security patches, and hasn't been maintained in over 3 years. There have been numerous security exploits in the Linux kernel since then, many of which are applicable to Android. Is it worth even persevering with this under such an extreme kernel constraint?
shatteredsilicon said:
Kernel 3.0.36 is 4.5 years old. The 3.0 branch is no longer maintained with security patches, and hasn't been maintained in over 3 years. There have been numerous security exploits in the Linux kernel since then, many of which are applicable to Android. Is it worth even persevering with this under such an extreme kernel constraint?
Click to expand...
Click to collapse
You'd be surprised how many phones in the market use old kernels (3.0 is not too old for Android - it is about 2-3years off from active development).. But true is that Android kernel despite it's version less vulnerable than Desktop one, and has many fixes included (it is does not increase kernel version, like mainline kernel). Because of this it is generally hard to say which security issue will be there for sure. But on the other hand Android N and Android M has SELinux enabled, and Android N could not have it disabled. It is dramatically increase overall security of the system. But for the most of traditional Android user kernel exploits does not produce many harm - it is not a corporate server with sensitive information. And many of them used to obtain root on bootloader locked systems.
So generally for what I have in mind:
1. If succeeded just with CM13 - I have disable SELinux there - it is will be not less secure than original 4.x release - just system/google components will be upgraded, which allow us use modern UI features from Android M, and also adds more compatibility with new applications revisions.
2. If succeeded with AOSP 7.0 - SELinux will be enabled there, so we will have security addition on top of old kernel, which actually will increase security alongside allowing UI features from Android N.
So in any case it is very nice to have.
This project is temporarily discontinued. To be resumed on Mid-June. Please use the original builds by flar2:
https://forum.xda-developers.com/oneplus-3/development/kernel-elementalx-op3-0-01-t3404879
Thanks!
Disclaimers
This project is in beta status. No warranties express or implied.
Overclocking feature is not recommended as it may cause overheating.
Always do a full TWRP backup and copy it to PC before proceeding.
NewEraElementalX for OnePlus 3 Limited Edition (The original OP3)
OxygenOS based:
0.32-9.1 for OxygenOS 3.2.8 Marshmallow
2.07-1 for OxygenOS 4.0.3 Nougat 7.0
3.00-1 for OxygenOS 4.1.0 Nougat 7.1
CyanogenMod/LineageOS based:
0.39-cm-9.1 for CyanogenMod 13.0 Marshmallow
1.04-los-2 for CyanogenMod 14.1 Nougat
1.05-los-3 for LineageOS 14.1 Nougat (API 3.18.47)
2.09-los-1 for LineageOS 14.1 Nougat (API 3.18.31)
[Feb 10 and earlier] Built with gcc-linaro-5.3.1-2016.05 toolchain.
[Feb 14 and later] Built with gcc-linaro-5.4.1-2017.01 toolchain.
NewEraElementalX is based on the award winning ElementalX kernel by flar2. Big shouts for his hard work.
It is designed for maximum stability, security and performance. It is made for people who depend on their phone every day.
Release Notes
For maximum compatibility with all ROMs, NewEraElementalX uses your existing ramdisk. Do NOT flash this over other custom kernels! You should only flash over the kernel that came with your ROM!
Going back to stock: This kernel installer modifies your filesystem (changes modules). You can backup your boot.img and system.img with TWRP before flashing if you want to go back.
Xposed Framework and ROMs in Beta/Preview status are not officially supported.
If you are using CyanogenMod/LineageOS and F2FS be very careful. This kernel includes the latest fixes proposed by arter97. Read more at:
forum.xda-developers.com/showpost.php?p=70492947&postcount=8793
Features
Easy installation and setup with Aroma installer
Wake Gestures support (sweep2wake & doubletap2wake)
Notification LED control
Sound control
Advanced color control
Sweep2sleep
Backlight dimmer
Overclock or underclock CPU
Adjust or disable vibration
FIOPS, BFQ, CFQ, deadline, noop and SIO i/o schedulers
NTFS r/w support
Option to disable fsync
Performance and power optimizations
USB OTG support
Dash charge
Supports MultiROM
Does not force encryption
Compatible with systemless root
Extras
Extensive build fixes
Battery usage improvements
Performance enhancements
Security fixes for upstream advisories
Miscellaneous edits
Installation
Install or Sideload flashable zip via TWRP recovery.
Note: Always reboot TWRP after flashing full ROM/OTA, before flashing custom kernel.
Rooting
I have tested SuperSU and Magisk. Here is how I recommend doing it:
SuperSU: Flash SuperSU first and then custom kernel.
Magisk: Flash custom kernel and then Magisk.
Report Bugs
github.com/VPSrv/android_kernel_oneplus_msm8996/issues
[Feb 09 NewEraElementalX-OP3-0.32-9.1] OxygenOS 3.2.8 Marshmallow Based ROMs (Linux 3.18.20 + WiFi Module)
Flashable zip: mega.nz/#!4oAhnYQC!_daLwYe8FYpIcrdGSAU62-g5KTaZHZMmrJ0R01UeJXM
Link decyption key (if it asks): !_daLwYe8FYpIcrdGSAU62-g5KTaZHZMmrJ0R01UeJXM
Flashable zip md5: 7758e3c003670866a44efa29bd144777
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/newera/ElementalX
[Mar 13 NewEraElementalX-OP3-2.07-1] OxygenOS 4.0.3 Nougat Based ROMs (Linux 3.18.31 + WiFi Module)
Flashable zip: mega.nz/#!d85lzIJY!pzLSR2SSyijpWHPVaxcWnXnfMqdv01VikoVWUAC9CI4
Link decyption key (if it asks): !pzLSR2SSyijpWHPVaxcWnXnfMqdv01VikoVWUAC9CI4
Flashable zip md5: 020b0f44cd1a4bf70d1289fc9c0c7519
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/newera/ElementalX-2.00
[Mar 23 NewEraElementalX-OP3-3.00-1] OxygenOS 4.1.0 Nougat Based ROMs (Linux 3.18.31 + WiFi Module)
Flashable zip: mega.nz/#!04oEnIZI!ta22oN_82LPx5eU0QDY9QO4cN0O9UO11dXuu9DZmSx4
Link decyption key (if it asks): !ta22oN_82LPx5eU0QDY9QO4cN0O9UO11dXuu9DZmSx4
Flashable zip md5: 4654cc028b2cbfd31e2d179295eb8ddb
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/newera/ElementalX-3.00
[Feb 09 NewEraElementalX-OP3-0.39-cm-9.1] CyanogenMod 13.0 Based ROMs (Linux 3.18.44 + WiFi Built-in)
Flashable zip: mega.nz/#!IgRV0RYZ!stXasRuRMZkbBRIkoIIiLEGYDb4zQM78UuIDOETNFLI
Link decyption key (if it asks): !stXasRuRMZkbBRIkoIIiLEGYDb4zQM78UuIDOETNFLI
Flashable zip md5: 0e96caabb754cf52a4fc1f4abfddb647
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/newera/ElementalX-CM
[Feb 02 NewEraElementalX-OP3-1.04-los-2] CyanogenMod 14.1 Based ROMs (Linux 3.18.47 + WiFi Module)
Flashable zip: mega.nz/#!UhhyGbAa!sL5pgMa_DSAMhWnSQE4yN-QjD13hsIXWCNnyycO7uvk
Link decyption key (if it asks): !sL5pgMa_DSAMhWnSQE4yN-QjD13hsIXWCNnyycO7uvk
Flashable zip md5: df5cc7ecd9c9aeb28b9a41057c71ae40
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/newera/ElementalX-CM14.1
[Mar 03 NewEraElementalX-OP3-1.05-los-3] LineageOS 13.0 And Old 14.1 Based ROMs (Linux 3.18.47 + WiFi Built-in)
Flashable zip: mega.nz/#!p85BwaSD!GrN8B8-zLntmnLd3nhm5v8QSVO1OUnO11cKRv0ApFw0
Link decyption key (if it asks): !GrN8B8-zLntmnLd3nhm5v8QSVO1OUnO11cKRv0ApFw0
Flashable zip md5: eeeef84393cf1ee16e4829f25898854d
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/newera/ElementalX-LOS
[Mar 13 NewEraElementalX-OP3-2.08-los-1] LineageOS 14.1 Based ROMs (Linux 3.18.31 + WiFi Built-in)
Flashable zip: mega.nz/#!E0BGBCwC!QQuE2ZtkRnVdsv4O3uIBLMNZjhDncN5PGkagl_GQPTI
Link decyption key (if it asks): !QQuE2ZtkRnVdsv4O3uIBLMNZjhDncN5PGkagl_GQPTI
Flashable zip md5: 64945aad24a90d978fdca7dae3622517
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/NewEraElementalX-OP3-2.08-los-1
[Mar 29 NewEraElementalX-OP3-2.09-los-1] LineageOS 14.1 Based ROMs (Linux 3.18.31 + WiFi Built-in)
Flashable zip: mega.nz/#!19gCVazZ!1aBw5KWG3Kcx9VaBbtCNCVNXN7olQ28HZZEJXgyNMpA
Link decyption key (if it asks): !1aBw5KWG3Kcx9VaBbtCNCVNXN7olQ28HZZEJXgyNMpA
Flashable zip md5: 520cd4ce116574cb31d309dde2386f36
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/tree/newera/ElementalX-2.00-LOS
Previous versions (Use at your own risk!)
Flashable zips: mega.nz/#F!p0hU3K5L!M6ISSY53TaHOmTuJgXq_tA
Link decyption key (if it asks): !M6ISSY53TaHOmTuJgXq_tA
Sources: github.com/VPSrv/android_kernel_oneplus_msm8996/releases
Manual Build From Source
Code:
export ARCH=arm64
export SUBARCH=arm64
export CROSS_COMPILE=/home/newera/gcc-linaro-5.4.1-2017.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
make elementalx_defconfig
make -j5 &>../elementalx.log
You need to use your own CROSS_COMPILE path. I leave the remaining steps at discretion of the reader.
Credits & Original Sources
flar2/ElementalX
eng.stk/blu_spark
franciscofranco/franco.Kernel
Lord Boeffla/Boeffla-Kernel
RenderBroken/Render Kernel
OnePlusOSS/oneplus3
LineageOS/cm-14.1
Disclaimer to moderators:
Slight off-topic is fine, but when users decide to act stupid they should be dealt with with the appropriate means - its really annoying for me when off-topic turns crazy. Please put the warning/ban hammer anytime any of you think there's lack of respect and/or too much unwanted off-topic - but if it doesn't meet this criteria let the off-topic posts alone. Thank you.
First post in! Great to see you on here Jorge!
The longest journeys begin with the first step.....well done Jorge.
If a Mod sees this, please move to ROMs, kernels, and recoveries section. Nice work Jorge!
kyledowling said:
If a Mod sees this, please move to ROMs, kernels, and recoveries section. Nice work Jorge!
Click to expand...
Click to collapse
+1
Kinda sad cause I'm currently on f2fs and using xposed but I will follow up on this thread, looks promising
Chabola said:
+1
Kinda sad cause I'm currently on f2fs and using xposed but I will follow up on this thread, looks promising
Click to expand...
Click to collapse
The problem with F2FS is that after upgrading to a kernel shipping a newer version, you can't go back to your earlier kernel without risking data corruption and kernel panics. After you confirm with the ROM developer that F2FS fix is applied, this kernel should work safely and perform correctly as expected.
Xposed might work. I just don't want to be bothered if there are any bugs caused by it.
Thanks!
Released an update of my CM 14.1 kernel. It's updated to the latest LineageOS tree including merge with Linux Kernel version 3.18.46.
Shortly tested on cm-14.1-20161225-NIGHTLY-oneplus3 and working.
JorgeManuelSilva91 said:
The problem with F2FS is that after upgrading to a kernel shipping a newer version, you can't go back to your earlier kernel without risking data corruption and kernel panics. After you confirm with the ROM developer that F2FS fix is applied, this kernel should work safely and perform correctly as expected.
Xposed might work. I just don't want to be bothered if there are any bugs caused by it.
Thanks!
Click to expand...
Click to collapse
I'm on the lastest marshmallow oxygen os yeah thanks for explaining
The F2FS problem is only specific to CyanogenMod/LineageOS (All ROM releases built after January 11th should have the fix on them).
OxygenOS has always been okay in that area. OnePlus never released the sources of the Community Open Betas so I don't officially support that either. I am also waiting for Nougat sources to see if I can work something out.
Thanks for the updated cm 13 build of the kernel. Batterylife seems really a little bit better with your build.
Released an update of my CM 14.1 kernel. It's updated to the latest LineageOS tree including merge with Linux Kernel version 3.18.47 and flar2's ElementalX-1.04-los
Shortly tested on cm-14.1-20161225-NIGHTLY-oneplus3 and working.
I have released NewEraElementalX-OP3-1.05-los-1, it is based on ElementalX-OP3-1.05-los, the big change in this version is that WiFi module is now static. This kernel is no longer compatible with CyanogenMod 14.1 and is only compatible with LineageOS builds after January 22.
For older CyanogenMod/LineageOS 14.1 builds you should use NewEraElementalX-OP3-1.04-los-1 released on January 20.
This new build also works on the oldish CyanogenMod 13 MM because the kernel API is very similar and I have done some testing there. This configuration is not officially supported.
Just a question: would be possible build this kernel with another toolchain release?( I'm referring especially to the one that zanezam use to build his unofficial boeffla kernel )
That's just an idea to further improve the performnce of the kernel
It's possible. But I have previously tested with GCC Linaro 6.2.1 and I haven't seen that much performance change. In fact I had lower points when running PassMark PerformanceTest on GCC Linaro 6.2.1 built kernel vs GCC Linaro 5.3.1.
JorgeManuelSilva91 said:
It's possible. But I have previously tested with GCC Linaro 6.2.1 and I haven't seen that much performance change. In fact I had lower points when running PassMark PerformanceTest on GCC Linaro 6.2.1 built kernel vs GCC Linaro 5.3.1.
Click to expand...
Click to collapse
Did you tried to use some uber toolchain or blu_naro 6.3 from eng.stk?
After testing, a build of NewEraElementalX for OxygenOS 4.0.2 Nougat has been released. This is based on ElementalX 2.01 and is an unofficial fork (as all the other builds). When using this builds please report any bugs on GitHub link I posted on original post.
Be aware that OxygenOS Nougat is recent and the release schedule by OnePlus was a little bit rushed to meet deadlines. So, as always, keep a backup in your computer of the previous installation in case you want to go back.
android extreme said:
Did you tried to use some uber toolchain or blu_naro 6.3 from eng.stk?
Click to expand...
Click to collapse
I may research into that in the future. It is not a priority yet as GCC 5.3.1 Linaro delivers the things I need.
JorgeManuelSilva91 said:
I may research into that in the future. It is not a priority yet as GCC 5.3.1 Linaro delivers the things I need.
Click to expand...
Click to collapse
No problem dev as i said mine was just a question and thank you for having dedicated to me some time to answer to my question
Massive rebuild today! All 5 branches have been updated. There is a new addition based on flar2's ElementalX-2.00-LOS for the most recent LineageOS ROMs with O2OS Nougat backports (Kernel API 3.18.31).
NewEraElementalX-OP3-0.32-9, NewEraElementalX-OP3-0.39-cm-9, NewEraElementalX-OP3-1.04-los-2, NewEraElementalX-OP3-1.05-los-2 and NewEraElementalX-OP3-2.01-2, include minor fixes compared with the previous builds. The GitHub repository is heavily tagged so you can check all changes by yourself:
android_kernel_oneplus_msm8996/compare/NewEraElementalX-OP3-0.32-8...NewEraElementalX-OP3-0.32-9
android_kernel_oneplus_msm8996/compare/NewEraElementalX-OP3-0.39-cm-8...NewEraElementalX-OP3-0.39-cm-9
android_kernel_oneplus_msm8996/compare/NewEraElementalX-OP3-1.04-los-1...NewEraElementalX-OP3-1.04-los-2
android_kernel_oneplus_msm8996/compare/NewEraElementalX-OP3-1.05-los-1...NewEraElementalX-OP3-1.05-los-2
android_kernel_oneplus_msm8996/compare/NewEraElementalX-OP3-2.01-1...NewEraElementalX-OP3-2.01-2
You can also use this GitHub feature to compare the changes on my modded builds vs the original:
android_kernel_oneplus_msm8996/compare/ElementalX-OP3-2.00-los...NewEraElementalX-OP3-2.00-los-1
I have not tested any of the new builds (except the one for O2OS Marshmallow that I am on at the moment) but I am confident they will work fine and you will benefit from the latest updates.
This new builds also mark the end of support for 0.x (Marshmallow) and 1.x (Previous Nougat) and I will not do any rebuilding/updates from now on those branches. The only supported and actively updated series will be 2.x (New Nougat).
UPDATE: All builds have been tested on their respective ROMs. Confirmed working.
Can you make for 3t too please?
Schrotty35 said:
Can you make for 3t too please?
Click to expand...
Click to collapse
Unfortunately, I don't have a 3T device for testing. I know it is relatively similar with the original OnePlus 3 albeit CPU frequencies and battery capacity differ.
The installer of NewEraElementalX-OP3-1.05-los-2 (for LineageOS 14.1 Old), NewEraElementalX-OP3-2.00-los-1 (for LineageOS 14.1 New) and NewEraElementalX-OP3-2.01-2 (for OxygenOS 4.0.2) contains code to allow installation on a 3T and the kernel also contains the device descriptors so it may work.
But... I don't want to give certainty as it might render the ROM not bootable. If that happens, boot recovery and restore a TWRP backup of boot.img and system.img (if you enable wifi module replacement).
Good luck and proceed at your own risk! Report back if you can too. I'd like to know if it works. I am open to any questions you may have.
Hi all,
I like to try tweaking and hacking my phone. I've tried some ROMs on my kugo for some time, but I figured I wanted to make my own personalized build. Right now, I'd like to use the 'Night Light' app from F-Droid, which requires KCAL support. In order to enable KCAL I'd need to edit the stock kernel (I know this can be done, it was the case for Genesis Kernel on Nougat).
Hence I'd want to learn to compile a kernel, but I can't get to the end of Sony's tutorial. I've downloaded the kernel source but I am totally lost with defconfig files. How should I configure the kernel ? There is no obvious choice for a defconfig, and I can't get past point #6 in the tutorial..
Given that I've just discovered kernel compilation today, would someone be kind and take some time to maybe point me to useful doc, give me a clue as to what my next step could be, or teach me how they compile kernels for their device ?
Many thanks for any help,
Cheers
TLDR. How to compile a kernel? I have Sony's source for kugo, but don't understand how to configure the kernel compilation.