I want to create a custom kernel for the LG E980.........what do I need to learn to do so.......I have never made a kernel before so any help would be appreciated.....Thanks In advance
This belongs in general not development
Sent from my LG-E980 using Tapatalk
justin860 said:
This belongs in general not development
Sent from my LG-E980 using Tapatalk
Click to expand...
Click to collapse
Sorry I'm new to XDA
rjmxtech said:
I want to create a custom kernel for the LG E980.........what do I need to learn to do so.......I have never made a kernel before so any help would be appreciated.....Thanks In advance
Click to expand...
Click to collapse
read. lots and lots of reading. and be patient.
search around xda for the how-to threads on kernel building and customizing.
i started work on a 4.3 kernel a while ago before we had stable cm-10.2 official builds, but abandoned it after the switch to the lge-kernel-gproj sources because i just don't have the time.
my suggestion is to check out the sources for other devices' custom kernels, such as those for the lge mako/optimus g, htc one/m7, and samsung gs4/jflteatt. you can probably cherry pick batches of commits from some of those kernels, but be sure you have a sense of what the changes do, or at least which modified files do what. also, it's worth noting that not all kernel sources are structured the same way even though they're all linux kernels. so cherry pick with caution.
be sure that you update the defconfig for the correct device in arch/arm/config (or create a new one for your custom kernel). if you're forking the lge-kernel-gproj sources from cyanogenmod (which i highly recommend as your base), there is already a defconfig for the e980.
um...other things...as far as over clocking and undervolting, when you browse other kernels' sources, you'll want to look at the commits involving cpufreq and/or acpuclock-8xxx (don't recall the specifics off the top of my head). iirc, start by looking in arch/arm/mach-msm and see which files were most recently modified.
good luck, and if you need help, i suggest checking out the project rookie threads (search xda). as long as you ask nicely and keep a courteous attitude, folks in those threads are extremely helpful.
Related
Hey everyone! I wanted to introduce a new project with a very simple but ambitious goal: create a place where all kernel developers can submit kernels easily and reach a much wider audience with ease.
Using Kernel Manager to flash kernels takes less than 30 seconds, generally, and it is extremely simple for end-users to find a kernel, filter by kernel features (BFS, CFS, HAVS, SBC, etc) download/install kernels, and submit ratings for their favorites.
We need from kernel developers like YOU! Submitting a kernel to Kernel Manager is totally free and we even provide hosting for you! Submitting kernels is easy!
One thing of note - kernels you submit need to include a device-specific copy of flash_image in the update zip file. You can find it in the CM ROM in /system/bin/.
If you use IRC, join us in freenode in #kernel-manager!
THIS LINK IS FOR KERNEL DEVELOPERS SPECIFICALLY! Go to http://kernels.teamw.in and register for an account! Once it's approved, you can easily enter new kernels, which immediately show up in the app. The app is currently available in the market.
Please feel free to provide me with any feedback you have, or feature requests in order to make this a great tool for all of android to utilize!
Also, I posted the official CyanogenMod kernel in Kernel Manager!
So if there aren't any kernel devs who have uploaded their kernels to KM yet, you can at least see the flashing process and if it's something you'd use .
Enjoy!
you should try to dev section not the Q and A section. good luck to you.
shortlived said:
you should try to dev section not the Q and A section. good luck to you.
Click to expand...
Click to collapse
It was in the dev section... the mods moved it for some reason >.<
Would love to see this take off! Keep seeing it in rom manager
Sent from my HTC Vision using XDA Premium App
Thats weird. Huh well i too would like to see this take off. Rom manager kinda has this but it would be nice to have an app that can tell what rom your running and provide a list of known working kernels, experimental kernels, and some kind of rating system with comments. That would kick ars!
Sent from my HTC Vision using XDA App
Hello Guys,
I am a developer of windows apps and I also do some web development stuff. I have also for the last couple of weeks been playing around with the android SDK and building apps for my phone. I have wanted to get into kernel development for my device, but I have had trouble finding a good place to start. I know I can follow the google directions and build a kernel, but that may not be specific to my device.
I was first wondering is there a kernel (Perferably AOSP like Cyanogenmod) that i can compile just get used to the build process. I belive I have already found that, it being this kernel right here:
https://github.com/CyanogenMod/android_kernel_samsung_smdk4412"]https://github.com/CyanogenMod/android_kernel_samsung_smdk4412
(Sorry, Im under ten posts.)
But this is where the confusion starts for me. I see this as a base of a lot of kernels for the note 2, but I notice the kernel is for the Galaxy S3. So in short, is there a good way to start learning how to build and modify android kernels for my Note 2? If so, do you have any recommendations on what kernel to base of of, or any tips or tricks, or etc?
PS: I am a "Newbie" by the forum standards so i can't post in the dev section.
R3liant said:
Hello Guys,
I am a developer of windows apps and I also do some web development stuff. I have also for the last couple of weeks been playing around with the android SDK and building apps for my phone. I have wanted to get into kernel development for my device, but I have had trouble finding a good place to start. I know I can follow the google directions and build a kernel, but that may not be specific to my device.
I was first wondering is there a kernel (Perferably AOSP like Cyanogenmod) that i can compile just get used to the build process. I belive I have already found that, it being this kernel right here:
https://github.com/CyanogenMod/android_kernel_samsung_smdk4412"]https://github.com/CyanogenMod/android_kernel_samsung_smdk4412
(Sorry, Im under ten posts.)
But this is where the confusion starts for me. I see this as a base of a lot of kernels for the note 2, but I notice the kernel is for the Galaxy S3. So in short, is there a good way to start learning how to build and modify android kernels for my Note 2? If so, do you have any recommendations on what kernel to base of of, or any tips or tricks, or etc?
PS: I am a "Newbie" by the forum standards so i can't post in the dev section.
Click to expand...
Click to collapse
You might want to start here http://forum.xda-developers.com/forumdisplay.php?f=1896
Check the Matrix thread, devil kernel and Garwyn's experimental kernel thread. These might give you some ideas
davidh59 said:
You might want to start here http://forum.xda-developers.com/forumdisplay.php?f=1896
Check the Matrix thread, devil kernel and Garwyn's experimental kernel thread. These might give you some ideas
Click to expand...
Click to collapse
Thanks! I have been testing around, but two problems have come up,
I have searched multiple threads and got as many dependencies as I could, but I still needed the toolchain. I got the android NDK, and used this guide:
http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
I used the arm-linux-androideabi- toolchain, is that ok? Even if it is, is there a better or recommended tool chain?
Another problem I had is when compiling the source I got a "error unknown pseudo-op .arch_extension" when it was compiling the devices section of the kernel.
Any thoughts and help would be appreciated.
Cheers,
R3liant
Hello everybody,
I'm back on the forums after being away for some time.
In the meantime I got myself my own LG Optimus G to be able to get to effective developing for this device.
My opinion is that this device is a powerfull device with a lot of "still to be unlocked" potential.
Before I bought the LG Optimus G I used the Samsung Galaxy S Plus, which had a very active and good developers which even today still perfectly support this old device.
When that phone launched it contained Android 2.3.6, but today it supports even the Android 4.4.4 builds (unoffical).
One of the most important steps in achieving this goal was to move from the Samsung provided kernel source to the CAF (Code Aurora Forum) based kernel source.
Because I wish the LG Optimus G the same future as my old device, I would like to get busy with bringing up the CAF kernel codebase on the LG Optimus G.
This will be a big project which is why I request fellow developers which are interested in this project to please join and form a development team with a common goal.
What needs to be done is:
- Obtain official LG Optimus G (Android 4.4) kernel sourcecode from: LGE975_G_Kitkat_Android_V20a_Kernel.zip
- Obtain latest CAF Kernel codebase (chipset apq8064) from: msm-5bfc8718998bedfeea1997d83838ffd1981cbf12.tar.gz (Last modification date: 30-06-2014)
- Extract added LGE Specific code and drivers from the official LG kernel source.
- Set-up a team Github with the clean CAF codebase, which all the driver and LG specific code will be added to.
If you're interested in helping with this project please contact me or leave a message over here.
Please no spamming etc.
Greetings PsychoGame
Hello everybody,
A little status update:
At this moment a 2-man team has been formed.
We have a team Github set-up for the development process this team will have.
The github link is: https://github.com/OptimusG-Dev-Team
If you are interested in giving us a helping hand with this project you're more than welcome.
Leave a message in this forum thread or contact me through a PM.
Experience with linux and also with the kernel is of course important.
Greetings PsychoGame
Bravo. Im hopeless in terms of what ever you code ninjas do, just wanted to let you know that i and most likely all in LGOG community greatly value this project. If you haven't already, perhaps PM some kernel devs as this would help in project gaining momentum and improved outcomes.
Happy to see that you're back psycho. Very brilliant idea. I hereby tag some devs to attract their attention. @faust93 @Loller79 , @jollaman999 , @Kevinjoa , @ThatKawaiiGuy , @xboxfanj , @JustinXu , @houstonn
Hey, I don't know much about kernel stuff, I'm learning Java atm so might be able to give tips. Not a lot though.
I don't have the Optimus G anymore (haven't since March), so I won't be able to do a ton, but I can help solve issues if/when needed.
akahroba said:
Happy to see that you're back psycho. Very brilliant idea. I hereby tag some devs to attract their attention. @Loller79 , @jollaman999 , @Kevinjoa , @ThatKawaiiGuy , @xboxfanj
Click to expand...
Click to collapse
I don't have kernel knowledge that much... I just referenced other dev's kernel sources and fix it to my style.
But thanks for mention to me.
It'll take some time, but I'm sure we get there.
Thank you for tagging some other devs inside this thread so it raises more awareness.
Everybody is welcome to join this project, for example clone the repositories, making changes and contribute.
That's exactly what opensource is all about.
And of course if you're interested in joining the team just send me a PM and I'll bring you up to speed on the progress/process and give you the needed information.
At this moment I'm also in contact with a official LG Developer which hopefully can provide me with some information that will help this porting process as well.
Greetings PsychoGame
jollaman999 said:
I don't have kernel knowledge that much... I just referenced other dev's kernel sources and fix it to my style.
But thanks for mention to me.
Click to expand...
Click to collapse
What about @houstonn ? Also I don't have any knowledge about this sort of thing really but I'll ask some other debs around to see if they want to join.
Sent from my LG-E975 using XDA Free mobile app
Generally, if you look at the branch of the libEGL_adreno file (using strings or hexedit), you can figure out what tag the OEM used (or branch) and then plop their source over that, then git pull the latest branch on top and fix any conflicts.
xboxfanj said:
Generally, if you look at the branch of the libEGL_adreno file (using strings or hexedit), you can figure out what tag the OEM used (or branch) and then plop their source over that, then git pull the latest branch on top and fix any conflicts.
Click to expand...
Click to collapse
Thanks for the information xboxfanj . I never noticed the branch information inside the LibEGL_adreno files.
This also helps a lot with the extraction of the LGE added code as the branch is now as close to the LG used sources.
This keeps the extracted LGE patches as clean as possble to almost only include the LGE added stuff.
PsychoGame said:
Thanks for the information xboxfanj . I never noticed the branch information inside the LibEGL_adreno files.
This also helps a lot with the extraction of the LGE added code as the branch is now as close to the LG used sources.
This keeps the extracted LGE patches as clean as possble to almost only include the LGE added stuff.
Click to expand...
Click to collapse
No problem. Let me know if you need help. Obviously, I can't test anything, but I should be able to help you get things building.
Oh, i noticed this thread just now.
I can help but i don't have much free time these months.
The idea is interesting from what i've seen, if you want another hand contact me via pm
Loller79 said:
Oh, i noticed this thread just now.
I can help but i don't have much free time these months.
The idea is interesting from what i've seen, if you want another hand contact me via pm
Click to expand...
Click to collapse
Sent a PM to you xda account
Today we've updated the proj-kernel repository with fully patched kernel sourcecode.
With a few small 'hacks' we are able to build the j1vd-perf_defconfig to the end.
What remains is getting the updated kernel to boot on the Optimus G boards.
At least the project is moving forward.
Just wanted to give everybody a update on the progress we're making.
Greetings PsychoGame
Here I'm back with some great news for everybody.
Today the kernel which was built using our sourcecode has succesfully booted on stock KK rom from LG.
The next steps we'll be taking will be getting the kernel to work with CM11 as well.
This way I hope we will have a perfectly stable and up-to-date kernel for the Optimus G which will work for Stock as well as CM based roms.
Greetings PsychoGame
PsychoGame said:
Here I'm back with some great news for everybody.
Today the kernel which was built using our sourcecode has succesfully booted on stock KK rom from LG.
The next steps we'll be taking will be getting the kernel to work with CM11 as well.
This way I hope we will have a perfectly stable and up-to-date kernel for the Optimus G which will work for Stock as well as CM based roms.
Greetings PsychoGame
Click to expand...
Click to collapse
very nice job mate. I think in this step @faust93 can help a lot.
Is this kernel work specific to E975, or will it be compatible with for example Sprint variant LS970?
dwielunski said:
Is this kernel work specific to E975, or will it be compatible with for example Sprint variant LS970?
Click to expand...
Click to collapse
At the moment it is based off E975 sources so it won't work on ls970 and similar.
Running it on my phone now and it works flawlessly.
Please thank a lot the team that made this possible and xboxfanj who helped with the project.
What's up guys? Is there anything we can help with? any test version or something?
I thought of developing a kernel so that i can use it with my CM11 that im going to port shortly. I thought I'll compile the stock kernel from source itself. I use android pre-built tool chain (arm-eabi-4.6)
I get a lot of compiler errors on stock kernel without any modifications itself...
Do i need to change my tool chain?
Sent from my One V using XDA Free mobile app
I never tried to build the stock kernel, but I think they did it with the android 4.0 toolchain.
To run CM, you need a CM-Kernel. You have to port things from the stock or a custom kernel (like Hellboy by maxwen) to the cm11 kernel.
Try to use rastomanchiks kernel sources (https://github.com/rastomanchik/android_kernel_htc_primou). This kernel is mostly working, stable and has a good battery life now.
I'd also like to build cm11, but my download speed is to slow to download the sources.
Exactly. Even my download speed is slow. And i have a cap also. After 8GB, my download speed drastically decreases. It takes ages to sync the sources...
Sent from my One V using XDA Free mobile app
How different is Cm kernel from stock? I mean what changes should i make?
Sent from my One V using XDA Free mobile app
Cm needs many features which aren't included in the stock kernel and also you should get ION memory allocator working.
Help
jonas2790 said:
Cm needs many features which aren't included in the stock kernel and also you should get ION memory allocator working.
Click to expand...
Click to collapse
Yeah. How do I port?
What happened to your CM12 project?
hehaichi said:
Yeah. How do I port?
What happened to your CM12 project?
Click to expand...
Click to collapse
I started working on cm12 again yesterday and finally have cm11 sources now, so expect a cm11 build in some days
I can't help you with porting, because all the porting work was done by rastomanchik and I chatted with him. You'd have to ask him about this, but he wasn't online the last weeks and can't speak english without google translator.
jonas2790 said:
I started working on cm12 again yesterday and finally have cm11 sources now, so expect a cm11 build in some days
I can't help you with porting, because all the porting work was done by rastomanchik and I chatted with him. You'd have to ask him about this, but he wasn't online the last weeks and can't speak english without google translator.
Click to expand...
Click to collapse
Actually I insist on porting myself so that I can learn building properly.
Actually these things are also interesting.. fixing bugs and all...
Have series of exams till May end. I cant build properly until then. I thought why not learn something..
Where did you learn about building and other stuff. Also I want to build the device tree on my own.
If you could specify some sources to learn, that would be grateful!
hehaichi said:
Actually I insist on porting myself so that I can learn building properly.
Actually these things are also interesting.. fixing bugs and all...
Have series of exams till May end. I cant build properly until then. I thought why not learn something..
Where did you learn about building and other stuff. Also I want to build the device tree on my own.
If you could specify some sources to learn, that would be grateful!
Click to expand...
Click to collapse
This is exactly the same point of view I had when I started some months ago
Sadly, there isn't much documentation about own device trees and own kernels out there.
There also is no reference device tree, so every dev does it in his own way. I'm always trying to have a clean, easy device tree and use the CM ones as a reference.
You can find some tutorials about building cm, but only with downloading a ready-to-use device config and kernel.
I just played around with it one or two weeks and learned the most.
If you have enough time, please at least try to get into this stuff, maybe we can get cm12 running.
You can reach me on irc in the channel #hov on freenode.
jonas2790 said:
This is exactly the same point of view I had when I started some months ago
Sadly, there isn't much documentation about own device trees and own kernels out there.
There also is no reference device tree, so every dev does it in his own way. I'm always trying to have a clean, easy device tree and use the CM ones as a reference.
You can find some tutorials about building cm, but only with downloading a ready-to-use device config and kernel.
I just played around with it one or two weeks and learned the most.
If you have enough time, please at least try to get into this stuff, maybe we can get cm12 running.
You can reach me on irc in the channel #hov on freenode.
Click to expand...
Click to collapse
I have sufficient time only after May. Till then I'll have to do some research and learn the basics.
I saw on the CM wiki page, it says you can run a prebuilt kernel also... So would it work if we could tweak the stock kernel a bit?
And how do I apply patches to the kernel?
hehaichi said:
I have sufficient time only after May. Till then I'll have to do some research and learn the basics.
I saw on the CM wiki page, it says you can run a prebuilt kernel also... So would it work if we could tweak the stock kernel a bit?
And how do I apply patches to the kernel?
Click to expand...
Click to collapse
Yes you can use a prebuilt kernel, but it will only work if the kernel supports you cm version.
You apply patches to a kernel by changing files or directories in the kernel. For example you can use another fs module (maybe with more functions) by copy and pasting the folder for the module from another kernel. The problem is, the new module may require some functions your kernel does not have so it won't compile.
Hey i had mailed rastomanchik and he said 3.4.x kernel is an impossibility for cm11? Why?
Sent from my One V
hehaichi said:
Hey i had mailed rastomanchik and he said 3.4.x kernel is an impossibility for cm11? Why?
Sent from my One V
Click to expand...
Click to collapse
1. It would be much, much, much work.
2. I think there are some device-specific drivers that only work with 3.0
I'm ready to do that work only if i knew how to...
Sent from my One V
hehaichi said:
I'm ready to do that work only if i knew how to...
Sent from my One V
Click to expand...
Click to collapse
Try to get into it yourself or talk with people who know about kernel developement, I'm also new to android developement.
What would it take to see a base AOSP ROM put together for the LG G4? I know there's some folks working hard at bringing CM to the G4, but what about an AOSP unmodified ROM with drivers, of course? I've always wondered if that is a better option than say a ROM like CM which has loads of known bugs and issues.
Maybe an AOSP super-stock setup which we could modify after via Xposed / Mods to add in what we want would be a better option?
CJ-Wylde said:
What would it take to see a base AOSP ROM put together for the LG G4? I know there's some folks working hard at bringing CM to the G4, but what about an AOSP unmodified ROM with drivers, of course? I've always wondered if that is a better option than say a ROM like CM which has loads of known bugs and issues.
Maybe an AOSP super-stock setup which we could modify after via Xposed / Mods to add in what we want would be a better option?
Click to expand...
Click to collapse
After we finish the device tree and everything is working, it can be then used to build whatever Rom you desire
You rock, thank you for the quick response! I'm not even sure what kind of rom I desire. I just know it would be neat to go full on basic AOSP and add from there without some of the clutter and bugs introduced with CM's stuff, although CM has always been an enjoyable experience. Whoot for guys like you!
I know this is old thread... but what source tree are we talking about here? Obviously not AOSP itself, i think... right?
CM source?
Maybe i'm missing something about branches of AOSP... and other trees..
many thanks
mythos234 said:
After we finish the device tree and everything is working, it can be then used to build whatever Rom you desire
Click to expand...
Click to collapse
thenextdon13 said:
I know this is old thread... but what source tree are we talking about here? Obviously not AOSP itself, i think... right?
CM source?
Maybe i'm missing something about branches of AOSP... and other trees..
many thanks
Click to expand...
Click to collapse
They talked about device tree here. An example for a pure AOSP one for the device LG H815 is here:
https://github.com/cile381/android_device_h815
See this for an explanation :
http://wp.me/p6ZeCY-3p
AOSP source contains the sources to build a ROM which are the same for all devices and a device tree is a device specific description on how to build or as the above link states:
“A device tree is a tree data structure with nodes that describe the physical devices in a system”
.
Sent from my LG-H815 using XDA Labs
Thank you, steadfasterX.
That provides some clarity, although I think there is still a bit missing for me--
Ugh, i can't post links because of spam rules.. :-/ makes describing things harder.
How did you find the github cile381/android_device_h815 as being the AOSP tree for that phone? My understanding was that the AOSP main repo is here:
android.googlesource.com
And so related to my question previously.. i guess i'm confused specifically who the 'we' is that mythos234 references, and where that source would be located...
many thanks!