dependency of user space on kernel version - Android General

Regarding community mods' efforts on porting ICS to all these devices that have no official ICS support (yet), I wonder why so many hardware does not work (see e.g. status of lg optimus 2x p990.
1.) Does ICS depend on so many new kernel features, that they can't use the old kernel of Android 2.3.x?
2.) Howcome the drivers in the 2.3.x's kernel are not available? The kernel is GPL, isn't it? So by distributing phones with Android, the manufacturers have to open-source their drivers. Is there no central Android kernel repository? Why don't they get drivers upstream?

Looks like you need to join this:
https://groups.google.com/forum/?fromgroups#!searchin/android-kernel/relation$20between$20android$20version$20and$20kernel

thorstenhirsch said:
2.) Howcome the drivers in the 2.3.x's kernel are not available? The kernel is GPL, isn't it? So by distributing phones with Android, the manufacturers have to open-source their drivers. Is there no central Android kernel repository? Why don't they get drivers upstream?
Click to expand...
Click to collapse
Correct, but they don't always do it -.-
Sent from my ice cream powered Nexus S

Related

[Q] Android kernel programming

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.

Newbie dev questions

Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
First off this is a Q&A question, not a dev section issue...
1) Not really...
2) These are typically kernel issues...
3) yes they do, check the CM7 Nightly thread
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
1. In general for Linux, there are 2 types of drivers, kernel space drivers and user space drivers. The Kernel space drivers are available via kernel source dump from manufacturers, however, the user space drivers are often proprietary so they are released as binary only. In case for G2x, the current official release from LG is Froyo, so often time, CM7 is hacked to work with Froyo user space drivers until an official GB version is released.
2. Because of #1, often times, CM7 team has to work around the limitations they have by writing new code. The new code is not tested as thoroughly as major manufacturers QA department (a whole team of professional testers) so CM team release their nightly builds to serve as open public beta to hammer out bugs for the newly released workarounds/patches. It's amazing what CM team has done without access to all the necessary files and sources.
3. Google Apps are proprietary Google software, so no source code will be available to them (until Google decides to open source their apps, which is 100% their right and decision). Because Google holds the rights to their software, they also have a say in the distribution of their software. CM originally bundled Google Apps with their CM releases, but Google decided not to allow a major independent team to bundle their software and sent CM a legal letter asking them to stop. Ever since, CM team decided to release just a bare AOSP portion without Google Apps. I have followed CM's example and also does NOT bundle Google Apps with my Hybrid AOSP ROM.
Thanks a lot!
Sounds like I'd better build a Froyo ROM first.
For #3, I learned that I can download Google Apps binaries provided by CM team. My question is: where did CM team get the binareis?
faux123 said:
1. In general for Linux, there are 2 types of drivers, kernel space drivers and user space drivers. The Kernel space drivers are available via kernel source dump from manufacturers, however, the user space drivers are often proprietary so they are released as binary only. In case for G2x, the current official release from LG is Froyo, so often time, CM7 is hacked to work with Froyo user space drivers until an official GB version is released.
2. Because of #1, often times, CM7 team has to work around the limitations they have by writing new code. The new code is not tested as thoroughly as major manufacturers QA department (a whole team of professional testers) so CM team release their nightly builds to serve as open public beta to hammer out bugs for the newly released workarounds/patches. It's amazing what CM team has done without access to all the necessary files and sources.
3. Google Apps are proprietary Google software, so no source code will be available to them (until Google decides to open source their apps, which is 100% their right and decision). Because Google holds the rights to their software, they also have a say in the distribution of their software. CM originally bundled Google Apps with their CM releases, but Google decided not to allow a major independent team to bundle their software and sent CM a legal letter asking them to stop. Ever since, CM team decided to release just a bare AOSP portion without Google Apps. I have followed CM's example and also does NOT bundle Google Apps with my Hybrid AOSP ROM.
Click to expand...
Click to collapse
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
I've written a good guide for building cm7. (link in my signature)
Sent from my LG-P999 using XDA Premium App

[Q] Noob development question

I don't know a whole lot about how android phones work so this is probably a stupid question.
If the android operation system code is open source and available for anyone to download what's stopping people from putting pure AOSP goodness on any given phone? Is it the kernel or bootloader or what?
Fe_Man said:
I don't know a whole lot about how android phones work so this is probably a stupid question.
If the android operation system code is open source and available for anyone to download what's stopping people from putting pure AOSP goodness on any given phone? Is it the kernel or bootloader or what?
Click to expand...
Click to collapse
from my understanding it has to be completely recoded or whatever to run on the hardware of a new phone, I think Cyanogen and crew just supply the base and framework to build on... but yes its out there for anyone to try and port, typically takes a team of devs with different specialties
blazing through on my VZ Droid Charge 4G
Kernel, RIL, and potentially a number of other things.
Just like drivers has to be ported for Linux on any PC (if the company didn't already code one for it), drivers has to be ported to a pure AOSP ROM from a TouchWiz source (which is still Android-based).
Most company-applied UIs to Android are deep in the system, therefore, you can't just take some files and put it into an AOSP ROM and have it magically work (known as kanging from another ROM), but you have to write in some stuff and build it specially for AOSP before it works.

Essential prerequisites for X2 Android development [Crowdsourcing]

There is 3 packages needed for any device for an original Android development:
Android source tree, preferably the original as with OEM devices but CyanogenMod or independent ports are enough too. Aka device
Kernel sources for the device. Aka kernel
Vendor proprietary drivers, which make the GPU and various sensors work. If not explicitly available for download they need to be extracted from a running device. Aka vendor
If these three packages are all available, making new roms will be easy for developers. Please co-operate to gather all of them here to be a resource for android developers.
If we could achieve this goal, I would port the Ubuntu OS for Nokia X2 and share it here with you
====
Progress:
Android source tree
No known instant or effort.
Can anyone contact to Microsoft mobile and get the Android source tree for Nokia X2 and upload it to Github?
Kernel sources
here is kernel source code for Nokia RM-1013 2.0.0.11: https://github.com/danialbehzadi/Nokia-RM-1013-2.0.0.11
Due to Microsoft mobile statement, there is no difference in kernel between 2.0.0.11 and 2.1.0.13.
DONE! :good:
Proprietary drivers
Thanks to T4ufik_Hidayat, Here is vendor packages: https://github.com/cm-nokia-x2/proprietary_vendor_nokia_ara
DONE! :good:
Nice effort
You are our only hope
As we have no real devs for this device and the device wasn't released globally, u r our only hope. I request u to build the kernel with device tree that we need so much to port any real android rom like AOSP , please. Frozentears was working on that, You can contact him as well.
Again, I request you, please make us a custom kernel so that we noobs can start porting KitKat/Lollipop for our beloved X2DS, u r our only hope because we see no other developer here for this device.
danialbehzadi said:
There is 3 packages needed for any device for an original Android development:
Android source tree, preferably the original as with OEM devices but CyanogenMod or independent ports are enough too
Kernel sources for the device
Vendor proprietary drivers, which make the GPU and various sensors work. If not explicitly available for download they need to be extracted from a running device.
If these three packages are all available, making new roms will be easy for developers. Please co-operate to gather all of them here to be a resource for android developers.
If we could achieve this goal, I would port the Ubuntu OS for Nokia X2 and share it here with you
====
Progress:
Android source tree
No known instant or effort.
Can anyone contact to Microsoft mobile and get the Android source tree for Nokia X2 and upload it to Github?
Kernel sources
here is kernel source code for Nokia RM-1013 2.0.0.11: https://github.com/danialbehzadi/Nokia-RM-1013-2.0.0.11
Due to Microsoft mobile statement, there is no difference in kernel between 2.0.0.11 and 2.1.0.13.
DONE! :good:
Proprietary drivers
No known instant or effort.
Does anyone know how to extract it? Can anyone contact to Microsoft mobile and get them and upload it to Github?
Click to expand...
Click to collapse
Here is for proprietary https://github.com/cm-nokia-x2/proprietary_vendor_nokia_ara
for Android source tree, try to use CyanogenMod.
maybe you can help people to make the complete rebuild of CyanogenMod with full fixed from bugs
danialbehzadi said:
There is 3 packages needed for any device for an original Android development:
Android source tree, preferably the original as with OEM devices but CyanogenMod or independent ports are enough too. Aka device
Kernel sources for the device. Aka kernel
Vendor proprietary drivers, which make the GPU and various sensors work. If not explicitly available for download they need to be extracted from a running device. Aka vendor
If these three packages are all available, making new roms will be easy for developers. Please co-operate to gather all of them here to be a resource for android developers.
If we could achieve this goal, I would port the Ubuntu OS for Nokia X2 and share it here with you
====
Progress:
Android source tree
No known instant or effort.
Can anyone contact to Microsoft mobile and get the Android source tree for Nokia X2 and upload it to Github?
Kernel sources
here is kernel source code for Nokia RM-1013 2.0.0.11: https://github.com/danialbehzadi/Nokia-RM-1013-2.0.0.11
Due to Microsoft mobile statement, there is no difference in kernel between 2.0.0.11 and 2.1.0.13.
DONE! :good:
Proprietary drivers
Thanks to T4ufik_Hidayat, Here is vendor packages: https://github.com/cm-nokia-x2/proprietary_vendor_nokia_ara
DONE! :good:
Click to expand...
Click to collapse
https://github.com/cm-nokia-x2/
android_kernel_nokia_msm8610-kernel source
proprietary_vendor_nokia_ara-vendor
android_device_nokia_ara- device(boardconfig.mk, other configs)
And here is the manifest
https://github.com/cm-nokia-x2/android_local_manifest

[Q] Propietary drivers when compiling xoom's kernel

Hi,
I'm just starting to learn about how to compile and tweak a Linux kernel for Android devices. I'm using my old Xoom for testing. I've read a lot of tutorials/guides to build a kernel for Android, also I searched in the git history of the other kernels developed for the xoom (thanks for the developers!!) and I have a question that I can't answer. Maybe some of the kernel developers can answer it. What about the xoom's propietary drivers?
Basically I followed this guide https://source.android.com/source/building-kernels.html in order to get a kernel's image. Then I tested it and the Xoom boots and Android loads ok. Nowhere something about proprietary drivers is mentioned (https://developers.google.com/android/nexus/drivers#wingray). Are these drivers already loaded in the sources you can download from the first link?
The matter with the proprietary drivers is a lack of must guides and I want to know what's going on with drivers when you build the kernel sources for tegra devices.

Categories

Resources