[KERNEL REFERENCE] Linux 3.10.y / Individual WFC Commits - Nexus 6 Developer Discussion [Developers Only]

** Disclaimer **
If you flash this and your device breaks, I'm not taking responsibility. You flash anything and everything AT YOUR OWN RISK.
This is intended (at time of writing) to remain stock AOSP source with upstream Linux 3.10.x merged in. I will be keeping a living copy of the Nexus 6 kernel source up-to-date with AOSP sources, as well as TESTED and VERIFIED upstream Linux subversion up to the most recent (3.10.63 at time of writing). This is mainly to save other developers time spent merging upstream Linux (while ultimately not very influential on Android, some benefits still remain that make it worthwhile to maintain this)
Branches to reference:
android-5.1 (AOSP + Upstream Linux Kernel)
Update: omnirom/android-5.1 AOSP lollipop-mr1 kernel including necessary bcmdhd and selinux changes for WFC (this is NOT an m-preview merge into lollipop-mr1)
AOSP Nexus 6 Kernel Source
Linux Kernel 3.10.x Source

Currently tested with:
Stock (5.0.1 at time of writing)
OmniROM
CyanogenMod
CleanROM 1.3.5
As you test on different ROMs, please let me know so I can keep this list updated.
Also, this is a Nexus, as long as people don't start adding weird things, this will work fine on just about any ROM.

Reserve 2

I think you posted this in the wrong section, anyhow, thank you for your contribution I will for sure be taking a look at your work.

RIPng said:
I think you posted this in the wrong section, anyhow, thank you for your contribution I will for sure be taking a look at your work.
Click to expand...
Click to collapse
No, correct section. I plan on providing a "customized" version soon, which will provide some minor optimizations and changes. Currently working on another kernel for another device right now, so that will come once I complete my other project (next few days )

jakew02 said:
** This will mainly be for reference for developers, but can also be flashed for use with any ROM as well **
This is intended (at time of writing) to remain stock AOSP source with upstream Linux 3.10.x merged in. I will be keeping a living copy of the Nexus 6 kernel source up-to-date with AOSP sources, as well as TESTED and VERIFIED upstream Linux subversion up to the most recent (3.10.63 at time of writing). This is mainly to save other developers time spent merging upstream Linux (while ultimately not very influential on Android, some benefits still remain that make it worthwhile to maintain this)
Reference the android-5.0. I will only push to that branch after personally compiling and testing the kernel.
Source: https://github.com/jakew02/android_kernel_moto_shamu
AOSP Nexus 6
Linux Kernel 3.10.x
(Will make post pretty later)
Click to expand...
Click to collapse
Hey Jake...have you tried compiling this kernel on mac yet? I am having tons of issues with headers. Not sure if something is missing with Xcode. I am pretty sure I remember you having a mac.

rlasalle15 said:
Hey Jake...have you tried compiling this kernel on mac yet? I am having tons of issues with headers. Not sure if something is missing with Xcode. I am pretty sure I remember you having a mac.
Click to expand...
Click to collapse
I used to, but not anymore. Most certainly an OS X issue. You would need to give me the errors to look at since I have no issues compiling on Arch.

jakew02 said:
I used to, but not anymore. Most certainly an OS X issue. You would need to give me the errors to look at since I have no issues compiling on Arch.
Click to expand...
Click to collapse
Going to try again.....building inline. give me a few.
---------- Post added 29th December 2014 at 12:41 AM ---------- Previous post was 28th December 2014 at 11:55 PM ----------
jakew02 said:
I used to, but not anymore. Most certainly an OS X issue. You would need to give me the errors to look at since I have no issues compiling on Arch.
Click to expand...
Click to collapse
sent you a pm.
here is the issue for anyone else that may have a clue on what a fix could be:
In file included from /Volumes/android/eos/kernel/moto/shamu/scripts/sortextable.c:31:
/Volumes/android/eos/kernel/moto/shamu/tools/include/tools/be_byteshift.h:4:10: fatal error: 'linux/types.h'
file not found
#include <linux/types.h>
^
1 error generated.
It seems like mac os x doesn't have types.h headers that linux does. Hammerhead compiles just fine, but shamu....she no wanna compile inline.

Download link for the boot image added to OP. Tested ROMs are in post #2.

jakew02 said:
** This will mainly be for reference for developers, but can also be flashed for use with any ROM as well **
This is intended (at time of writing) to remain stock AOSP source with upstream Linux 3.10.x merged in. I will be keeping a living copy of the Nexus 6 kernel source up-to-date with AOSP sources, as well as TESTED and VERIFIED upstream Linux subversion up to the most recent (3.10.63 at time of writing). This is mainly to save other developers time spent merging upstream Linux (while ultimately not very influential on Android, some benefits still remain that make it worthwhile to maintain this)
Reference the android-5.0. I will only push to that branch after personally compiling and testing the kernel.
I will not be providing a recovery zip for installation. Use fastboot of Flashify.
Eventually going to add a custom version with CPU frequency and voltage control, and maybe some other stuff.
Download: shamu-3.10.63-20141230
Source: https://github.com/jakew02/android_kernel_moto_shamu
AOSP Nexus 6
Linux Kernel 3.10.x
(Will make post pretty later)
Click to expand...
Click to collapse
Sweet, thanks for this Jake - I like merging much better than manually patching

CPA Poke said:
Sweet, thanks for this Jake - I like merging much better than manually patching
Click to expand...
Click to collapse
The way I have setup the commit history should allow for most developers to just rebase onto my kernel source. I'm willing to bet there will be minimal merge conflicts in doing that (depending on what has been changed, of course)

jakew02 said:
The way I have setup the commit history should allow for most developers to just rebase onto my kernel source. I'm willing to bet there will be minimal merge conflicts in doing that (depending on what has been changed, of course)
Click to expand...
Click to collapse
Already started I was talking about future maintenance, ie for those who have already updated to the most recent sources.

Updated to 3.10.64

rlasalle15 said:
Going to try again.....building inline. give me a few.
---------- Post added 29th December 2014 at 12:41 AM ---------- Previous post was 28th December 2014 at 11:55 PM ----------
sent you a pm.
here is the issue for anyone else that may have a clue on what a fix could be:
In file included from /Volumes/android/eos/kernel/moto/shamu/scripts/sortextable.c:31:
/Volumes/android/eos/kernel/moto/shamu/tools/include/tools/be_byteshift.h:4:10: fatal error: 'linux/types.h'
file not found
#include <linux/types.h>
^
1 error generated.
It seems like mac os x doesn't have types.h headers that linux does. Hammerhead compiles just fine, but shamu....she no wanna compile inline.
Click to expand...
Click to collapse
This is related to your toolchain and the 'include' files, or your NDK sysroot if you are using NDK/toolchain. What toolchain are you using to compile?

ryanbg said:
This is related to your toolchain and the 'include' files, or your NDK sysroot if you are using NDK/toolchain. What toolchain are you using to compile?
Click to expand...
Click to collapse
He is building in OS X, probably not a toolchain issue. I would assume it's a compiler issue that needs to be fixed with some strange workaround specifically for OS X, since he said hammerhead kernel builds fine.

jakew02 said:
He is building in OS X, probably not a toolchain issue. I would assume it's a compiler issue that needs to be fixed with some strange workaround specifically for OS X, since he said hammerhead kernel builds fine.
Click to expand...
Click to collapse
Depends on if he is using the prebuilt darwin toolchain, there's some missing data types/ops in the header types.h. I've noticed it's been like that since Android 19 platform.

@ryanbg possible. @rlasalle15 I had issues with Mac previously (about a year and a half ago) but have since purchased a new laptop and use Linux exclusively so I'm not much help here.
Updated 3.10.64 image available via OP.

I'm happy using by his kernel. Thanks! I've tried several different kernels, and this seems to keep the phone running fast, reliable, and adequate battery life.

updated to 3.10.65, boot.img included in OP and github reflects.

Apologize for my ignorance...but is this encrypted?

Related

Porting 3.10 kernel to i9505

Google has recently released the 3.10 linux kernel for Android. and CodeAurora has also got it. I was wondering if it's realistic to port in this phase. I tried to but I failed hard lol. Main reason to port the 3.10 series is that it should have a great battery life. I'm not sure whether it will run on KitKat since it's supposed to be for Android 5.0.
Links:
Google Kernel: https://android.googlesource.com/kernel/common.git/+/experimental/android-3.10
CodeAurora Kernel: https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10
Anyone else attempted? If anyone could give me some more info about this I would be very happy!
Thread cleaned
How many times do we have to say it?
Keep this damn soap opera drama OFF XDA and stick to your Google +
How rude to bring all this crap in here to the OP's discussion
Next talk of secret kernels or banned members will be...trouble.
If you have no respect for XDA, then leave XDA...please!
Thank you for your cooperation
Friendly Neighborhood Senior Moderator
From my experience i know that binary compatibility between linux kernel versions (even between minor versions) is the latest thing developers care about. Even if you make this kernel work on i9505 i doubt u will be able to use binaries (those /system/lib/*.so files) from any existing ROM and thus u won't be able to make ROM with this kernel.
Need to wait when Samsung will move to this kernel version, but i'm affraid it won't happen on any existing phone. Usually, Samsung stick on the kernel version phone launched.
sorg said:
From my experience i know that binary compatibility between linux kernel versions (even between minor versions) is the latest thing developers care about. Even if you make this kernel work on i9505 i doubt u will be able to use binaries (those /system/lib/*.so files) from any existing ROM and thus u won't be able to make ROM with this kernel.
Need to wait when Samsung will move to this kernel version, but i'm affraid it won't happen on any existing phone. Usually, Samsung stick on the kernel version phone launched.
Click to expand...
Click to collapse
It's possible that CAF updated their repos or AOSP for the 3.10 kernel. There's references to 3.12 at master in bionic.
broodplank1337, what happens if you build a recovery and fastboot boot that?
xboxfanj said:
It's possible that CAF updated their repos or AOSP for the 3.10 kernel. There's references to 3.12 at master in bionic.
Click to expand...
Click to collapse
Doesn't AOSP use any libraries from stock ROM?
I didn't try AOSP, but CM usually required many libraries from stock ROM last time i've tried (couple years ago).
sorg said:
Doesn't AOSP use any libraries from stock ROM?
I didn't try AOSP, but CM usually required many libraries from stock ROM last time i've tried (couple years ago).
Click to expand...
Click to collapse
Yeah, there's a bunch of proprietary files specific to the SOC.
It's not as simple as the code existing on CAF, the device branch for your specific SoC needs it as well.
Of course, one could do this manually, but the effort and skills required is not trivial.
LLStarks said:
It's not as simple as the code existing on CAF, the device branch for your specific SoC needs it as well.
Of course, one could do this manually, but the effort and skills required is not trivial.
Click to expand...
Click to collapse
True. Caf does have some 3.10 device branches but none for 8960/8064, since those are not supported. Not sure why since they do support weaker chips such as 8226 and 8610. They do have some ramdisk changes for 3.10, but even with all that, I have no adb and no ramconsole on the optimus g (nexus 4).
Sent from my Optimus G using xda app-developers app
The only things I'd really want out of a >3.4 kernel is dma_buf support, the msm drm, and Freedreno
Maybe it would be easier to backport these features since by themselves they go a long way to making desktop Linux on our phones easier
LLStarks said:
The only things I'd really want out of a >3.4 kernel is dma_buf support, the msm drm, and Freedreno
Maybe it would be easier to backport these features since by themselves they go a long way to making desktop Linux on our phones easier
Click to expand...
Click to collapse
my s3 3.4-drm kernels supports it - patches came from here ==>
(s4 kernel is a WIP)
https://github.com/freedreno/kernel-msm/
That stuff's outdated
Real magic is here: http://cgit.freedesktop.org/~robclark/linux/refs/heads
Additionally, I wonder if anyone has attempted to boot Linux off the Hexagon DSP which is a pretty much like a 2nd CPU in your phone that's waiting to be used
LLStarks said:
That stuff's outdated
Real magic is here: http://cgit.freedesktop.org/~robclark/linux/refs/heads
Additionally, I wonder if anyone has attempted to boot Linux off the Hexagon DSP which is a pretty much like a 2nd CPU in your phone that's waiting to be used
Click to expand...
Click to collapse
We have offloaded all audio processing and mp3 decoding to the DSP. Thus allowing all 4 primary cores to sleep while playing audio. Media player app itself may use CPU cycles for UI updates when the screen is on. Working on WMA decoding...
Sent from my GT-I9505G using XDA Premium 4 mobile app
please make this kernel work with miui rom!

[ROM][UNOFFICIAL][4.4.4] CyanogenMod 11 [RUBY][LINARO][Weeklies][19/SEPT/14]

CyanogenMod is a free, community built, aftermarket firmware distribution of Android 4.4.4 (Kitkat), which is designed to increase performance and reliability over stock Android for your device.
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*/
CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. You will need to provide your own Google Applications package (gapps). CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review. Your changelog is whatever was merged into gerrit.
Instructions
First time flashing CyanogenMod 11.0 your device, or coming from another ROM?
Download the zip(s).
Install a compatible Recovery
Perform a NANDroid backup of your current ROM (Optional)
Wipe data & cache partitions of your device
Flash CyanogenMod.
Optional: Install the Google Apps addon package.
Issues?
Exposure sensor :crying:
Download Links
CyanogenMod:
Weekly: https://s.basketbuild.com/devs/JoseGalRe/ruby/
Google apps addon:
Download: http://forum.xda-developers.com/showthread.php?t=2397942
My miniGapps: https://s.basketbuild.com/devs/JoseGalRe/gapps/ I recommend this
Huge thanks:
sportsstar89 and jeepers007 - Great team to work for our HTC Amaze 4G
The CyanogenMod team would like to thank everyone involved in helping with testing, coding, debugging & documenting! Enjoy!
XDA:DevDB Information
CyanogenMod 11, ROM for the HTC Amaze 4G
Contributors
josegalre, sportsstar89
ROM OS Version: 4.4.x KitKat
Version Information
Status: Stable
Current Stable Version: 19/SEPT/14
Created 2014-07-19
Last Updated 2014-09-19
for me
Nice work man U RocX
@josegalre, Wow nice work,am happy to see another ROM in the market,will try it asap,
Dear for sake of information am asking that can you build a ROM based on @ravike14 's kernel, that dude is trying hard to keep our beloved RUBY alive,He just needs an ASOP ROM based on his kernel to make further progress.
Librastar said:
@josegalre, Wow nice work,am happy to see another ROM in the market,will try it asap,
Dear for sake of information am asking that can you build a ROM based on ravike14's kernel, that dude is trying hard to keep our beloved RUBY alive,He just needs an ASOP ROM based on his kernel to make further progress.
Click to expand...
Click to collapse
if friend, this week I will try to build with kernel ravike
Librastar said:
@josegalre, Wow nice work,am happy to see another ROM in the market,will try it asap,
Dear for sake of information am asking that can you build a ROM based on ravike14's kernel, that dude is trying hard to keep our beloved RUBY alive,He just needs an ASOP ROM based on his kernel to make further progress.
Click to expand...
Click to collapse
i agree with you, we really need an AOSP to see further development on this device, i myself am waiting for just that
---------- Post added at 03:43 PM ---------- Previous post was at 03:42 PM ----------
josegalre said:
if friend, this week I will try to build with kernel ravike
Click to expand...
Click to collapse
that is amazing work jose, congratulations on the new ROM, good to see your efforts
Guys, starting tomorrow publishes the files here, the reason is because here, I can upload of automatic way,
usually I use my script that compiles the rom 0 hours on Saturday, and the morning uploading to afh files with basketbuild,
I can modify my script to upload files automatic way!
New url: https://s.basketbuild.com/devs/JoseGalRe
Greetings!
​
Weekly version 26/JULY/14! built in my HOME! Kernel 3.0.101 ION With Linaro GCC 4.9 Cortex A8 and O3 optimization​
Well this latest build is awesome! The battery drain is gone; I did bump up the CPU minimum to 384 but the rest is working well. No crashes our hangs.
The ambient light sensor and exposure for the camera are borked, but that's to be expected.
[Edit] I should mention that I confirmed the second CPU is going offline correctly.
Sent from my Amaze 4G using XDA Premium 4 mobile app
@josegalre you should perhaps rethink your usage of the Linaro-4.9 toolchain in your builds and revert to version 4.8.x. There has been much discussion on the Linux forums about problems with GCC-4.9.x that the most recent Linaro toolchain is based upon. In fact Linus himself has submitted several major bug reports and cursed Debian for switching to it prematurely. Apparently there have been numerous instances where kernels compiled from it fail to boot or function correctly (among other things).
There is an article on Slashdot.org right now where he slams the developers for releasing a compiler that's so buggy that it can't properly compile his kernel. The article is entitled, Linus Torvalds: "GCC 4.9.0 Seems To Be Terminally Broken". Here is a link to the article that I'm referring to http://m.slashdot.org/story/205139
Odysseus1962 said:
@josegalre you should perhaps rethink your usage of the Linaro-4.9 toolchain in your builds and revert to version 4.8.x. There has been much discussion on the Linux forums about problems with GCC-4.9.x that the most recent Linaro toolchain is based upon. In fact Linus himself has submitted several major bug reports and cursed Debian for switching to it prematurely. Apparently there have been numerous instances where kernels compiled from it fail to boot or function correctly (among other things).
There is an article on Slashdot.org right now where he slams the developers for releasing a compiler that's so buggy that it can't properly compile his kernel. The article is entitled, Linus Torvalds: "GCC 4.9.0 Seems To Be Terminally Broken". Here is a link to the article that I'm referring to http://m.slashdot.org/story/205139
Click to expand...
Click to collapse
Friend several days ago I was reading about it, and The error which torvalds mentioned is in 4.9.0,
but it is unknown whether this in 4.9.1 (with which I build), at the time of build, I have no errors on MSM8660
in MSM8960 had some errors specifically on interactive governor, bugs fixed
thanks for being outstanding, and if necessary I will use 4.8.x, since before compiling with (4.7 stock)
https://github.com/Arc-Tools/android_prebuilt_linaro
I turned on art and now the phone is stuck on the boot screen and for some reason I can't get to the bootloader
Sent from my One using Tapatalk
---------- Post added at 01:00 AM ---------- Previous post was at 12:46 AM ----------
Never mind I was able to get into the bootloader
Sent from my One using Tapatalk
king_david43 said:
I turned on art and now the phone is stuck on the boot screen and for some reason I can't get to the bootloader
Sent from my One using Tapatalk
Click to expand...
Click to collapse
Do you have xposed installed?
Xposed + art = crashes
No I don't have exposed installed. Maybe it was some other app I had I'm not sure. But its all good now. I'm reflashing the ROM now [emoji16]
Sent from my One using Tapatalk
---------- Post added at 01:16 AM ---------- Previous post was at 01:03 AM ----------
One more thing. Not sure if anyone cares but it seems to me that the snapchat camera isn't affected by the exposure issues as much as the other cameras
Sent from my One using Tapatalk
I'm seeing something odd in audio. Notification sound and the ringer work fine, but Apollo, overdrive media console and sound previews that are supposed to play when you pick a notification sound or ringtone don't make a peep.
Sent from my Amaze 4G using XDA Premium 4 mobile app
Apollo is skipping all songs at 0:00 and doesn't play any. Not a fan of this Apollo I use Poweramp anyway.
That's the only issue I've seen, using this cm11 since Saturday. All good
Sent from my Amaze 4G using XDA Premium 4 mobile app
I couldn't play any audio without issues in the 26th build. The Ringer didn't even work.
send me logcat please, works for me everything related to audio
Enviado desde mi One XL
will odexing this rom affect performance and how do i disable the second cpu?
use powersave profile!
Weekly 02/AUG/14! built in my HOME! Kernel 3.0.101 ION
With Linaro GCC 4.9.1-07-2014 Cortex A8 and O3 optimization​

For devs: Looking to play with the kernel sources?

The good stuff: https://github.com/jcadduono/android_kernel_lge_msm8996/commits/android-7.0
Fork it!
Update: CAF branch has some problems at the moment, use this one instead for now.
So this is currently the v10d release. It's compatible with V20 Nougat v10d and G5 v20a.
Place toolchain (pick one up from here) in ~/build/toolchain & tar xf.
git clone https://[email protected]/yourname/android_kernel_lge_msm8996.git
If you want to change any config options:
./menuconfig.sh (optional target, ex. twrp or lge)
Ready?
./build.sh h850/h830/h918/us996/any model you want
Models are applied onto the target base defconfig, so your V20 kernels will build for all V20 variants and for all variants of the G5 as well.
Create your own by copying arch/arm64/configs/lge_defconfig to arch/arm64/configs/your-awesome_defconfig!
Grab:
build/arch/arm64/boot/Image.lz4-dtb [or] build/arch/arm64/boot/Image.gz-dtb
build/lib/modules
Place in:
https://github.com/jcadduono/lazyflasher/tree/kernel-flasher
make
You got yourself a magical all-powerful custom kernel installer, complete with your own custom kernel!
Notice that there's a few branches:
opensource is where I merge LG changes, when it's updated, android-7.0 is rebased on it
android-7.0 is a starting off point closest to absolute stock, base off here
android-7.0-security adds security and bug fixes from CAF on top of android-7.0 branch
twrp-7.0 is for Team Win Recovery Project (yes, it's ready, come with an unlocked device and I'll give it to you)
nethunter-7.0 is for the Kali NetHunter project (if you dare, some fun there)
Another issue was their weird build system, I dropped that. Replaced tuxera's exFAT prebuilt downloader with Samsung's GPL'd exFAT drivers instead. Unsure how well it works replacing it like that, we'll have to see.
I also added Qualcomm's Core Control which they just released the sources to somewhat recently. I believe it's already included on the G5 and probably V20 as a kernel module. Their released version doesn't have module support yet but it's fairly easy to add I guess with the leaked proprietary module version out there to pick pieces from.
Have fun!
Great Man !
thanks for this..
I've been following the root process since the beginning and I'm amazed at the relatively short amount of time it took. Huge kudos to @jcadduono! I will purchase this phone. Now, since the kernel needed to have it's encryption support modifed, are the patches added to a branch on your Github fork? I would like to compile a custom kernel, along with patching it with SultanXDA's SafetyNet boot bypass. Which branch will be appropiate to fork to flash on the TWRP/Rooted V20?
Thanks much @jcadduono! I'm going to start poking around in here and see if I can find anything particularly interesting.
zabracks said:
Thanks much @jcadduono! I'm going to start poking around in here and see if I can find anything particularly interesting.
Click to expand...
Click to collapse
Hey guys so I did get a kernel booting but not yet one built from CAF sources so it'll take a bit of work to figure out why.
There seems to be a couple occurrences of null pointer dereferences in early boot stage in both stock release and this CAF. Currently investigating (or trying to anyway, it's hard to find people that can flash my test builds and report back with logs - I do not own this phone)
jcadduono said:
Hey guys so I did get a kernel booting but not yet one built from CAF sources so it'll take a bit of work to figure out why.
There seems to be a couple occurrences of null pointer dereferences in early boot stage in both stock release and this CAF. Currently investigating (or trying to anyway, it's hard to find people that can flash my test builds and report back with logs - I do not own this phone)
Click to expand...
Click to collapse
I've got an H918, if you need somebody to test a kernel.
jcadduono said:
Hey guys so I did get a kernel booting but not yet one built from CAF sources so it'll take a bit of work to figure out why.
There seems to be a couple occurrences of null pointer dereferences in early boot stage in both stock release and this CAF. Currently investigating (or trying to anyway, it's hard to find people that can flash my test builds and report back with logs - I do not own this phone)
Click to expand...
Click to collapse
two things. Did you figure out how to compile boot.img or are you flashing the zimage? also hit me up on hangouts I've been wanting to dive into this device just looking for someone else to colaberate with.
EDIT: sent email in PM
albinoman887 said:
two things. Did you figure out how to compile boot.img or are you flashing the zimage? also hit me up on hangouts I've been wanting to dive into this device just looking for someone else to colaberate with.
EDIT: sent email in PM
Click to expand...
Click to collapse
I can compile it and flash it. There seems to be an issue with the sources LG has provided regarding display drivers. It seems any attempts at a stock kernel build results in a messed up screen once you hit the lock screen. I assume this has something to do with 2D graphics firmware and kernel framebuffer driver badly interacting. These sources are for v10b firmware, while the device appears to ship with v10d. I don't know if LG made any changes since then that could have caused this issue.
FYI the sources up right now are not my CAF merge, I had to move it to (same url but with -caf on the end) - I still have some issues to work out with the CAF merged sources (they aren't booting for whatever reason - not even TWRP).
It could take me a while to work on this as I still don't and likely never will own this device due to my lack of trust when it comes to LG.
jcadduono said:
I can compile it and flash it. There seems to be an issue with the sources LG has provided regarding display drivers. It seems any attempts at a stock kernel build results in a messed up screen once you hit the lock screen. I assume this has something to do with 2D graphics firmware and kernel framebuffer driver badly interacting. These sources are for v10b firmware, while the device appears to ship with v10d. I don't know if LG made any changes since then that could have caused this issue.
FYI the sources up right now are not my CAF merge, I had to move it to (same url but with -caf on the end) - I still have some issues to work out with the CAF merged sources (they aren't booting for whatever reason - not even TWRP).
It could take me a while to work on this as I still don't and likely never will own this device due to my lack of trust when it comes to LG.
Click to expand...
Click to collapse
sounds like the kgsl drivers. If you want we can work together on this. I want to get CM going too i just need some help. Im and experienced dev but havent jumped in the LG pool before. id look at the google pixel kernel source and grab the kgsl/adreno crap and update that.
i'll clone the source and check it out since i'm finally getting the stock rom downloaded (thanks for the wget tip)
jcadduono said:
I can compile it and flash it. There seems to be an issue with the sources LG has provided regarding display drivers. It seems any attempts at a stock kernel build results in a messed up screen once you hit the lock screen. I assume this has something to do with 2D graphics firmware and kernel framebuffer driver badly interacting. These sources are for v10b firmware, while the device appears to ship with v10d. I don't know if LG made any changes since then that could have caused this issue.
FYI the sources up right now are not my CAF merge, I had to move it to (same url but with -caf on the end) - I still have some issues to work out with the CAF merged sources (they aren't booting for whatever reason - not even TWRP).
It could take me a while to work on this as I still don't and likely never will own this device due to my lack of trust when it comes to LG.
Click to expand...
Click to collapse
which branch/repo is the one that boots but messed up display?
albinoman887 said:
sounds like the kgsl drivers. If you want we can work together on this. I want to get CM going too i just need some help. Im and experienced dev but havent jumped in the LG pool before. id look at the google pixel kernel source and grab the kgsl/adreno crap and update that.
i'll clone the source and check it out since i'm finally getting the stock rom downloaded (thanks for the wget tip)
Click to expand...
Click to collapse
Would absolutely LOVE to see CM on our phones! Not that it'll make things move faster, but I'll throw 100 bucks your way if it's done before Christmas
lightninbug said:
Would absolutely LOVE to see CM on our phones! Not that it'll make things move faster, but I'll throw 100 bucks your way if it's done before Christmas
Click to expand...
Click to collapse
I want Nethunter too
I'll be around to test any of the stuff, usually at night.
The v20 kernel is available on the lg open-source site, at least the h990 one is.
Sent from my LG-H990 using Tapatalk
---------- Post added at 03:36 PM ---------- Previous post was at 03:25 PM ----------
Artcrime said:
The v20 kernel is available on the lg open-source site, at least the h990 one is.
Sent from my LG-H990 using Tapatalk
Click to expand...
Click to collapse
There is v10d version for 918. opensource.lge.com forgive me if this is old news. a|c
albinoman887 said:
sounds like the kgsl drivers. If you want we can work together on this. I want to get CM going too i just need some help. Im and experienced dev but havent jumped in the LG pool before. id look at the google pixel kernel source and grab the kgsl/adreno crap and update that.
i'll clone the source and check it out since i'm finally getting the stock rom downloaded (thanks for the wget tip)
Click to expand...
Click to collapse
slayerh4x said:
I want Nethunter too
I'll be around to test any of the stuff, usually at night.
Click to expand...
Click to collapse
albinoman887 said:
two things. Did you figure out how to compile boot.img or are you flashing the zimage? also hit me up on hangouts I've been wanting to dive into this device just looking for someone else to colaberate with.
EDIT: sent email in PM
Click to expand...
Click to collapse
Sent from my LG-H990 using Tapatalk
I updated all the branches earlier today...should work fine now, so apparently was a source code issue that needed v10d update, not sure though no one's volunteered for testing (I don't do requests/testing over the forum, only on IRC)
Is a kernel the main thing stopping us from a CM rom?
what toolchain should we be using? got a link to a compiled one? i'm getting build errors I know are related to the toolchain but i've been out of the game for awhile. last i knew we needed gcc-4.9?
jcadduono said:
I updated all the branches earlier today...should work fine now, so apparently was a source code issue that needed v10d update, not sure though no one's volunteered for testing (I don't do requests/testing over the forum, only on IRC)
Click to expand...
Click to collapse
I'm there.
albinoman887 said:
what toolchain should we be using? got a link to a compiled one? i'm getting build errors I know are related to the toolchain but i've been out of the game for awhile. last i knew we needed gcc-4.9?
Click to expand...
Click to collapse
gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz .Be sure to change the PATH in menuconfig.sh
@jcadduono , thank you. You are truly an inspiration
Wondering if anyone can help me learn how to do this right...
So I was able to compile the kernel, but I didn't get an Image.gz (which im sure is fine). I did get an Image.lz4, Image.lz4-dtb, and Image (no extension). I figure only the .lz4* files are needed. I added all 3 to the lazyflasher, and ran make. The resulting zip flashed, but sent me straight to Bootloader. I then tried to fix by flashing the stock kernel, but this still did not boot. ReFlashed my ROM and it's booting now.
I used this toolchain gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu
Any guidance? My guess is it's flashing at the wrong point?
Here is the ZIP. DO NOT FLASH. This is only for someone who knows what they are looking at to tell me what is wrong with it. No modifications were done. Source was forked from OP, and compiled with default menuconfig, then build.sh h918

[REFERENCE] Pixel XL kernel source with linux-stable (3.18.124)

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 3.18.100 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/marlin
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).
3.18.88 has been merged in.
3.18.89 has been merged in.
3.18.90 has been merged in.
Thanks bro
3.18.91 has been merged in (conflict notes).
Thank you to the developer .I have a question
Witch kernel have wireguard for pixel XL?
pixel52 said:
Thank you to the developer .I have a question
Witch kernel have wireguard for pixel XL?
Click to expand...
Click to collapse
Not something appropriate for this thread, but if you look at the OP of 2 of the XL kernels they mention wiregard support
3.18.92 has been merged in.
Nevermindthelabel said:
Not something appropriate for this thread, but if you look at the OP of 2 of the XL kernels they mention wiregard support
Click to expand...
Click to collapse
Search op for custom kernels a few do and sorry i posted to wrong quote sorry bro
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
3.18.96 has been merged in.
For some reason I have to set selinux to permissive to work is that normal I can't get it to compile any other way
joeeboogz said:
For some reason I have to set selinux to permissive to work is that normal I can't get it to compile any other way
Click to expand...
Click to collapse
I'm not sure I understand, what do you mean set to permissive to get it to compile? You're compiling on the computer.
nathanchance said:
I'm not sure I understand, what do you mean set to permissive to get it to compile? You're compiling on the computer.
Click to expand...
Click to collapse
Yes I compile kernel with a ROM but it throws sepolicy error then I set to permissive it compiles.
joeeboogz said:
Yes I compile kernel with a ROM but it throws sepolicy error then I set to permissive it compiles.
Click to expand...
Click to collapse
Well does it build without using this kernel and without permissive?
Sent from my Google Pixel 2 XL using XDA Labs
nathanchance said:
Well does it build without using this kernel and without permissive?
Click to expand...
Click to collapse
I figured it out thanks

OmniRom Oreo 8.1 unofficial

So I have successfully built OmniRom 8.1 Oreo for Shamu the zip file is a little over 500mb. The package flashes correctly but fails to boot. I have already tried to change the BoardConfig.mk file to be SeLinux=Permissive but it still fails to boot. My device is decrypted as well. What could be a source of the non boot issue other than what I have mentioned. This project is taking quite some time to complete.
HELP!!!!!
Does omnirom even have a 8.1 branch for shamu? I can't see it.
Elektroschmock said:
Does omnirom even have a 8.1 branch for shamu? I can't see it.
Click to expand...
Click to collapse
No it doesn't I am trying to bring it up, I know they don't officially support it for Oreo. They don't have a device maintainer for Shamu anymore. I have been using other device trees and filling in the required files for building Omni. Like I said I can get a successful build but in won't boot.
Rondeau79 said:
No it doesn't I am trying to bring it up, I know they don't officially support it for Oreo. They don't have a device maintainer for Shamu anymore. I have been using other device trees and filling in the required files for building Omni. Like I said I can get a successful build but in won't boot.
Click to expand...
Click to collapse
Well thats not how a bringup works. You need a ****load oft kernel and device commits for shamu to Boot Oreo.
The easiest way would be forking a working device and kernel repository...e.g. LineageOS. Next step would be adapting some makefiles and overlays.
Not much to do, as we have already done the Oreo bringup months ago.
Elektroschmock said:
Does omnirom even have a 8.1 branch for shamu? I can't see it.
Click to expand...
Click to collapse
Elektroschmock said:
Well thats not how a bringup works. You need a ****load oft kernel and device commits for shamu to Boot Oreo.
The easiest way would be forking a working device and kernel repository...e.g. LineageOS. Next step would be adapting some makefiles and overlays.
Not much to do, as we have already done the Oreo bringup months ago.
Click to expand...
Click to collapse
Yeah that's what I did. When the build first starts something in the vendor folder isn't being globed. It's only 99% of that folder that is accounted for. The build is successful but it just won't boot. I don't have much coding experience so this is really hard.
Rondeau79 said:
Yeah that's what I did. When the build first starts something in the vendor folder isn't being globed. It's only 99% of that folder that is accounted for. The build is successful but it just won't boot. I don't have much coding experience so this is really hard.
Click to expand...
Click to collapse
Do an -eng build and read logcat and dmesg via ADB. Usually you see whats wrong.
Rondeau79 said:
Yeah that's what I did. When the build first starts something in the vendor folder isn't being globed. It's only 99% of that folder that is accounted for. The build is successful but it just won't boot. I don't have much coding experience so this is really hard.
Click to expand...
Click to collapse
Hey how's it going? I know you've been trying hard to get an 8.1 Omni build running. FYI, @bthorne79 put out an Omni 8.1 build for Shamu back in December of last year. I tried it at the time and it was a nice build but if I remember correctly, the theming didn't work. I tried changing to a dark theme but it just stayed on default light theme. I always use a dark or black theme on Shamu and I'd rather not have to use substratum. Other than that, the rom ran very well.
Maybe give him a shout, after all you both have 79 in your name. Good luck, I definitely wouldn't mind seeing an Omni 8.1 build.
Mike T
webdroidmt said:
Hey how's it going? I know you've been trying hard to get an 8.1 Omni build running. FYI, @bthorne79 put out an Omni 8.1 build for Shamu back in December of last year. I tried it at the time and it was a nice build but if I remember correctly, the theming didn't work. I tried changing to a dark theme but it just stayed on default light theme. I always use a dark or black theme on Shamu and I'd rather not have to use substratum. Other than that, the rom ran very well.
Maybe give him a shout, after all you both have 79 in your name. Good luck, I definitely wouldn't mind seeing an Omni 8.1 build.
Mike T
Click to expand...
Click to collapse
Yeah this project has been a real headache! Nothing like before were most of the files and programming has been done. I am not done yet, I don't give up too easy. This has been quite an undertaking.
Follow this thread: https://forum.xda-developers.com/showpost.php?p=54118631&postcount=4
That'll give you an idea about what all things to consider while building for a device :fingers-crossed:
Nitin
Rondeau79 said:
Yeah this project has been a real headache! Nothing like before were most of the files and programming has been done. I am not done yet, I don't give up too easy. This has been quite an undertaking.
Click to expand...
Click to collapse
If you push your sources somewhere where we can see it, it should be easier for us to help you.
nitin.chobhe said:
Follow this thread: https://forum.xda-developers.com/showpost.php?p=54118631&postcount=4
That'll give you an idea about what all things to consider while building for a device :fingers-crossed:
Nitin
Click to expand...
Click to collapse
Yeah that guide is so outdated! I followed that kind of stuff years ago when I couldn't build from source. I have done many builds that boot for 3 devices. This is a different problem.
Elektroschmock said:
If you push your sources somewhere where we can see it, it should be easier for us to help you.
Click to expand...
Click to collapse
Yeah I am using Omni ROM source with device trees and kernel source from Lineage Oreo. I have modified files and make sources. I have all up to date vendor blobs cloned. There is no build errors just an issue with the system not booting. Pushing my source upstream would be to my personal GitHub account which I have never had to do. Usually I repo/clone source build and upload to Android File Host for working zips. I have never pushed anything up from my laptop!
Rondeau79 said:
Yeah that guide is so outdated! I followed that kind of stuff years ago when I couldn't build from source. I have done many builds that boot for 3 devices. This is a different problem.
Click to expand...
Click to collapse
Even though it is outdated it is still very much applicable. I linked that thread because you mentioned this.
Good that you know the problem. All the best!
Nitin
Rondeau79 said:
Yeah I am using Omni ROM source with device trees and kernel source from Lineage Oreo. I have modified files and make sources. I have all up to date vendor blobs cloned. There is no build errors just an issue with the system not booting. Pushing my source upstream would be to my personal GitHub account which I have never had to do. Usually I repo/clone source build and upload to Android File Host for working zips. I have never pushed anything up from my laptop!
Click to expand...
Click to collapse
It's not that you need to push it somewhere to get working zips, it's just for us to see your modifications.
Otherwise it is just guessing what you did.
Making it compile is one thing...making it work is a whole different story. When I did the Lineage Oreo bringup I had many things to fix untill it bootet properly.
Lineage's device tree for shamu depends on several other Lineage repositories. For example:
android_hardware_lineage_interfaces
android_hardware_qcom_gps
android_vendor_lineage
android_device_lineage_sepolicy
So just cloning the device repo without examining the reason for your 'bootloop' will get you nowhere.
I'd suggest you to do an engineering build which is easier to debug. Altought I would make this build permissive as selinux denials are a common reason for a bootloop.
How about trying a known working kernel such as popcorn? If the kernel works, you might be able to get some logs. And if you know whether your kernel is the problem, you are one step closer.
runekock said:
How about trying a known working kernel such as popcorn? If the kernel works, you might be able to get some logs. And if you know whether your kernel is the problem, you are one step closer.
Click to expand...
Click to collapse
If he is based of lineage's device tree, then Lineage's kernel is the best choice.
You should always be able to grab a log, no matter which kernel you are using.
Yeah willing to help out put your stuff up on git and give links
My webhost is down right meow but I can post my Oreo build I had of Omni here I didn't use Los trees i used aosp trees from camcory , joryb and mine cleanos
---------- Post added at 08:47 PM ---------- Previous post was at 08:28 PM ----------
i found my build i had it on afh if you want it to try this was early oreo so some things not fully functional i think gps was iffy https://www.androidfilehost.com/?fid=889964283620775520 i am syncing up omni oreo again for sure will help out if you want please pm
---------- Post added at 08:47 PM ---------- Previous post was at 08:47 PM ----------
nougat builds in that root folder also
bthorne79 said:
Yeah willing to help out put your stuff up on git and give links
Click to expand...
Click to collapse
My device and kernel tree GitHub link.
https://github.com/Rondeau79
Rondeau79 said:
My device and kernel tree GitHub link.
https://github.com/Rondeau79
Click to expand...
Click to collapse
Your probably going to want to fork the toolchains over that was used with cleanaosp
<!-- Prebuilts --> <project path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.9" name="joryb/arm-eabi-7.x" clone-depth="1" remote="bb" revision="master"/> <project path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" name="joryb/arm-linux-androideabi-7.x" clone-depth="1" remote="bb" revision="master"/>

Categories

Resources