[Q] Android kernel programming - General Questions and Answers

Hi All
I am a newbi to kernel programming , especially to android kernel.
Can you tell me some good places on the net , that can be great sources for getting in touch with that thing.
I want to become familiar with the android kernel , dalvic etc. ( I speak english and german )
thanks in advance.
Sz_gergo

I am too interested in this subject. I am learning slowly as and when I get time.
kernelnewbies.org
Generally good resource for starting out learning linux kernel
(Which is what the android is built off of)
android.git.kernel.org
Android Kernel Source
lwn.net/Kernel/LDD3/
Online guide to driver development among many other related topics.
pdk.android.com
This guide provides an under-the-hood introduction to the Android platform, and is designed for platform developers and manufacturers building Android-powered devices.
Sorry for not providing the links...xda won't allow me to post links since I have less posts.

Android kernel
Dear All
as i understand, the android kernel source, what you can download from Google , should be enough for building a new kernel to some phone.
If i am right, does that mean that the Linux kernel sources are already included?
Or am i totally wrong?
Thanks for your answers

I am also interested in learning the Kernel Development and ROM development. Can Any one Help.

sz_gergo;11673408 begin_of_the_skype_highlighting 11673408 end_of_the_skype_highlighting said:
Dear All
as i understand, the android kernel source, what you can download from Google , should be enough for building a new kernel to some phone.
If i am right, does that mean that the Linux kernel sources are already included?
Or am i totally wrong?
Thanks for your answers
Click to expand...
Click to collapse
I have the answere for the question above.
After i have inspected the Android kernel sources, it came out, that i have been right.The only source you need for creating a new kernel for a phone, is the complete android kernel.
The linux kernel is allready included.
I think if you want to build a kernel, specific for your phone. you have to overwrite the default dirs with the specific sources of your phone. If it is not allready done by others.

Android Kernel
Hi,
We need to distinguish between Linux and Android. Android was forked from Linux, and now those are managed as separate products. Android usually takes the updates from linux, but there are features in Android which Linux refused to get (such as wakelocks).
So the android kernel source includes all needed to build a working kernel.

Related

General instruction on how to build firmware for Android devices?

Is there any source/ help/ instruction that I can check out to learn how to design/build Android OS for any supported devices? I would like to learn to see if I can build the firmware for my Eken M0001 using the latest Android version.
i think theunlockr.com has a guide of some sort. i would look there!
Code:
android-dls.com/wiki/index.php?title=Compiling_for_Android
This should get you up and running if you are somewhat familiar with the whole Linux thing. If not I would start out by learning how to compile the kernel and some standard libraries for a regular X86(_64) distro. The approach is pretty much the same, only compiling for android requires a lot more work with cross-compiling and getting a working set of standard libraries for arm.
Oh, and sorry about the link thingie. The administrators of this forum are obviously weak minded and have come up with some totally brain-dead limitations for new users. (A new user is not allowed post links , a good RP system would beat that hands down anytime)
Thanks for the info. I will check those links out.

Compiling Android + Kernel from Source.

Hi there,
Now, I understand that there's a thread or two and a few web pages directed at compiling Android and its kernel from source.
However, the thread in question is months old, and didn't fully explain the process.
As for the web pages, they are mostly outdated and don't include enough information, not to mention desire specific instructions.
I think that, properly explained, building Android shouldn't be daunting, and everyone should be able to attempt it, if they wanted to.
So, I hope to compose a comprehensive guide on how to do just that.
The problem is that I myself have not been able to put enough instructions together to be able to complete a build. And there is no point digging up old threads.
So, If anyone who knows the ropes (that is, compiling android and a kernel from source) would be willing to lead the way, I'd happily turn it into an easy to understand guide.
Josh.
fllash said:
Hi there,
Now, I understand that there's a thread or two and a few web pages directed at compiling Android and its kernel from source.
However, the thread in question is months old, and didn't fully explain the process.
As for the web pages, they are mostly outdated and don't include enough information, not to mention desire specific instructions.
I think that, properly explained, building Android shouldn't be daunting, and everyone should be able to attempt it, if they wanted to.
So, I hope to compose a comprehensive guide on how to do just that.
The problem is that I myself have not been able to put enough instructions together to be able to complete a build. And there is no point digging up old threads.
So, If anyone who knows the ropes (that is, compiling android and a kernel from source) would be willing to lead the way, I'd happily turn it into an easy to understand guide.
Josh.
Click to expand...
Click to collapse
I followed this guide here and successfully compiled a modified HTC Kernel and I had very little Linux and Android experience.
Obviously instead of cloning the Cyanogen git, you just use the gits you wish to compile
Mekrel said:
I followed this guide here and successfully compiled a modified HTC Kernel and I had very little Linux and Android experience.
Obviously instead of cloning the Cyanogen git, you just use the gits you wish to compile
Click to expand...
Click to collapse
Thanks for the link
Though i don't fully understand the whole 'git' thing. Where do i find them? And how to i know which ones are the ones i want to use?
Josh
EDIT: Also, how do you 'edit' the kernel (i imagine it is somewhat like make menuconfig?). Also:
- Are these sense kernels?
- How do you add modules like OC and UV?
fllash said:
Thanks for the link
Though i don't fully understand the whole 'git' thing. Where do i find them? And how to i know which ones are the ones i want to use?
Josh
EDIT: Also, how do you 'edit' the kernel (i imagine it is somewhat like make menuconfig?). Also:
- Are these sense kernels?
- How do you add modules like OC and UV?
Click to expand...
Click to collapse
A git is a repository for source code, developers upload their source code there and can commit changes. The commit can allow descriptions of what was changed and also details the files changed.
The git system allows other people to add to the source if they have permission, or allows others to read the changes and download the source code.
Git links are usually posted by people who release software, as Android is GPL licensed so people have to release their source code if they're distributing their work.
Editing the kernel, take a look into the git and the commits and it will show you which files were changed and how exactly they were changed. That will give you the best understanding.
UV/OC is done by changing the acpu table in the architectures files and changing the minimum/maximum voltage figures in the board_bravo.c file.
The Cyanogen kernels are not Sense kernels no, it's a modified Google Kernel.
Thanks for the explanation. I followed the guide and built the rom, and it works (always a plus )
Now, the next thing is the kernel. How do I build a kernel with the CM tweaks integrated? I understand that all i would be doing is rebuilding the same one that is already installed, but im doing it to learn.
So, if i synced the GIT, does that include the CyanogenMOD kernel source? If it does, where is it and how do i rebuild it. If not, where do i find it?
Thanks,
Josh.

porting cm to a new device - whats needed and difficulties

Hey,
i'm just curious about what the title describes. First of all.
What do i really need:
-kernel sources
-binary blobs (extractable)
-recovery / boot.img (extractable)
Let us just talk about the fairphone 2. Additional to the things mentioned we get the full source code of the OS (which i do not need?).
Where do the difficulties lie? For my understanding we just take the kernel sources, the official cyanogenmod (e.g.) source code, the binary blobs and the recovery / boot.img.
How difficult would it be to port Cyanogenmod to the fairphone 2.
Why is it difficult to port a device with existing (again cyanogenmod just as an example) cyanogenmod to a newer Cyanogenmod (Android) version?
I ask this to estimate/evaluate/judge (don't know the right term) the effort needed to do this. I think i'd be able to do that if i put enough work into it (i "speak" c and java), but i just need some answers.
Especially for example why it is more difficult to port Android 6 instead of Android 5 (which is the currently running Android version)
Thanks!
bigCrash
Has nobody an answer? Just one?
Im specifically interested in why it is more difficult to port e.g. cyanogenmod if there is only an older version of stock android and how important the kernel is? Why do we need kernel sources? Can't one just self-compile a kernel.
Where are the limits if i have a device running 4.2. Why can it possibly run 5.1 but not 6? Is the kernel limiting? Or only the effort to realize such a thing.
Thanks!
bigCrash

Some questions regarding Android ROM Development and Kernel Development

Hi, I'm completely new in Android ROM development and want to get into it. I have a Moto G Turbo and a old Moto E 1st gen.
So I had some question regarding Android ROM development. I may sound completely noob which I am, but still if you help me by answering my question or at least referring to some links then I'll be helpful. And please only answer if you are confident about what you are saying.
1> I understand that Android is open source, so basically we can download and build it. What does it take to make that boot on a particular device?
2> Android is based on linux kernel. So we need a kernel source too. I found this, https://github.com/MotorolaMobilityLLC/kernel-msm, is this the kernel source for moto devices? I am confused because I can find only one repository although it must different repositories for different devices.
3> If we have a kernel source for the device, can we build any ROM like AOSP or AOSP-CAF and boot it in our device? If not why?
3> I have a good knowledge of C although I am still learning. How do I start developing or porting ROM? I am specially interested in PURE AOSP.
I don’t know but you might find a lot of tutorials in non-device-specific threads. And I think there’s a guide on how to build lineage 13 for osprey
This thread could be helpful:
https://forum.xda-developers.com/showthread.php?t=2073370&page=1

Best tablet for custom android development?

Hi,
I‘m looking for a tablet as a development platform for gettting into custom android firmware development. What device (current or discontinued) is the most painless to compile a custom rom for with a current android regarding unlocking and driver support in 2021?
I‘m an electronics engineer and have worked on firmware for arm microcontrollers and did some kernel development for embedded linux (yocto) before.
I have the idea of creating an open source custom android for elderly people and small children that is pretty much locked down and has a simplified interface without cryptic messages. All settings, app installation and user support should be done from an app on another device. I think all the building blocks for this exists, I just want to put them together in one package. If you have suggestions for an existing base rom to build this on I‘d be happy to hear about it.
Cheers,
Rick

Categories

Resources