[Q] Kernel Development Startup - AT&T, Rogers, Bell, Telus Samsung Galaxy S III

Hey guys,
I recently decided I would like to learn how to build for android. Rather than build a new rom however (there are so damn many), I was thinking about building a kernel. See what I can bring to the table.
I did some research and instantly found myself in a sea of information (most of which was outdated or not applicable).
I was wondering if anyone could direct me to some specific sites or pages for:
kernel education
building education (focus on kernels)
galaxy s3 kernel dev (at&t specific for start)
Noobish question, but I figured I would ask the experts and see whats out there.
Thanks in advance!!

I'll post you some links here in a little while, as deceptive as my post count may be, I used to be known as smoothtaste here on XDA (and later on as ahager88, then I went on hiatus when I had my little Junior)
Ultimately the best thing for you to start out is familiarize yourself with Git. Git commands will be essential. Read up on those, and download source from a developer that shares your device tree, faux123 or ktoons would be good, whoever you prefer. Preludedrew used to have a wonderful guide setup on the Evervolv site for building his rom from source, you can read his guide for excellent information regarding getting your environment setup and workable.
Once you have your environment setup and understand how to change variables and build with the make command, you can make small changes as you learn them, such as incorporating different governors into the build, etc, build it, flash it on a rom that the kernel will be compatible with and see your changes.
All of this is nothing in terms of development, however. But it will get you in the swing of things that you'll be doing a lot. If I forget to come back and post the links just pm me, I've got a lot of good reading material bookmarked on my machine at home.
Sent from my SAMSUNG-SGH-I747
---------- Post added at 12:41 PM ---------- Previous post was at 12:35 PM ----------
aeppacher said:
Hey guys,
I recently decided I would like to learn how to build for android. Rather than build a new rom however (there are so damn many), I was thinking about building a kernel. See what I can bring to the table.
I did some research and instantly found myself in a sea of information (most of which was outdated or not applicable).
I was wondering if anyone could direct me to some specific sites or pages for:
kernel education
building education (focus on kernels)
galaxy s3 kernel dev (at&t specific for start)
Noobish question, but I figured I would ask the experts and see whats out there.
Thanks in advance!!
Click to expand...
Click to collapse
https://github.com/Evervolv/android/blob/jellybean/README
Don't jump in and sync the Evervolv source, but everything in that readme pertaining to setting up the environment is a must. He has all the necessary libraries listed right at the top, I guess you could sync Evervolv source just to see how Git works as well, but it won't ultimately help you with our device. Again, I will make a point to provide you with material closer to what you're asking for as soon as I have the chance.
Don't ever be afraid to ask for help around here. You might get some people who are demeaning and think you should already know everything from time to time, but good people come along.
Sent from my SAMSUNG-SGH-I747
---------- Post added at 12:58 PM ---------- Previous post was at 12:41 PM ----------
Be warned, some of this is outdated, I know one source mentions Ubuntu 9.04. I know a few people that use 12.04 still, and some that use 12.10, Ubuntu is the easiest OS to setup with, I have done it with Fedora, and Arch Linux has always been my favorite but you should probably stay away from that. You have to choose the files/libs that are needed for your distribution, and the fetch commands change depending on the OS, as well as of you're doing 32 or 64 bit.
Basic Kernel Material
http://kernelnewbies.org/FAQ
http://www.ibm.com/developerworks/library/l-linux-kernel/
http://en.m.wikipedia.org/wiki/Linux_kernel
http://www.tuxradar.com/content/how-linux-kernel-works
http://www.howtogeek.com/howto/31632/what-is-the-linux-kernel-and-what-does-it-do/
Building/Modifying Kernel Source
http://source.android.com/source/building-kernels.html
http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
http://forum.xda-developers.com/showthread.php?t=1748297
http://simply-android.wikia.com/wiki/Kernel_Development
Att Galaxy S3 Related
At the present I do not know of any guides or materials pertaining to this device solely, though this doesn't mean they aren't out there. Once you get the hang of things working with the source of your choosing, it won't matter anyway.
Sent from my SAMSUNG-SGH-I747

ahagersr said:
I'll post you some links here in a little while, as deceptive as my post count may be, I used to be known as smoothtaste here on XDA (and later on as ahager88, then I went on hiatus when I had my little Junior)
Ultimately the best thing for you to start out is familiarize yourself with Git. Git commands will be essential. Read up on those, and download source from a developer that shares your device tree, faux123 or ktoons would be good, whoever you prefer. Preludedrew used to have a wonderful guide setup on the Evervolv site for building his rom from source, you can read his guide for excellent information regarding getting your environment setup and workable.
Once you have your environment setup and understand how to change variables and build with the make command, you can make small changes as you learn them, such as incorporating different governors into the build, etc, build it, flash it on a rom that the kernel will be compatible with and see your changes.
All of this is nothing in terms of development, however. But it will get you in the swing of things that you'll be doing a lot. If I forget to come back and post the links just pm me, I've got a lot of good reading material bookmarked on my machine at home.
Sent from my SAMSUNG-SGH-I747
---------- Post added at 12:41 PM ---------- Previous post was at 12:35 PM ----------
https://github.com/Evervolv/android/blob/jellybean/README
Don't jump in and sync the Evervolv source, but everything in that readme pertaining to setting up the environment is a must. He has all the necessary libraries listed right at the top, I guess you could sync Evervolv source just to see how Git works as well, but it won't ultimately help you with our device. Again, I will make a point to provide you with material closer to what you're asking for as soon as I have the chance.
Don't ever be afraid to ask for help around here. You might get some people who are demeaning and think you should already know everything from time to time, but good people come along.
Sent from my SAMSUNG-SGH-I747
---------- Post added at 12:58 PM ---------- Previous post was at 12:41 PM ----------
Be warned, some of this is outdated, I know one source mentions Ubuntu 9.04. I know a few people that use 12.04 still, and some that use 12.10, Ubuntu is the easiest OS to setup with, I have done it with Fedora, and Arch Linux has always been my favorite but you should probably stay away from that. You have to choose the files/libs that are needed for your distribution, and the fetch commands change depending on the OS, as well as of you're doing 32 or 64 bit.
Basic Kernel Material
http://kernelnewbies.org/FAQ
http://www.ibm.com/developerworks/library/l-linux-kernel/
http://en.m.wikipedia.org/wiki/Linux_kernel
http://www.tuxradar.com/content/how-linux-kernel-works
http://www.howtogeek.com/howto/31632/what-is-the-linux-kernel-and-what-does-it-do/
Building/Modifying Kernel Source
http://source.android.com/source/building-kernels.html
http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
http://forum.xda-developers.com/showthread.php?t=1748297
http://simply-android.wikia.com/wiki/Kernel_Development
Att Galaxy S3 Related
At the present I do not know of any guides or materials pertaining to this device solely, though this doesn't mean they aren't out there. Once you get the hang of things working with the source of your choosing, it won't matter anyway.
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
You Sir are a scholar and gentleman! This is exactly what I needed! I will definitely bookmark this thread and be back to ask you questions later on. I totally get what you mean by the people who treat you like you should know everything. Thats actually the reason I am here. Got tired of a dev treating people like he was too good to care so I decided why not learn myself and provide something to the community. Thank you so much man. I actually figured I would need Linux and so I tried to install it last night. Unfortunately Ubuntu 12.04 wouldn't install. I think it has to do with my Intel 4000 graphics card is disabled (by my oem) and my nvidia cards aren't working with it. I couldn't even get into command line because it was so small I couldn't read what I was typing. In the end I managed to get 13.04 to work but I realize I will have to install 12.04 on top of it for compatibility.
Quick question now, any recommendation on 32 bit or 64 bit? My rig can easily handle the 64 but I understand with Linux things can get finicky in terms of compatibility

aeppacher said:
You Sir are a scholar and gentleman! This is exactly what I needed! I will definitely bookmark this thread and be back to ask you questions later on. I totally get what you mean by the people who treat you like you should know everything. Thats actually the reason I am here. Got tired of a dev treating people like he was too good to care so I decided why not learn myself and provide something to the community. Thank you so much man. I actually figured I would need Linux and so I tried to install it last night. Unfortunately Ubuntu 12.04 wouldn't install. I think it has to do with my Intel 4000 graphics card is disabled (by my oem) and my nvidia cards aren't working with it. I couldn't even get into command line because it was so small I couldn't read what I was typing. In the end I managed to get 13.04 to work but I realize I will have to install 12.04 on top of it for compatibility.
Quick question now, any recommendation on 32 bit or 64 bit? My rig can easily handle the 64 but I understand with Linux things can get finicky in terms of compatibility
Click to expand...
Click to collapse
Where's my thanks???? Wahhhh!
But seriously, I've never had an environment setup on a 32 bit distribution, I don't have a bad ass computer my any means, but it runs 64-bit so that's what I do. You can run 32-bit on a 64-bit environment, but you can't make a 32-bit environment run 64.
As it happens, I have a fresh Ubuntu 13.04 installation on my machine, the only thing setup in it is the Android SDK. I was planning on playing but I hadn't gotten around to it. I'll setup an environment on mine, and Git Clone klin1344's kernel sources for his bleeding edge 4.2.2 kernel and if you haven't done it by then, I'll write out everything I had to do to get 13.04 working. Honestly, it should be pretty much an exact copy past of the apt get commands for 12.04 as long as all the proper repositories are in order, there might be a hiccup or two but nothing bad.
I've been wanting to play with klin1344's source anyways, he uses the Linaro tool chain, and I've only ever used Arm Eabi, so I'm curious as to how different the environment would have to be, if at all, to make a kernel from his source that's optimized properly. I'll send him a PM and ask him about that.
Sent from my SAMSUNG-SGH-I747
Edit: To clarify, the 32-bit libraries needed to compile android from source aren't technically necessary for kernel development, but they are readily available for 64-bit Ubuntu systems.
Another clarification, there SHOULD be no reason to attempt to install 12.04 "on top" of your existing 13.04, although I might suggest a simple Google search on compiling android from source in 13.04 to see if there are any guides. I can't use 12.04 on my Asus machine. Not without a lot of hassle (I'm too lazy to merge grub/efi fixes and boot-repair into my own live image) due to Secure Boot/EFI/Grub, I can use 12.10 which I know for a fact never gave me problems building unless I made a mistake, but 13.04 (64) is already setup for dual-boot with Windows 8, so that's what I will use. If I can build in Arch Linux, we can build in 13.04.
---------- Post added at 07:40 PM ---------- Previous post was at 07:07 PM ----------
http://forum.xda-developers.com/showthread.php?t=2224142
That's a guide I found for build Android from source on 13.04, although you only plan to do kernels, once your feet are wet you'll end up needing this stuff, most likely.
I'll wait to see what klin1344 says to me about the Linaro tool chain before I set mine up, though I'll probably go ahead and follow the early stages of this guide for my system. I'll get all the libraries, etc, I just won't download the actual source from Google. I don't have time to even try to get a true AOSP rom running lol. Although, if I thought I could do it I would find the time.
It's sad that CM is the closest we get, but at least it's not like CM7. I'm rather fond of the minimal approach they've came back to.
Sent from my SAMSUNG-SGH-I747

ahagersr said:
Where's my thanks???? Wahhhh!
But seriously, I've never had an environment setup on a 32 bit distribution, I don't have a bad ass computer my any means, but it runs 64-bit so that's what I do. You can run 32-bit on a 64-bit environment, but you can't make a 32-bit environment run 64.
As it happens, I have a fresh Ubuntu 13.04 installation on my machine, the only thing setup in it is the Android SDK. I was planning on playing but I hadn't gotten around to it. I'll setup an environment on mine, and Git Clone klin1344's kernel sources for his bleeding edge 4.2.2 kernel and if you haven't done it by then, I'll write out everything I had to do to get 13.04 working. Honestly, it should be pretty much an exact copy past of the apt get commands for 12.04 as long as all the proper repositories are in order, there might be a hiccup or two but nothing bad.
I've been wanting to play with klin1344's source anyways, he uses the Linaro tool chain, and I've only ever used Arm Eabi, so I'm curious as to how different the environment would have to be, if at all, to make a kernel from his source that's optimized properly. I'll send him a PM and ask him about that.
Sent from my SAMSUNG-SGH-I747
Edit: To clarify, the 32-bit libraries needed to compile android from source aren't technically necessary for kernel development, but they are readily available for 64-bit Ubuntu systems.
Another clarification, there SHOULD be no reason to attempt to install 12.04 "on top" of your existing 13.04, although I might suggest a simple Google search on compiling android from source in 13.04 to see if there are any guides. I can't use 12.04 on my Asus machine. Not without a lot of hassle (I'm too lazy to merge grub/efi fixes and boot-repair into my own live image) due to Secure Boot/EFI/Grub, I can use 12.10 which I know for a fact never gave me problems building unless I made a mistake, but 13.04 (64) is already setup for dual-boot with Windows 8, so that's what I will use. If I can build in Arch Linux, we can build in 13.04.
---------- Post added at 07:40 PM ---------- Previous post was at 07:07 PM ----------
http://forum.xda-developers.com/showthread.php?t=2224142
That's a guide I found for build Android from source on 13.04, although you only plan to do kernels, once your feet are wet you'll end up needing this stuff, most likely.
I'll wait to see what klin1344 says to me about the Linaro tool chain before I set mine up, though I'll probably go ahead and follow the early stages of this guide for my system. I'll get all the libraries, etc, I just won't download the actual source from Google. I don't have time to even try to get a true AOSP rom running lol. Although, if I thought I could do it I would find the time.
It's sad that CM is the closest we get, but at least it's not like CM7. I'm rather fond of the minimal approach they've came back to.
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
My sincerest apologies. Twice the thanks sent your way. I knew 32 bit could run on 64 bit but I remember having issues in the past with it not working. Must have just been me. I have heard of various toolchains like linaro, bionic and arm but never really knew what they were. I will do some reading on that. In terms of progress I am bummed because I have to send off my laptop for 2 weeks on monday so it will suck but hopefully I make some progress before that.
Why are you recommending pulling another devs link rather than from samsung sources?
Thanks again for all the help. I hope you are patient because you will be my go to guy for now on

aeppacher said:
My sincerest apologies. Twice the thanks sent your way. I knew 32 bit could run on 64 bit but I remember having issues in the past with it not working. Must have just been me. I have heard of various toolchains like linaro, bionic and arm but never really knew what they were. I will do some reading on that. In terms of progress I am bummed because I have to send off my laptop for 2 weeks on monday so it will suck but hopefully I make some progress before that.
Why are you recommending pulling another devs link rather than from samsung sources?
Thanks again for all the help. I hope you are patient because you will be my go to guy for now on
Click to expand...
Click to collapse
I don't know what rom you run on a regular basis, but I run 4.2.2 - CM. Samsung is apparently just as bad as HTC at releasing source. I haven't seen (I could be wrong, I am new to this device) any 4.2.2 roms with a Samsung kernel, everything is pretty much an ENHANCED CM kernel. I was drawn to the Bleeding Edge kernel because klin1344 actually has his source ahead of CyanogenMod. He merges CM commits, but he's also pulling things in from upstream, from other sources, to make his kernel perform the way it does. As it is bleeding edge the upstream merges could always break something you don't anticipate.
In my mind, it makes the most sense to watch his kernel while you learn. That doesn't mean it's what you should do. If it wasn't for the Cyanogen boys, we wouldn't have any 4.2.2 capable kernels that are specific to our device. Those guys put in a lot of work to make it happen. More than you could fathom until you've tried it yourself. Of course, they make it look easy.
klin1344's doing real development on his tree. He's not just cloning CM and renaming it, he's merging stuff from upstream, stuff that hasn't made it through any of the other kernels for nor device yet. In my mind, that's a perfect tree to learn on.
If you like Touchwiz roms, then you can start from Samsung source, no doubt, but the 4.2.2 roms appear to all use kernels that descended from CM's tree. I haven't poked around enough yet to be sure, but that's how it looks to me so far. Whatever kernel source you choose, you should be willing to run a rom that it will support daily. It's the only way you'll ever see what your tinkering is doing for you.
Sent from my SAMSUNG-SGH-I747

aror ersr said:
I don't know what rom you run on a regular basis, but I run 4.2.2 - CM. Samsung is apparently just as bad as HTC at releasing source. I haven't seen (I could be wrong, I am new to this device) any 4.2.2 roms with a Samsung kernel, everything is pretty much an ENHANCED CM kernel. I was drawn to the Bleeding Edge kernel because klin1344 actually has his source ahead of CyanogenMod. He merges CM commits, but he's also pulling things in from upstream, from other sources, to make his kernel perform the way it does. As it is bleeding edge the upstream merges could always break something you don't anticipate.
In my mind, it makes the most sense to watch his kernel while you learn. That doesn't mean it's what you should do. If it wasn't for the Cyanogen boys, we wouldn't have any 4.2.2 capable kernels that are specific to our device. Those guys put in a lot of work to make it happen. More than you could fathom until you've tried it yourself. Of course, they make it look easy.
klin1344's doing real development on his tree. He's not just cloning CM and renaming it, he's merging stuff from upstream, stuff that hasn't made it through any of the other kernels for nor device yet. In my mind, that's a perfect tree to learn on.
If you like Touchwiz roms, then you can start from Samsung source, no doubt, but the 4.2.2 roms appear to all use kernels that descended from CM's tree. I haven't poked around enough yet to be sure, but that's how it looks to me so far. Whatever kernel source you choose, you should be willing to run a rom that it will support daily. It's the only way you'll ever see what your tinkering is doing for you.
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
So much for open source. Yeah I guess that will drop once we get the official 4.2.2 touchwiz update (potentially never with how its going). I run carbon rom currently so I definitely would compile a 4.2.2 kernel. I like what you said about building off of klins source but I feel sort of like I would be botching up some original and creative code. I like the idea of taking CMs git and working off of that since it is like working with the most basic version of code. It is a shame that almost all kernels are just a branch off of CMs source, it unfortunately assumes they have the best code, which I don't deny, it's just a shame not to get the OEMs source. Can't believe CM codes the kernels themselves, that sounds so friggin time consuming and technical. And they do it for so many devices!
I am really pumped to build. The more I read the better. I read that a tool chain is like a group of programs that does the compiling for you (dumbed down definition). My question is how does this differ from one toolchain to the other and how does it compile the kernel differently? I am just wondering what the benefit of different compilers would produce.
EDIT: I'm just gonna thank every post in this thread from you btw

aeppacher said:
So much for open source. Yeah I guess that will drop once we get the official 4.2.2 touchwiz update (potentially never with how its going). I run carbon rom currently so I definitely would compile a 4.2.2 kernel. I like what you said about building off of klins source but I feel sort of like I would be botching up some original and creative code. I like the idea of taking CMs git and working off of that since it is like working with the most basic version of code. It is a shame that almost all kernels are just a branch off of CMs source, it unfortunately assumes they have the best code, which I don't deny, it's just a shame not to get the OEMs source. Can't believe CM codes the kernels themselves, that sounds so friggin time consuming and technical. And they do it for so many devices!
I am really pumped to build. The more I read the better. I read that a tool chain is like a group of programs that does the compiling for you (dumbed down definition). My question is how does this differ from one toolchain to the other and how does it compile the kernel differently? I am just wondering what the benefit of different compilers would produce.
EDIT: I'm just gonna thank every post in this thread from you btw
Click to expand...
Click to collapse
That's why I was curious about the Linaro toolchain. I guess I'll have to just look it up, I'm sure klin1344 is pretty busy, he maintains a few different things I believe and I'm sure the dude has a real life haha. I have seen mention of different toolchains being used in kernels before, which I mentioned above, but I've never tried any of these other ones. I do personally notice a significant performance change from Linaro optimized builds, though.
The maintainers that are affiliated with Cyanogen are amazing. Toastcfh, who is primarily on Sprint HTC devices, has always been amazing. I miss being with Sprint honestly, I used to stalk him when he changed phones haha. When Sprint released the Evo Shift 4G him and a handful of other developers actually built the Wimax Drivers (Sprints first 4G network) from the ground up.
The Android source code Google releases comes with a generic kernel, Seen here. That does lay down the ground work for a lot of devices, but getting all of the device specifics put in can be a pain.
I've honestly never built an android kernel from straight AOSP sources and done the fixes myself. I don't know enough about the chipsets to even begin. A little research could go a long way, but between my three little monsters and my inconsistent data reliability during my work travels, I never considered putting in the work. Those Cyanogen guys beat me to even thinking of it haha. I consider doing it and they've got it done.
There's a guide laying around somewhere that details how to pull vendor information and other device specifics from your phone via adb and if I remember correctly it explains how you use those files to start to get a working kernel (and in turn a booting rom.) I believe it was related to building AOSP for a non-aosp device, such as HTC. A lot of HTC devices have kernels that only support AOSP maintained by our community and kernels that are built off of HTC Source for roms that use the Sense UI, and in turn, the Sense framework. Aroma installers have really changed that, I flashed several kernels on HTC devices that were universal, for GSM/CDMA/INT, that were setup to let you pick exactly what you needed for your device right there in recovery, even modifications concerning hotplug, Sweep2Wake etc. It's come a long way since the old Hero CDMA days. It's a lot different from HTC around here though. Not in a bad way, you just get used to certain functions that Samsung simply won't have.
As mentioned above, Google does lay down the ground work for Kernel development, but you always run into hiccups when a new version comes out I. E. 4.3 - It'll boot but wifi will be broken, camera drivers may be missing, bluetooth is always a problem. Yadda Yadda. That's where our community really thrives. With HTC devices we usually had completely stable versions of Android running months upon months before HTC got around to releasing source, let alone actually pushing an update. I used to joke that they leak their updates so the XDA guys can get ahold of them and fix the problems. Probably a little truth to that. Haha.
Movie time!
Sent from my SAMSUNG-SGH-I747

ahagersr said:
That's why I was curious about the Linaro toolchain. I guess I'll have to just look it up, I'm sure klin1344 is pretty busy, he maintains a few different things I believe and I'm sure the dude has a real life haha. I have seen mention of different toolchains being used in kernels before, which I mentioned above, but I've never tried any of these other ones. I do personally notice a significant performance change from Linaro optimized builds, though.
The maintainers that are affiliated with Cyanogen are amazing. Toastcfh, who is primarily on Sprint HTC devices, has always been amazing. I miss being with Sprint honestly, I used to stalk him when he changed phones haha. When Sprint released the Evo Shift 4G him and a handful of other developers actually built the Wimax Drivers (Sprints first 4G network) from the ground up.
The Android source code Google releases comes with a generic kernel, Seen here. That does lay down the ground work for a lot of devices, but getting all of the device specifics put in can be a pain.
I've honestly never built an android kernel from straight AOSP sources and done the fixes myself. I don't know enough about the chipsets to even begin. A little research could go a long way, but between my three little monsters and my inconsistent data reliability during my work travels, I never considered putting in the work. Those Cyanogen guys beat me to even thinking of it haha. I consider doing it and they've got it done.
There's a guide laying around somewhere that details how to pull vendor information and other device specifics from your phone via adb and if I remember correctly it explains how you use those files to start to get a working kernel (and in turn a booting rom.) I believe it was related to building AOSP for a non-aosp device, such as HTC. A lot of HTC devices have kernels that only support AOSP maintained by our community and kernels that are built off of HTC Source for roms that use the Sense UI, and in turn, the Sense framework. Aroma installers have really changed that, I flashed several kernels on HTC devices that were universal, for GSM/CDMA/INT, that were setup to let you pick exactly what you needed for your device right there in recovery, even modifications concerning hotplug, Sweep2Wake etc. It's come a long way since the old Hero CDMA days. It's a lot different from HTC around here though. Not in a bad way, you just get used to certain functions that Samsung simply won't have.
As mentioned above, Google does lay down the ground work for Kernel development, but you always run into hiccups when a new version comes out I. E. 4.3 - It'll boot but wifi will be broken, camera drivers may be missing, bluetooth is always a problem. Yadda Yadda. That's where our community really thrives. With HTC devices we usually had completely stable versions of Android running months upon months before HTC got around to releasing source, let alone actually pushing an update. I used to joke that they leak their updates so the XDA guys can get ahold of them and fix the problems. Probably a little truth to that. Haha.
Movie time!
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
okay so I set up a git account, and set up a basic linux toolchain (android NDK r7). I pretty much have it all set up so that all I need to do is to actually pick a git account to pull from and then start tinkering. Since this will be my first attempt, I think I will just try taking it easy and simply by just building and seeing how it goes. I am pumped!
Yeah the gf had an htc evo 4G so I know just how annoying wimax was and the idea that they wrote a driver to make wimax compatible blows my mind. I wish one day I can be as great as these guys. Yeah HTC seems like a pain when it comes to source and development but that may just be my opinion. Rooting my gfs evo took me 3 hours of just commandlines and junk. My sgs3 took all of like 2 minutes.
I am a little unsure of how to pull the source from git for a specific kernel but I think I am going to look that up right now.
Wish me luck!
Hope the movie was good and thanks for all the thanks!
EDIT: okay so it was a little messy getting the source from git (noob here). I wanted to get just the source for the cm kernel, but I couldn't find a way to do that. I ended up trying getting the source for cm10.1 and dear god did that take long. I guess I will call it a night for now and hopefully you can show me how to properly and neatly get the source to do this.
For reference, I used this guide: http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
and I got to step 3 Setting up kernel parameters

aeppacher said:
okay so I set up a git account, and set up a basic linux toolchain (android NDK r7). I pretty much have it all set up so that all I need to do is to actually pick a git account to pull from and then start tinkering. Since this will be my first attempt, I think I will just try taking it easy and simply by just building and seeing how it goes. I am pumped!
Yeah the gf had an htc evo 4G so I know just how annoying wimax was and the idea that they wrote a driver to make wimax compatible blows my mind. I wish one day I can be as great as these guys. Yeah HTC seems like a pain when it comes to source and development but that may just be my opinion. Rooting my gfs evo took me 3 hours of just commandlines and junk. My sgs3 took all of like 2 minutes.
I am a little unsure of how to pull the source from git for a specific kernel but I think I am going to look that up right now.
Wish me luck!
Hope the movie was good and thanks for all the thanks!
EDIT: okay so it was a little messy getting the source from git (noob here). I wanted to get just the source for the cm kernel, but I couldn't find a way to do that. I ended up trying getting the source for cm10.1 and dear god did that take long. I guess I will call it a night for now and hopefully you can show me how to properly and neatly get the source to do this.
For reference, I used this guide: http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
and I got to step 3 Setting up kernel parameters
Click to expand...
Click to collapse
I'm stumbling around eating a microwave burrito and I decided to dig a little bit for you. Behold, a guide does truly exist for EXACTLY what you wish to do.
http://forum.xda-developers.com/showthread.php?t=2169607
Sent from my SAMSUNG-SGH-I747

ahagersr said:
I'm stumbling around eating a microwave burrito and I decided to dig a little bit for you. Behold, a guide does truly exist for EXACTLY what you wish to do.
http://forum.xda-developers.com/showthread.php?t=2169607
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
Geez at the rate you are helping me, I will owe you my first born soon. I'll try this when I get home from work tonight. I will let you know how it goes and any progress.
Thanks man

ahagersr said:
I'm stumbling around eating a microwave burrito and I decided to dig a little bit for you. Behold, a guide does truly exist for EXACTLY what you wish to do.
http://forum.xda-developers.com/showthread.php?t=2169607
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
Okay so the source was a god send, now I am having some issues when it comes to the defconfig. When I try to set up my tree by using the commandline below, it starts to compile but ultimately fails due to an error which I posted below that
Code:
make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- cyanogen_d2att_defconfig
Code:
OSS_COMPILE=arm-linux-androedeabi- cyanogen_d2att_defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
drivers/media/video/msm/Kconfig:123:warning: choice value used outside its choice group
drivers/media/video/msm/Kconfig:128:warning: choice value used outside its choice group
KCONFIG_SELINUX((null))
KCONFIG_LOG_SELINUX((null))
KCONFIG_VARIANT((null))
***
*** You must specify VARIANT_DEFCONFIG !
***
make[1]: *** [cyanogen_d2att_defconfig] Error 1
make: *** [cyanogen_d2att_defconfig] Error 2
I have been looking a bit but haven't found a solution that fixes my problem. In other threads people suggested that this might be due to the toolchain not being set up properly, but I added the path to the end of .bashrc
I shall keep looking but let me know if you have any ideas

aeppacher said:
Okay so the source was a god send, now I am having some issues when it comes to the defconfig. When I try to set up my tree by using the commandline below, it starts to compile but ultimately fails due to an error which I posted below that
Code:
make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- cyanogen_d2att_defconfig
Code:
OSS_COMPILE=arm-linux-androedeabi- cyanogen_d2att_defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
drivers/media/video/msm/Kconfig:123:warning: choice value used outside its choice group
drivers/media/video/msm/Kconfig:128:warning: choice value used outside its choice group
KCONFIG_SELINUX((null))
KCONFIG_LOG_SELINUX((null))
KCONFIG_VARIANT((null))
***
*** You must specify VARIANT_DEFCONFIG !
***
make[1]: *** [cyanogen_d2att_defconfig] Error 1
make: *** [cyanogen_d2att_defconfig] Error 2
I have been looking a bit but haven't found a solution that fixes my problem. In other threads people suggested that this might be due to the toolchain not being set up properly, but I added the path to the end of .bashrc
I shall keep looking but let me know if you have any ideas
Click to expand...
Click to collapse
I'm not sure. I still haven't had time to set mine up I will try to get around to it tomorrow and see if I run into the same error.
Let me know if it's something simple.
Sent from my SAMSUNG-SGH-I747

ahagersr said:
I'm not sure. I still haven't had time to set mine up I will try to get around to it tomorrow and see if I run into the same error.
Let me know if it's something simple.
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
okay after a lot of troubleshooting I may have found the issue, i think it had to do with improper pathing of my toolchain, I fixed this and now when I type
Code:
make VARIANT_DEFCONFIG=cyanogen_d2att_defconfig
I get a long compiling process that ultimately fails at
Code:
drivers/mfd/pm8921-core.c:218: error: resources_pwrkey causes a section type conflict
drivers/mfd/pm8921-core.c:218: error: resources_pwrkey causes a section type conflict
drivers/mfd/pm8921-core.c:172: error: adc_cell_resources causes a section type conflict
drivers/mfd/pm8921-core.c:172: error: adc_cell_resources causes a section type conflict
make[2]: *** [drivers/mfd/pm8921-core.o] Error 1
make[1]: *** [drivers/mfd] Error 2
Sorry for being so nooby
EDIT: Fixed by switching toolchains and compiling with 4.6 instead of 4.4.3 - when I figure out how to get past incompatibilities I will be compiling with 4.8
UP AND RUNNING, let the tweaking begin!!!!!!!!!!!!

ahagersr said:
I'm not sure. I still haven't had time to set mine up I will try to get around to it tomorrow and see if I run into the same error.
Let me know if it's something simple.
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
Okay so I finally got to build and fixed wifi not working. So far the kernel is stable cm basically. I was wondering what would be the best educational source for modifications. Like I would like to change the name of the kernel and the boot splash since when I flash this it still has the information from the previous kernel under the About Phone setting. I don't want to bother you for every tiny thing, so far I have just been looking through random files.

aeppacher said:
Okay so I finally got to build and fixed wifi not working. So far the kernel is stable cm basically. I was wondering what would be the best educational source for modifications. Like I would like to change the name of the kernel and the boot splash since when I flash this it still has the information from the previous kernel under the About Phone setting. I don't want to bother you for every tiny thing, so far I have just been looking through random files.
Click to expand...
Click to collapse
Edit your defconfig file for d2att. There's a line in there that's says something along the lines of:
kbuild_build_version
Something like that, it'll have the name of the kernel present. I believe you can also adjust it prior to building if you are running the make menuconfig command, there's a slew of stuff there, I just haven't seen it in quite a while.
Boot splashes I'm not familiar with as they didn't flash with kernels on HTC devices.
As far as an actual source, I know there are several guides specific to android here on XDA. But I've got my wife and kids at grandpa's for some old fashioned barbecue.
I'm glad to see you're making progress!
Sent from my SAMSUNG-SGH-I747

ahagersr said:
Edit your defconfig file for d2att. There's a line in there that's says something along the lines of:
kbuild_build_version
Something like that, it'll have the name of the kernel present. I believe you can also adjust it prior to building if you are running the make menuconfig command, there's a slew of stuff there, I just haven't seen it in quite a while.
Boot splashes I'm not familiar with as they didn't flash with kernels on HTC devices.
As far as an actual source, I know there are several guides specific to android here on XDA. But I've got my wife and kids at grandpa's for some old fashioned barbecue.
I'm glad to see you're making progress!
Sent from my SAMSUNG-SGH-I747
Click to expand...
Click to collapse
Thanks man. Barbeque? I'm jelly. Have fun

WELP, released my first build. Nothing to interesting, but hey its a start. The thread is here if you want to check it out (I gave you a shout out) http://forum.xda-developers.com/showthread.php?p=44179380#post44179380
Next thing is learning how to build a boot.img instead of using the zImage and kousch's AnyKernel. If I can figure out how to pack a boot.img then I can change the boot splash. There are so many threads out there but they are all device specific, have a million download requirements, or don't end up working out

aeppacher said:
WELP, released my first build. Nothing to interesting, but hey its a start. The thread is here if you want to check it out (I gave you a shout out) http://forum.xda-developers.com/showthread.php?p=44179380#post44179380
Next thing is learning how to build a boot.img instead of using the zImage and kousch's AnyKernel. If I can figure out how to pack a boot.img then I can change the boot splash. There are so many threads out there but they are all device specific, have a million download requirements, or don't end up working out
Click to expand...
Click to collapse
If you are in a hurry to pack a boot.img you can use the kitchen. It will compile a boot.img from zImage and ramdisk. I know you want to do it yourself, but it's a start.
Sent from my SAMSUNG-SGH-I747 using xda premium

stratatak7 said:
If you are in a hurry to pack a boot.img you can use the kitchen. It will compile a boot.img from zImage and ramdisk. I know you want to do it yourself, but it's a start.
Sent from my SAMSUNG-SGH-I747 using xda premium
Click to expand...
Click to collapse
Okay, i have a question for you. How do I get a ram disk. I am a little confused with the whole packaging process. All I do is I build a zImage and then get it into a flashable form using Koush's anykernel
Code:
wget http://invisiblek.org/AnyKernel_samsung-d2.zip
unzip AnyKernel_samsung-d2.zip -d AnyKernel/
cp android_kernel_samsung_d2/arch/arm/boot/zImage AnyKernel/kernel/
cp `find android_kernel_samsung_d2 -name "*.ko"` AnyKernel/modules/
cd AnyKernel
zip ../MyAwesomeKernel.zip -r *
Sorry I am so nooby to all this. It doesn't help that I don't code in C (don't worry I bought a textbook and am already reading up). Thanks for the help, I appreciate it

Related

[Q] How to cook a ROM?

I've been looking into creating my own Galaxy Nexus ROM but I can't for the life of me find out where to start. This is mainly going to be just for entertainment purposes of course.
As far as I know (which is not very much at all) I must compile the AOSP source code. The problem is I don't even know what compiling is. I don't mind if I have to learn as I have a very high interest in this and I'm possitive that I could learn fast.
Could someone please point me in the right direction to making a ROM?
I've also heard of people doing RAM optimizations,fullu deo-dexed, init.d scripts and speed optimizations. How would one go about doing that?
Any help would be GREATLY appreciated.
You have a lot of reading ahead of you.
I know there are guides for some of the things you mention at freeyourandroid.com but honestly man start reading
Android - making grown men pee sitting down since 2.0
Read the stickied post in the general forum on how to compile from source.
Also, you should really know and understand how the android system works before making a rom.
Sent from my Galaxy Nexus using xda premium
Hypercore said:
As far as I know (which is not very much at all) I must compile the AOSP source code. The problem is I don't even know what compiling is.
Click to expand...
Click to collapse
Let's start here. Do you know much about operating systems? You say you don't know what compiling is... so I take it you've never done any programming, even, say, a quick intro class in university? That's not a huge deal--I'm no programmer but I work with OSes all the time (especially Linux) and have learned a lot of scripting here and there.
I'd say start with learning about how Android works internally. Might even want to read up some on Linux if you don't know much about it, since that's the foundation.
There are plenty of guides on various forums (at least, there used to be) here, but a good place to start is to take an update .zip file and pick it apart. Start with a basic AOSP ROM, maybe, and start digging through it on your computer to see what's there and what does what.

Looking to study Kernel Development could use some pointing in the right direction.

Looks like im getting involved earlier than I planned. But other than compiling a stock kernel from source. The guides for our phone never really got finished. Looks like the international guides as well as android kernel guides in general will lend some guidance.
So if anyone can point me in the right direction. Maybe even help when i get stuck.
Guides I found for our phone:
http://forum.xda-developers.com/showthread.php?t=1291122
http://forum.xda-developers.com/showthread.php?t=1442870
http://forum.xda-developers.com/showthread.php?t=1494804
I realize the problem with leak kernels on our phone other than not having source is with recovery being part of the initramfs. After reading up on the initramfs scheme one would think we can extract modify the files and repack it into the kernel like steady has been doing.
A quick google turns up a guide for the international gs2 which i hope will help me. http://forum.xda-developers.com/showthread.php?t=1294436
Then there is things like adding init.d support which i might be able to bug sfhub about. Most importantly building cwm to be packed into the initramfs. Also learned root was a part of the kernel but had i known zimage was the kernel partition I probably would have figured. But i have yet to look at either of these since I only decided yesterday to do this.
Im going to have this phone another 1.5 years so if were losing people I mind as well shuffle my projects and do this one now. I am not looking to create and maintain a custom cwm or anything.
Ive been a pascal programmer for 14 years. I can read and translate C syntax languages. I studied C++ but never having practiced it I can not write fluently without a reference in hand. I am a bit of a linux noob i mean i have compiled kernels and drivers even a from scratch gentoo install but that was all from instructions. Its one thing to do something its different to understand it.
I wrote this from my cell phone so sorry for worse than usual spelling grammar and lack of punctuation.
Also figured in my searching looking at threads started by formerly active devs might turns up some stuff.
Chris41g had a thread in the OG Epic section perfectly titled "To the people wanting learn to code kernels and roms for the Epic" http://forum.xda-developers.com/showthread.php?t=1177076
Edit - Having some time to read before i pass out that third guide that sweetwater did for our phone is rather complete up to date and he is still hanging around.
good luck man, i hope you get up and running with this. thanks for taking the challenge. the community is lacking in the kernel area and any support is greatly appreciated, by me anyway. thanks again.
Rain can you pm me?
RainMotorsports said:
Also figured in my searching looking at threads started by formerly active devs might turns up some stuff.
Chris41g had a thread in the OG Epic section perfectly titled "To the people wanting learn to code kernels and roms for the Epic" http://forum.xda-developers.com/showthread.php?t=1177076
Edit - Having some time to read before i pass out that third guide that sweetwater did for our phone is rather complete up to date and he is still hanging around.
Click to expand...
Click to collapse
Both of the E4GT guides will work no problem and are actually pretty simple, anyone here can do it. I promise that. There are some issues though. Our EL29 source is a little funky so building with the first E4GT guide will get you a booting CWM kernel but wifi will break. After A LOT of testing we found the problem in the init.d file and the fix is in Sweetwaterburn's github source. There were several of us who built kernels(even EL29 with CWM, which is weird that everyone still uses EL26 to flash AOSP but anyways...) and a few like interloper and agat who were able to incorporate various governors. That was around the time all of the leaks started so then the kernels just kind of fell of the map because why waste the time?
Now onto the ICS stock repacks.....There is a ton of risk in testing those. Look how many bricks steady and the team rogue had not to mention team troll and random users. Why not just wait a little till source drops? Once source drops building kernels will be a ton easier. Also Calkulin and the new guy(can't think of his tag) have built unsecure stock kernels so that should satisfy all of the needs for leaks.
Here is one Agat built: http://forum.xda-developers.com/showpost.php?p=22463351&postcount=265
here is another EL29 I built: http://forum.xda-developers.com/showpost.php?p=22461146&postcount=264
Thanks DTM. I read on Steady's G+ he is definitively moving away from the E4GT as he has given it to his wife.
The amount of activity and the people involved in SweetWaterBurns thread surprised me and now that I know that I don't think people should be too worried. I mean we already know part of this is a bit of impatience.
I will still be learning for the long run. Hope to see some good things with the community thread when the ICS kernel source is out.
RainMotorsports said:
Thanks DTM. I read on Steady's G+ he is definitively moving away from the E4GT as he has given it to his wife.
The amount of activity and the people involved in SweetWaterBurns thread surprised me and now that I know that I don't think people should be too worried. I mean we already know part of this is a bit of impatience.
I will still be learning for the long run. Hope to see some good things with the community thread when the ICS kernel source is out.
Click to expand...
Click to collapse
I encourage everyone to attempt a kernel. I have no formal computer training and I just dual booted my laptop, next thing you know I was churning out kernels. We definitely need some variety in our kernel selection, I just don't advise it for the leaks unless you can afford some bricks. Because we have beast "big brother" in the international SGSII community it is pretty easy porting over some of their modifications to our source code via winmerge or copy and paste. It is also a lot less risky than messing with leaks.

why are we waiting...

Waiting for the sources that is, what are porters planning on sticking on this? Personally I want the sources to attempt to port Sailfish, only reason I bough the phone. I currently have the Nexus 5 and the OS runs buttery smooth thanks to the porters over at #sailfishos-porters
Am even wondering did I make a mistake buying this device when the Nexus 5, is more than enough omph to power the OS. But I've got it and gotta try, to atleast expand my own knowledge base.
also do you guys know how chainfire managed to build the kernel for it without the sources?
WTF?
The phone has been out for less than a month. Have some patience or start learning to develop yourself, rather than creating a useless thread, just to whine.
I got my 5x last Tuesday and forgot how little I like "pure" android. I think the usual progression is flash aosp then flash cyanogenmod once the nightlies start to stabilize. I know I'm in the minority but the nexus phones usually have too much Google on them for my taste. I like the hardware, but the software is another story.
At any rate, I'm also waiting for the binaries and device tree so that I can start building my own.
m4r0v3r said:
Waiting for the sources that is, what are porters planning on sticking on this? Personally I want the sources to attempt to port Sailfish, only reason I bough the phone. I currently have the Nexus 5 and the OS runs buttery smooth thanks to the porters over at #sailfishos-porters
Am even wondering did I make a mistake buying this device when the Nexus 5, is more than enough omph to power the OS. But I've got it and gotta try, to atleast expand my own knowledge base.
also do you guys know how chainfire managed to build the kernel for it without the sources?
Click to expand...
Click to collapse
If you knew much about how android works, you'd know that chainfire didn't make a kernel. He took the boot image and modified some fstab, prop, and sepolicy stuff, repackaged it, and released it. He didn't build his own kernel.
In any case, I'm curious about this, how long does it usually take google to release their sources?
Sent from my Nexus 5X using Tapatalk
sn0warmy said:
WTF?
The phone has been out for less than a month. Have some patience or start learning to develop yourself, rather than creating a useless thread, just to whine.
Click to expand...
Click to collapse
oh yeah Ill just go and create a kernel, and while am at it, I may as well write my own drivers. Maybe I'll call my kernel linox, and adopt this policy of sharing my source code so other people could collaborate. Maybe using some sort of version control, call Hit or something, maybe on some website called HitHub.
Yeah that sounds like a good way to develop it...Or Google could hurry the **** up and release the sources and binaries so I wouldn't have to.
Well if you read my post you'd see I was curious about what people wanted to port.
drsn0w said:
If you knew much about how android works, you'd know that chainfire didn't make a kernel. He took the boot image and modified some fstab, prop, and sepolicy stuff, repackaged it, and released it. He didn't build his own kernel.
In any case, I'm curious about this, how long does it usually take google to release their sources?
Sent from my Nexus 5X using Tapatalk
Click to expand...
Click to collapse
Not make but people have been saying it was built with forceencrypt disabled so I thought he built the kernel with that flag, (ie he had the sources). But it seems thats not the place to change it
Wow the self-entitlement is real nowadays, patience bro. You cant have everything instantly when you want it.
m4r0v3r said:
oh yeah Ill just go and create a kernel, and while am at it, I may as well write my own drivers. Maybe I'll call my kernel linox, and adopt this policy of sharing my source code so other people could collaborate. Maybe using some sort of version control, call Hit or something, maybe on some website called HitHub.
Yeah that sounds like a good way to develop it...Or Google could hurry the **** up and release the sources and binaries so I wouldn't have to.
Well if you read my post you'd see I was curious about what people wanted to port.
Not make but people have been saying it was built with forceencrypt disabled so I thought he built the kernel with that flag, (ie he had the sources). But it seems thats not the place to change it
Click to expand...
Click to collapse
timjp692 said:
Wow the self-entitlement is real nowadays, patience bro. You cant have everything instantly when you want it.
Click to expand...
Click to collapse
what to expect an open source based phone to have the sources with it?
No I know I can't have everything when I instantly want it, but really what could be the reason for the delay. Since am already pretty pissed about the force encryption.
m4r0v3r said:
what to expect an open source based phone to have the sources with it?
No I know I can't have everything when I instantly want it, but really what could be the reason for the delay. Since am already pretty pissed about the force encryption.
Click to expand...
Click to collapse
I'm sorry, but you sound like a whiney little 12 year old who is used to having everything they want RIGHT when they want it. Kind of sums up the turn this forum has taken over the past couple of years.
In the real world you'll learn that good things take time. The phrase, "patience is a virtue" holds true merit.
Offer a bounty if you're that impatient.
sn0warmy said:
I'm sorry, but you sound like a whiney little 12 year old who is used to having everything they want RIGHT when they want it. Kind of sums up the turn this forum has taken over the past couple of years.
In the real world you'll learn that good things take time. The phrase, "patience is a virtue" holds true merit.
Click to expand...
Click to collapse
Apology accepted.
bblzd said:
Offer a bounty if you're that impatient.
Click to expand...
Click to collapse
For what exactly? Someone to break in Google servers and take the source code? lol
m4r0v3r said:
For what exactly? Someone to break in Google servers and take the source code? lol
Click to expand...
Click to collapse
I'm waiting too- it's not like google is still working on the binary drivers and just building the production rom with hacked up device trees until they get the real ones. I could be mis-remembering, but in the past, I thought the factory roms and binary drivers were available the day the devices were released.
I can certainly understand being patient with devs who are working on roms (for free/beer/donations), but google is done with the rom and has already released it to production. The factory image for the 6p was delayed as well. It's not a secret- they are going to push it to every one who bought a phone. My conspiracy theory is that google is trying to bury aosp, and merging android and chrome will be another stab into the heart of both privacy and freedom.
and its outtt
m4r0v3r said:
and its outtt
Click to expand...
Click to collapse
Waiting for some real nexus thing then

Ascend XT Source code

i found this on huawei's website
http://consumer.huawei.com/en/opens...Type=openSourceSoftware&pageSize=10&curPage=1
would it aid in building AOSP for us? because i want to get started on oreo but i cant find a device tree.
Interesting. H1611 is in there (use search feature). Hoping beyond hope and wish I had more time to do something with it.
Yeah but I dont know how well it would work with Oreo. Same thing here, I don't exactly have enough time for it. Possibly sometime around Christmas I could look into it(also my computer can't compile very well, and I'm getting a new one)
im pretty sure thats the same kernel source code we have had for like i dunno 4 months or so
madvane20 said:
im pretty sure thats the same kernel source code we have had for like i dunno 4 months or so
Click to expand...
Click to collapse
so do you know if it would aid in building roms?
with building and marshmallow ya if we get a working device tree built. as for android n and above i think its gonna require a programmer thats been at this stuff for years. it might also need to be one too for device tree. ive been to busy with rl stuff havent had time to about much else
Madvane: Can you outline what you did to create a ROM based off stock? I want to shortcut it as much as possible and see if I can build a reference ROM from stock within a week. I am a Linux developer by trade (11+ years) but Android is foreign to me. I've written kernel modules before so I'm not afraid of modifying source code. The XT has great specs but it seems to slow down and lag due to bloat (Phone Manager perhaps?) How far did you get on the Lineage port? Thanks.

[molly] seeking collaborators to build Ubuntu ROM

I've begun looking into building an Ubuntu ROM for the ADT1 (molly) device. After some initial investigation, I anticipate one problem will be the kernel version. The device is on a v3 kernel, so that will limit us to an older version of Ubuntu unless we find a new kernel with the right modules and / or source. My initial goal will be to get a basic userspace with SSH running.
If you'd like to help, let me know! I've done a lot of Linux and Android dev, but it has mostly been on x86, so particularly it would be great if someone with ARM experience (especially Tegra) would help. I'll be digging into the Linux for Tegra project to see what I can get from it; it looks like the L4T version that most closely matches is E17.
(Also: long time lurker, only recent poster... so if you have suggestions on how to move forward or if I'm not following best practices, please correct me!)
doctorjei said:
I've begun looking into building an Ubuntu ROM for the ADT1 (molly) device. After some initial investigation, I anticipate one problem will be the kernel version. The device is on a v3 kernel, so that will limit us to an older version of Ubuntu unless we find a new kernel with the right modules and / or source. My initial goal will be to get a basic userspace with SSH running.
If you'd like to help, let me know! I've done a lot of Linux and Android dev, but it has mostly been on x86, so particularly it would be great if someone with ARM experience (especially Tegra) would help. I'll be digging into the Linux for Tegra project to see what I can get from it; it looks like the L4T version that most closely matches is E17.
(Also: long time lurker, only recent poster... so if you have suggestions on how to move forward or if I'm not following best practices, please correct me!)
Click to expand...
Click to collapse
Not sure on the other stuff but will be more than happy to test
ill be happy to test too
I teach CS and the new semester has kept me busy. But when things slow down I'm planning to dig into this. I anticipate the biggest issue will be with drivers for the latest versions of the Linux kernel. If I can resolve those (big if), this is probably doable.
I mean, we already have a 3.10 port mostly done https://github.com/oscardagrach/android_kernel_google_molly/commits/molly_testing - and oscardagrach also had mainline running on it a tone point (albeit we lose XUSB support, and therefore Ethernet on molly).
3.10 makes sense as a target kernel.
We had a relatively recent version of Debian booting like 2 years ago.
Project just fell off as we lost interest sadly - that kernel is a good place to pick back up though.
This is great to hear - thanks! I think we may have corresponded a bit by email before. Do you know if the version of Debian that was working was systemd based? At least on paper, systemd requires Linux 3.13, so I was shooting for what it would take to get that working. Perhaps the differences are small enough. For better or worse (not touching that debate) systemd is used by most of the recent distro releases. I was digging a bit into the Tegra Linux releases for NVIDIA too and thinking I might be able to get some insight from that.
I'm looking for this project. I Can't help develloping but I Can test. Thanks a lot
NOT asking for an ETA but just checking to see if this project is still going
Hey! I'm still working on it but I had to pause again (got busy at work). One challenge is finding a way to run an advanced enough Linux kernel to support systemd. I know some people hate it, but most modern distros are based on it. Hoping to have some time soon again!
doctorjei said:
Hey! I'm still working on it but I had to pause again (got busy at work). One challenge is finding a way to run an advanced enough Linux kernel to support systemd. I know some people hate it, but most modern distros are based on it. Hoping to have some time soon again!
Click to expand...
Click to collapse
Good deal, just wanted to make sure. I still have mine sitting by my desk
Still going to be i386 or x64? Thanks for the effort, very interested to see how this progresses. I had a lot of fun last year dabbling with the Debian build.

Categories

Resources