Hello everybody,
I am pretty new to the forums and want to learn how to make my own ROM. However, I want to learn how to do it from scratch. I have been reading the AOSP pages and my current knowledge is that I understand a bit about the Kernel and about the HAL. My question is about drivers. From my understanding Android's Kernel contains the driver for your particular device. Do I have to obtain a Samsung Kernel for a custom ROM for the S6 and S6 Edge from Samsung? Or can I simply find the Samsung drivers for each different model and integrate them into the standard Android Kernel (and tweak the driver to fix any bugs that come along the way). The Kernel distribution really confuses me. I feel as if every OEM should have to provide an archive of drivers in order to use Android to make the AOSP stronger. Am I constrained to Samsungs Kernel explicitly?
Related
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.
A bit of infos before starting this thread. I'm using a Samsung Galaxy S4 Canadian, I have a high end computer(maybe that helps for coding,stuff like that) and I have "medium" knowledge on rooting/flashing,etc. I am a great designer, well for myself, I think i'm good. So I can edit or create icons and themes for new rom!
I say medium, because the only thing I really know about this kind of stuff,is rooting,flashing,installing roms and pretty much that honestly.
I already downloading the Android SDK to test those custom roms i'd like to create. I thought of doing like a couple of guys on here, using the CM Source? and just adding stuff,etc.
--
What i'm looking to do, is creating a rom based of CM for the Galaxy S4 and just in general a little side project for myself and adding some infos in my head; Some may laugh because of the lack of knowledge, but hey! we all started somewhere
I'm asking the community of dev's or just users, do you have some threads or some stuff to download to "Start" this project ?
Some things I should read before, I won't test rom's on my phone as it's a daily phone, i'll use the emulator instead(AVD or SDK) and i'm already searching on how to run it.
If you have any useful youtube videos i'll gladly accept them
I found a tutorial on how to build a rom but for the Nexus 4, I guess it's the same process but different sources ?
I'll search for the sources of Cm for the Galaxy s4 but if anyone reads this thread and knows where to get it, please link me!
Thanks to the community, this may also be useful for other users. Thanks!
Okay, I will help
1st off, let me teach you some basics.
1.) You cannot test roms on the android sdk, the android sdk has nothing to do with roms, its for building apps and java programming. It will not help you with anything if an issue goes wrong in a rom, well only the adb (android debugging bridge) for taking locats.
2.) You cannot compile a rom on windows, only linux, preferably ubuntu. So you need to just download cm11 for your device and extract the rom zip.
I will tell you more later, but its like 1pm here Goodnight
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
Hi,
So I've been getting into android the past month and really started liking it. I have however some questions about how an android (or Linux) operating system works. I also have some questions about how the Kernel and the OS work together and what I need to know about it before I start learning more about and getting into developing.
1. Does the Kernel command the OS or the other way around?
2. Can I create a custom Kernel specifically for an OS?
3. How much experience do I need to create a custom Kernel and is it phone specific in the sense that if I make Kernel A for phone A will it be easier to create Kernel B for phone B?
I'm not native speaking, so please ignore any grammar issues.
I'd love to hear something from you all!
Kind regards,
Pinnekeshaar
pinnekeshaar said:
Hi,
So I've been getting into android the past month and really started liking it. I have however some questions about how an android (or Linux) operating system works. I also have some questions about how the Kernel and the OS work together and what I need to know about it before I start learning more about and getting into developing.
1. Does the Kernel command the OS or the other way around?
2. Can I create a custom Kernel specifically for an OS?
3. How much experience do I need to create a custom Kernel and is it phone specific in the sense that if I make Kernel A for phone A will it be easier to create Kernel B for phone B?
I'm not native speaking, so please ignore any grammar issues.
I'd love to hear something from you all!
Kind regards,
Pinnekeshaar
Click to expand...
Click to collapse
Hello,
1) Yes
2) Yes
3) You really need to have an in depth knowledge of your device, linux kernel and you should know how to use git. Depending on how you want to get started, you can add more governors, hotplugs, upstream updates and more..
Regards
Vatsal,
Forum Moderator.
Thanks for your reply and also aswering my questions. I have no more questions.
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