Does anyone have a recent or mako specific guide on how to build Paranoid Android builds, I'd like to cherry pick a few smaller features into the already powerful ROM.
Would following the OmniRom guide and basically replacing the Omni values with the correct Paranoid Android values work out? Or is there other specific stuff I need to do?
I've got Ubuntu 13.04 & currently building OmniRom whenever I see there's a bit of a decent update but other then that I'm pretty much a noob .
http://forum.xda-developers.com/showthread.php?t=1863547
Basically just clone the PA source, add the mako specific stuff (kernel, device, and vendor from TheMuppets repo) and compile. If you have any other questions just ask in the thread a linked above.
Hi,
I am new with custom ROM and Android kernel things.
I successfully boot my phone with my kernel compiled from source with Google toolchain. And someone suggested to me to use Linaro toolchain.
Then I went through this page https://android-build.linaro.org/ to get some idea, seems none on Mako.
Any suggestion?
I am using arm-linux-androideabi-4.6 tool chain now for kernel compiling.
Although I have used Android (phones & tablet) for about 4 years, I have only just started dipping my toes into the exciting world of rooting and mods. And so I have just wiped my Samsung Galaxy S3 and flashed the most recent Omnirom - a process which was so painless as to be almost pleasant!
It seems, however, that multiview/split screen is not available in this particular version of Omnirom (or if it is, it's so well hidden that I've not been able to find it!). So I'm wondering if it's possible to compile my own version of Omnirom from source, with just those parts of it I need. I used to compile linux kernels (before the days of loadable modules); can I do the same with Omnirom? That is, can I compile a version of Omnirom which might contain different fuctionailty that the nightly build?
Thanks!
It's pretty straightforward of you have a Linux box, and doable on Mac as well. There are great instructions on the OmniROM wiki. Plan on the source sync taking several hours (or overnight) the first time. Make sure you set up ccache so that subsequent builds go quickly.
http://docs.omnirom.org/Main_Page
Once you've built a straight-up version that works, you can branch and cherry-pick the multi-window patches from the OmniROM Gerrit instance.
---
Posted from whatever phone booted today
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.
I am new to android kernel build stuff. So please forgive me if this is not the right platform to raise this query.May i know the steps involved in building the kernel? I am trying to build the stock kernel updated by oneplus in github. Any help or supporting links about kernel compilation will be of utmost help to me. Thanks!
https://forum.xda-developers.com/an...erence-how-to-compile-android-kernel-t3627297
Kernel devs most likely uses scripts to compile their kernel which you can probably find in their github and adapt for yourself