can i use different kernel - Android Q&A, Help & Troubleshooting

I have a chinese tablet I ported a ROM for that tablet I have flashed the ported ROM but now I am having bootloop because i don't have the kernel so can I use kernel from different device having same CPU?

You will have to edit the kernel. Each devices kernel is built just for that device. That is why there is no universal kernel.

zelendel said:
You will have to edit the kernel. Each devices kernel is built just for that device. That is why there is no universal kernel.
Click to expand...
Click to collapse
I can't figure out why there doesn't exist an universal kernel. Which parts of kernel should be modified or added for a specific device?

JasonKidd said:
I can't figure out why there doesn't exist an universal kernel. Which parts of kernel should be modified or added for a specific device?
Click to expand...
Click to collapse
That's because each device has different hardware and is programmed differently. Same thing goes for Linux. The kernel that works for my setup won't work on yours.
To be honest I have no idea. You will have to rip the kernel apart and fix the errors one by one. Most likely start with the graphics drivers and such. Their are great tut all over the site.
The lack of kernel source is one well known issue of China based devices.

zelendel said:
That's because each device has different hardware and is programmed differently. Same thing goes for Linux. The kernel that works for my setup won't work on yours.
To be honest I have no idea. You will have to rip the kernel apart and fix the errors one by one. Most likely start with the graphics drivers and such. Their are great tut all over the site.
The lack of kernel source is one well known issue of China based devices.
Click to expand...
Click to collapse
Thanks for your instant response. I think the HAL of android is aimed to solve the problem of compatibility of different devices. But the vendor must open thier souce of kernel if they modified it.
Can't we put all specific drivers at HAL?

JasonKidd said:
Thanks for your instant response. I think the HAL of android is aimed to solve the problem of compatibility of different devices. But the vendor must open thier souce of kernel if they modified it.
Can't we put all specific drivers at HAL?
Click to expand...
Click to collapse
No because they will conflict with each other. Yes the vendor must open the source. You are gonna be pretty stuck without kernel source for the device.

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!

Needs USB OTG with Charging?

So I'm using one of the kitkat roms and I can't seem to get USB OTG and USB charging to work at the same time? Is this just not possible? Or do I need to do something special? I bought one of the OTG Y cables that allows the hookup of a charger and a USB device and it's still no go, it'll show it's charging for a minute or so after a USB device is mounted but then the charging icon goes away?
Someone had mentioned to me that a custom kernel may be needed?
Yep you would need a custom kernel.
ThatFrigginAzn said:
Yep you would need a custom kernel.
Click to expand...
Click to collapse
Any documentation around on how to build this kernel to do what I need?
Hdale85 said:
Any documentation around on how to build this kernel to do what I need?
Click to expand...
Click to collapse
Look in my signature for a guide. For the specifics, you will need to find a kernel on github that has what you are looking for and port it to your build. My roll your own kernel guide will get you started. You will need a partition with Debian Linux to complete the guide. I suggest AntiX.
sleekmason said:
Look in my signature for a guide. For the specifics, you will need to find a kernel on github that has what you are looking for and port it to your build. My roll your own kernel guide will get you started. You will need a partition with Debian Linux to complete the guide. I suggest AntiX.
Click to expand...
Click to collapse
Can it be a kernel from another device? or does it need to be similar?
Also how about Ubuntu? I'm familiar with Ubuntu, but I'll look at AntiX
From what I gather I only need USB host mode so that the USB port is not outputting power.
Hdale85 said:
Can it be a kernel from another device? or does it need to be similar?
Also how about Ubuntu? I'm familiar with Ubuntu, but I'll look at AntiX
From what I gather I only need USB host mode so that the USB port is not outputting power.
Click to expand...
Click to collapse
Ubuntu should work, though the names of the dependencies might be off. Easier to just partition off and install Antix. Damn good distro. I went with stable for the guide, but you can easily switch later to testing or unstable by changing up the sources list.
For what you need, you may find it as an option when adjusting the menuconfig during the make process.
The second post in the thread tells a bit about changes necessary for the 500 device, as I originally made the guide for the 510.
There are currently two other kernels for the 500 that were successfully made using the guide. One of them also has a decent install through recovery script
sleekmason said:
Ubuntu should work, though the names of the dependencies might be off. Easier to just partition off and install Antix. Damn good distro. I went with stable for the guide, but you can easily switch later to testing or unstable by changing up the sources list.
For what you need, you may find it as an option when adjusting the menuconfig during the make process.
The second post in the thread tells a bit about changes necessary for the 500 device, as I originally made the guide for the 510.
There are currently two other kernels for the 500 that were successfully made using the guide. One of them also has a decent install through recovery script
Click to expand...
Click to collapse
What's the difference between the 500 and 510?
Hdale85 said:
What's the difference between the 500 and 510?
Click to expand...
Click to collapse
The 510 is the Google play edition, whereas the 500 is the lg version. If you didn't buy it through the play store, you have the 500.
The best way to learn would be to follow the guide all the way through, copy and paste, and then figure out what you are doing while you are doing it!
Also, this should be posted in the questions thread rather than development if a moderator would be so kind to move this post.
Oh ok the 510 is the google play edition. Either kernel should work right? They are the same device... I'm not running the stock rom as I wanted a basic 4.4 rom as this is eventually going in my car.
Well you posted right before me lol, but I made the post here because I know there are a couple other people looking for the same thing so I was hoping we could develop a kernel for everyone.
Hdale85 said:
Oh ok the 510 is the google play edition. Either kernel should work right? They are the same device... I'm not running the stock rom as I wanted a basic 4.4 rom as this is eventually going in my car.
Click to expand...
Click to collapse
Unfortunately no, there are some differences, mostly with naming, but that can be important.
There are two parts to the boot image for our device, the ramdisk, and the kernel itself. The ramdisk plays a key roll in deciding certain options for the device, while the kernel controls more common options you may find on any device.
Most of the install from recovery scripts, repack the kernel zimage with the existing ramdisk from the device. But this doesn't really matter either.
All of the multi device kernels tend to be larger than necessary and have problems they shouldn't.
Long story short is that each device has it's own kernel source, which has supposedly been optimized for its device. This isn't exactly true, and the list of changes I've made to better the 510 device's kernel is astounding.
If you follow my guide, all of this will become apparent.
Alright thanks I'll look over it.
So what makes the510 different?? Is the firmware different? Obviously they didn't change the hardware so could one somehow convert the 500 to a 510? Only reason I'm interested is because some of that stuff you said doesn't work on the 500 it seems? Such as fastboot?
Hdale85 said:
So what makes the510 different?? Is the firmware different? Obviously they didn't change the hardware so could one somehow convert the 500 to a 510? Only reason I'm interested is because some of that stuff you said doesn't work on the 500 it seems? Such as fastboot?
Click to expand...
Click to collapse
Lg specific drivers mostly. Fastboot requires an unlocked boot loader, which the V500 does not have. An exploit is used to bypass the boot loader on the 500. Loki.
The gpe is pure android, with just a couple of perks thrown in, as it uses an Lg platforms. Our device , that being the V510 most closely resembles the Nexus 4 (Mako) version, and was probably based off that device. The items I have added to the 510 kernel as enhancements, mostly came from a mako kernel with the rest simply being tweak corrections to the existing source code.
Those changes alone made huge improvements in performance and battery.
sleekmason said:
Lg specific drivers mostly. Fastboot requires an unlocked boot loader, which the V500 does not have. An exploit is used to bypass the boot loader on the 500. Loki.
The gpe is pure android, with just a couple of perks thrown in, as it uses an Lg platforms. Our device , that being the V510 most closely resembles the Nexus 4 (Mako) version, and was probably based off that device. The items I have added to the 510 kernel as enhancements, mostly came from a mako kernel with the rest simply being tweak corrections to the existing source code.
Those changes alone made huge improvements in performance and battery.
Click to expand...
Click to collapse
Yea I just found the long thread about converting, its strange they can't seem to get it to work? Quite strange... Well I'll have to research the other bits I guess from others that have made V500 kernels or something.
maybe this commit is what you need
https://github.com/oubeichen/android_kernel_lge_v500/commit/ee86db750adf2bb7b4f7b988ba6937d92551373b
I havent tested yet but this is ported from a nexus4 kernel thread. v500 and nexus4 have the same power management ic
Sent from my LG-V500 using XDA Premium 4 mobile app
oubeichen said:
maybe this commit is what you need
https://github.com/oubeichen/android_kernel_lge_v500/commit/ee86db750adf2bb7b4f7b988ba6937d92551373b
I havent tested yet but this is ported from a nexus4 kernel thread. v500 and nexus4 have the same power management ic
Sent from my LG-V500 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
If anybody wants this, I'll compile it into the V510. Looks pretty straightforward. Thank you for the link.
Hdale85 said:
Well you posted right before me lol, but I made the post here because I know there are a couple other people looking for the same thing so I was hoping we could develop a kernel for everyone.
Click to expand...
Click to collapse
Indeed! :fingers-crossed:
treetop777 said:
Indeed! :fingers-crossed:
Click to expand...
Click to collapse
I'm going to take a stab at a custom kernel, but I have to setup linux on my desktop again so I'm not sure when I'll get around to it lol. Might be able to this week sometime.
If I can't get USB Host mode with charging enabled I'm going to have to look into a wireless HD solution or something, and even then that won't fix the setup I wanted to use for high end sound.
news ????

[KERNEL][MI-STOCK][GPL] Need testers

Hi,
I would like to request some testers who are currently running stock MIUI to test the stock kernel. Feel free to comment below.
Instructions:
- You should be on CWM
- Download zip
- Flash kernel
- reboot
- cross your fingers
What to check:
- WLAN -> see if it works
Source:
https://github.com/emceethemouth/kernel_cancro/tree/mi-stock
WLAN:
git://codeaurora.org/platform/vendor/qcom-opensource/wlan/prima/
blah blah blah
Wifi not working after flashing the kernel.
Armin_van_buuren said:
Wifi not working after flashing the kernel.
Click to expand...
Click to collapse
Hold on I'm uploading a new one.
Edit:
Attachment updated
Wifi doesn't work, everything else does.
alphoz said:
Wifi doesn't work, everything else does.
Click to expand...
Click to collapse
Ok thanks, seems MIUI still has no proper fix for it. Anyways will keep this thread posted for any updates. Thanks!
Gnome said:
Ok thanks, seems MIUI still has no proper fix for it. Anyways will keep this thread posted for any updates. Thanks!
Click to expand...
Click to collapse
Thanks to you, and all your hard work. I would also like to mention that the miband unlocking worked a lot better with your kernel than the MIUI stock one. Thanks again.
Wow. Thanks GNOME... Good to kernel for miui
Sent from my MI 3W using Tapatalk
Audahudi also build stock miui kernel. This also has same bugs, no WiFi, cit etc menu take while to open.
One bug I have doubt of is, whether all 4 cores work simultaneously. In my testing I saw most time 2 work, sometimes 3. Benchmarks also give scores like that. Also CPU performance control pro, which can set individual frequency of all cores could make 2 cores work together.
Any app you know which can monitor every core usage over period of time?
The 2nd bug is what I'm curious off, as I don't have WiFi lol.
Plus these miui kernel can be used in some custom Chinese KitKat ROMs. Iuni is 1 example, fiui I havent tested.
Gnome said:
Ok thanks, seems MIUI still has no proper fix for it. Anyways will keep this thread posted for any updates. Thanks!
Click to expand...
Click to collapse
Thanks for your hard work. But did you read this? https://github.com/MiCode/Xiaomi_Kernel_OpenSource/wiki/How-To-Use
I tried to compile kernel according to this instructions. Compilation through without problems. But kernel freeze while booting. I am not kernel developer, so don't have experience, how to debug it. If you find time, please can you try it?
Thanks
Pepe.II said:
Thanks for your hard work. But did you read this? https://github.com/MiCode/Xiaomi_Kernel_OpenSource/wiki/How-To-Use
I tried to compile kernel according to this instructions. Compilation through without problems. But kernel freeze while booting. I am not kernel developer, so don't have experience, how to debug it. If you find time, please can you try it?
Thanks
Click to expand...
Click to collapse
That happened to me when I did all that.
I found no solution, so I left it.
@Pepe.II you should see the issues section, I'm always there.
https://github.com/MiCode/Xiaomi_Kernel_OpenSource/issues/16
@Gnome
on what miui we should try stable or developer ?
Stable just to be safe.
Edit: @alexret, can you try the instructions on that misleading turorial but use my kernel source? Branch is mi-stable. I have a feeling it'll work
@Gnome anything with the bug I have doubt of?
@Gnome I tried to flash your kernel STX-MI-PRIMA-TEST-2015-06-24 from first post attachment.
Its only kernel, no modules included. This has a effect, that no modules are loaded while booting. When i try load module manually, it crashes with this message:
[email protected]:/ # insmod /system/lib/modules/wlan.ko
insmod: init_module '/system/lib/modules/wlan.ko' failed (Exec format error)
Please, can you compile kernel with modules? Thanks
@Me_Ashish_ its MIUIs kernel source, its incomplete it needs a lot of patches. And yes this kernel is just stock MIUI I added nothing to it just the opensource wlan from qualcomm w/c they claim works.
@Pepe.II thats the idea, the kernel should have it by default already, no need for the modules to be included in the package. The Modules are being built with the zImage-dtb itself, adding those modules to rhe zip package is very wrong. Adding it to the kernel package for CM Bases ROMs are just a work around, and I tell you know it wont work on stock MIUI ROM, unless you build MIUI from source and use my kernel source to be built with it.
Gnome said:
@Me_Ashish_ its MIUIs kernel source, its incomplete it needs a lot of patches. And yes this kernel is just stock MIUI I added nothing to it just the opensource wlan from qualcomm w/c they claim works.
@Pepe.II thats the idea, the kernel should have it by default already, no need for the modules to be included in the package. The Modules are being built with the zImage-dtb itself, adding those modules to rhe zip package is very wrong. Adding it to the kernel package for CM Bases ROMs are just a work around, and I tell you know it wont work on stock MIUI ROM, unless you build MIUI from source and use my kernel source to be built with it.
Click to expand...
Click to collapse
As far as I understand it, you did not compile drivers as modules but compile them as part of the kernel?. Ok. But why, when I look in to kmesg log (/proc/kmesg), I find not a single mention about the WLAN. That's weird. Are you sure, that WLAN part is compiled correctly?
@Pepe.II if Im building kernels wrong, by all means please guide me on how to build kernels correctly.
Well if I'm getting this kind of critisczm might as well stop this. Anyways thanks for all that tested, I'm dropping this.
Gnome said:
@Pepe.II if Im building kernels wrong, by all means please guide me on how to build kernels correctly.
Well if I'm getting this kind of critisczm might as well stop this. Anyways thanks for all that tested, I'm dropping this.
Click to expand...
Click to collapse
Sorry, I only asking, because I do not understand how you work with drivers. Prima WLAN you set as a module but I do not see any module in a flashable zip. You assume that your kernel will use modules from stock MIUI kernel?
I do not criticize, just asking. if this sounds like criticism, so it is due to my poor English and i am sorry.

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

Getting Device Tree And Vendor Blobs For Less-Used Device

I had made a thread about creating a custom ROM for Android over here: http://forum.xda-developers.com/general/xda-assist/building-custom-android-rom-t3526514#post70277383 and Art Vanderlay suggested I post here, so here it is.
I own the BLU Energy X 2, and I am in need of the Device Tree and Vendor Blobs for the phone to create a custom ROM based off of CyanogenMod. My device currently has CyanogenMod on it, however it's an unofficial port for the BLU Studio Selfie. I am not sure how the dev of that ROM got these files, however the Infinix Hot 2 is a "clone" of that device, so he may have just ported it from there, or it may have not even needed porting at all Anyways, for me to create a custom ROM based off of CyanogenMod, I need the Device Tree and Vendor Blobs. I do have the ProjectConfig file if that helps.
These files are usually somewhere on GitHub, but due to the development community for BLU devices in general being almost non-existant, these files are nowhere to be found. So, how can I get these files for my device to start building a custom ROM? Thanks
If you need any other information, please reply.
Device Specs:
BLU Energy X 2
Model #: E050U
Android Version: 5.1 Lollipop
Kernel Version: 3.10.74+
Chipset: MT6580
Use Device and Vendor trees from similar devices, change names and other stuff like your device in the configs...
I'm noobie too, but this is how people make it for MTK devices
Audriuskins said:
Use Device and Vendor trees from similar devices, change names and other stuff like your device in the configs...
I'm noobie too, but this is how people make it for MTK devices
Click to expand...
Click to collapse
Ok, thanks, I'll look for some similar devices. Will any similar MTK device work? What needs to be similar? OS versions? Chipset? Kernel version?
What do I need to look for?
Thanks
NateDev473 said:
Ok, thanks, I'll look for some similar devices. Will any similar MTK device work? What needs to be similar? OS versions? Chipset? Kernel version?
What do I need to look for?
Thanks
Click to expand...
Click to collapse
Must be on the same chipset from my experience, Kernel and OS doesn't matter.
Audriuskins said:
Must be on the same chipset from my experience, Kernel and OS doesn't matter.
Click to expand...
Click to collapse
So all I need to do is find a device with similar specs, and same chipset that has device tree and vendor blobs already created? And then I just modify it to fit my specific device?
NateDev473 said:
So all I need to do is find a device with similar specs, and same chipset that has device tree and vendor blobs already created? And then I just modify it to fit my specific device?
Click to expand...
Click to collapse
Something like that, you should look up :
http://forum.xda-developers.com/showthread.php?t=2274332
Audriuskins said:
Something like that, you should look up :
http://forum.xda-developers.com/showthread.php?t=2274332
Click to expand...
Click to collapse
Do the devices need to be officially CM supported, to get the device tree and vendor blobs? Because I found a couple of devices like the ZenFone Go that has an unofficial version of CM, but I can't find the device tree for that device.
These come from the oem. While the directions posted sometimes work it is dirty hacking at best and never stable. This is why developers stay away from mtk devices and they are really only used in cheap devices.
NateDev473 said:
Do the devices need to be officially CM supported, to get the device tree and vendor blobs? Because I found a couple of devices like the ZenFone Go that has an unofficial version of CM, but I can't find the device tree for that device.
Click to expand...
Click to collapse
Search on Github
Audriuskins said:
Search on Github
Click to expand...
Click to collapse
Ok, so I've discovered that the Infinix Hot 2 has mostly the same specs as my device, and that it's basically a clone of the Studio Selfie, which is the device that I used to unofficially port CyanogenMod to my device, so that's a good sign. Anyways, CyanogenMod was built for the Infinix Hot 2 from source, and they provided links to GitHub. It does say though that the Infinix Hot 2 is Android One. Is that a big problem?
Thanks
NateDev473 said:
Ok, so I've discovered that the Infinix Hot 2 has mostly the same specs as my device, and that it's basically a clone of the Studio Selfie, which is the device that I used to unofficially port CyanogenMod to my device, so that's a good sign. Anyways, CyanogenMod was built for the Infinix Hot 2 from source, and they provided links to GitHub. It does say though that the Infinix Hot 2 is Android One. Is that a big problem?
Thanks
Click to expand...
Click to collapse
No idea x)
I guess you can try xd
Audriuskins said:
No idea x)
I guess you can try xd
Click to expand...
Click to collapse
Ok, thanks
Audriuskins said:
No idea x)
I guess you can try xd
Click to expand...
Click to collapse
I found this on GitHub, is that what I am looking for in terms of the vendor files and stuff like that? http://imgur.com/a/KUcxC
NateDev473 said:
I found this on GitHub, is that what I am looking for in terms of the vendor files and stuff like that? http://imgur.com/a/KUcxC
Click to expand...
Click to collapse
Clone whole tree, rename everything to yours.
In device tree check if configs are like your device
Audriuskins said:
Clone whole tree, rename everything to yours.
In device tree check if configs are like your device
Click to expand...
Click to collapse
Ok, I will. If some of the configs are different for my device, I can just replace the values with the ones that work for my device right? Also in that other device's lib volder, they have a lot less stuff then my stock ROM lib folder, is that fine?
NateDev473 said:
Ok, I will. If some of the configs are different for my device, I can just replace the values with the ones that work for my device right? Also in that other device's lib volder, they have a lot less stuff then my stock ROM lib folder, is that fine?
Click to expand...
Click to collapse
I can't help you very much, because I'm new in MTK development ://
Audriuskins said:
I can't help you very much, because I'm new in MTK development ://
Click to expand...
Click to collapse
Would it be possible to then just upload my own files? Because on my phone I have all those files that are there for the other device. That would be better, I think, because they would be specific to my phone... If you don't know it's fine
NateDev473 said:
Would it be possible to then just upload my own files? Because on my phone I have all those files that are there for the other device. That would be better, I think, because they would be specific to my phone... If you don't know it's fine
Click to expand...
Click to collapse
I dont know

Categories

Resources