[Q] Android Porting. Why device specific? - Android Q&A, Help & Troubleshooting

Hello all!!
I'm new to Android and i'm interested in learning a bit and maybe get involved with it but there are some things that i don't get about android and can't find the answers.
My main question is why Android which is based on Linux is so hard to get updates for all devices at once?
For example we got ICS lately why it's only available for Nexus S and not for all devices that support android?
In pcs if there is a new Ubuntu version every pc can get it no matter the hardware it uses as there are drivers for it.
Is it so hard to have drivers for all the android devices?
Why do we need to wait forever for the X company that makes the phone to build a new kernel?
Is it about the libaries?The drivers?
Say i got a device that is not supported by ICS what would i need to make it supported? I got my libs from 2.3.5 can i toss them to overlay compile and works? If not y not?
Thanks in advance for your answers and sorry if my questions are too noobish, everyone has to start from somewhere

Serafym said:
Hello all!!
I'm new to Android and i'm interested in learning a bit and maybe get involved with it but there are some things that i don't get about android and can't find the answers.
1. My main question is why Android which is based on Linux is so hard to get updates for all devices at once?
2. For example we got ICS lately why it's only available for Nexus S and not for all devices that support android?
- In pcs if there is a new Ubuntu version every pc can get it no matter the hardware it uses as there are drivers for it.
3. Is it so hard to have drivers for all the android devices?
4. Why do we need to wait forever for the X company that makes the phone to build a new kernel?
5. Is it about the libaries?The drivers?
6. Say i got a device that is not supported by ICS what would i need to make it supported? I got my libs from 2.3.5 can i toss them to overlay compile and works? If not y not?
Thanks in advance for your answers and sorry if my questions are too noobish, everyone has to start from somewhere
Click to expand...
Click to collapse
1. Manufacturers don't release updates for all their devices all at once (some not at all).
2. It's ready (most stable so far) for that device (SDK ports; (almost) official update)
- Not true. If you tried to place Ubuntu 12.04 LTS on a PC with a 368 MHz and 32mb ram, it would not run .
3. Yes. Android is on devices from many different manufacturers with many different designs and hardware.
4. See here: http://en.wikipedia.org/wiki/Linux_kernel (to know what it is). Different hardware will require different commands, etc. If the manufacturer doesn't release the kernel source, development cannot be done on that device (properly).
5. Yes and yes (much more too).
6. Create a working port from some other device (with similar hardware) which is supported. Sometimes. Some versions of android have backward compatibility of those files but ICS isn't really backward compatible which is why many ports of ICS (for various devices) don't have a working camera, etc. See the 2nd paragraph here: http://www.cyanogenmod.com/blog/cm9-progress-update.

Related

[INFO] UBUNTU for any arm based devise..

ubuntu can be designed from the scratch for any arm based device .
this is just a humble request to senior devs to check it out and try to port it on our wave.
even if modem would not work for arm ubuntu it would be useful in other aspects like usb hosting, full pc based firefox experience,full doc editing,and something new that our wave would have.
htc-linux.org/wiki/index.php?title=Ubuntu/Leo
https://wiki.ubuntu.com/ARM/RootStock/RunNative
https://wiki.ubuntu.com/ARM/RootfsFromScratch
even android porting is on half stage. I think dev's are gonna handle the android thing. Maybe they will after android but Android has priority
furkey said:
even android porting is on half stage. I think dev's are gonna handle the android thing. Maybe they will after android but Android has priority
Click to expand...
Click to collapse
Well, a working Ubuntu port can be easier than the Android, as one don't have to pay attention to the modem (however determining the battery level still would be a problem...). But I run some rounds with the current kernel to make console available and all my atepts failed, I was not able to get it work... What would you do without console?
anghelyi said:
Well, a working Ubuntu port can be easier than the Android, as one don't have to pay attention to the modem (however determining the battery level still would be a problem...). But I run some rounds with the current kernel to make console available and all my atepts failed, I was not able to get it work... What would you do without console?
Click to expand...
Click to collapse
may be this may help you
https://wiki.ubuntu.com/ARM
https://wiki.ubuntu.com/ARM/n900
Hmmm i think all guys are busy in porting android and making voluntas browser etc also they have their own life so let them work on other things first.
Also did u tried ubuntu through badadroid ?? Did it worked.??

Looking for a custom ROM / drivers

Guys,
I have a CM802 Android 2.2 tablet that I would like to support external USB devices. My problem right now is that the default ROM doesn't seem to have USB host drivers, and I have no idea where to look. Can you guys point me in the right direction?
Thanks!
I don't know your hardware, but your android version should have no support for both usb host mode and USB otg. If you upgrade and hardware is ready, maybe. But very likely you'll need the kernel USB modules sources and a dev to compile them especially for that build. That's why on my se xperia x10 such feature is still missing ...
The hardware has support for it, and I don't care what version of Android I end up with, as long as there's support. I also don't mind installing them myself, but would like some direction as to where to find the modules.
have you tried going to the manufactures website?
Wrycu said:
The hardware has support for it, and I don't care what version of Android I end up with, as long as there's support. I also don't mind installing them myself, but would like some direction as to where to find the modules.
Click to expand...
Click to collapse
You will need to compile a proper kernel with support for it. There have been a few on the site that have done it for a few devices but it is not an overly popular mod
Well, I have just seen a site where they sell the android 2.3 version of the same device which seems to have the USB otg support. In any case, the first step must be one upgrading at least to android 2.3...
lucaoldb said:
Well, I have just seen a site where they sell the android 2.3 version of the same device which seems to have the USB otg support. In any case, the first step must be one upgrading at least to android 2.3...
Click to expand...
Click to collapse
the kernel would have been made to support it on that device. After building 2.3 from android source code I can say that it is not there by default.
Thanks, I agree that is not supported by default but maybe they had actually patched a kernel with those modules, though such kind of sites are not very reliable...
zelendel said:
the kernel would have been made to support it on that device. After building 2.3 from android source code I can say that it is not there by default.
Click to expand...
Click to collapse
Can you guys link me to the modules or whatever? Again, I'm perfectly willing to build the kernel from source myself, as long as I can have a little direction.
Any help? Links, information, tutorials.. whatever you can give me would be awesome, Internet <3.
Oh, and sorry for the double post.

[Q] Kernels and Android Versions

I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
shadowrelic said:
I'm not understanding how kernels and ROMs connect. Can someone give me some extra insight?
[Hardware] <-- Unique to every phone
--
[Kernel] <--- Tells the OS how to talk to the hardware
--
[ROM] <--- Slightly confused. Is the OS in the Read only Memory, or has this term changed its "street" meaning?
I understand that most ROMs (e.g. CM7 and CM9) include both the kernel and the ROM, but can you flash these separately too?
I have a 1.5 year old thunderbolt that's rooted, and has CM7 which is based on gingerbread. I believe HTC has also released the kernel as open source, which is probably the reason I have CM7
Anyway, I guess what I'm looking for is an answer/guide/forum that explains why I can't install newer versions of android onto the already working/open source kernel I'm already running. Is it accurate to view the kernel as all the phone's drivers, or just the CPU driver? If that statement is true, why can't I load ICS or Jelly Bean onto my already existing set of drivers?
I'm thinking about starting a Wiki on this if 1) it doesn't already exist, and 2) I can wrap my brain around it enough to share with others!
Thanks to anyone with a response!
Click to expand...
Click to collapse
You are correct about the ROM, but ROMs also include the kernel (if it didn't, or no kernel was flashed separately, the device would not boot). Yes, other kernels can be flashed on your existing ROM, but it's not necessarily going to be compatible.
Sort of, but there's a lot more than that. See here and here. Later versions of Android will require newer drivers,etc. which the existing kernel won't provide (they'll be outdated). Back porting and additional coding is theoretically possible, but insanely difficult (many times). Even after this some things may still not work.
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
shadowrelic said:
Thanks for the insight, I was able to get a lot deeper into this with those links. For anyone else wandering down a similar path, you might as well stop now! Here are a few links:
http://forum.xda-developers.com/showthread.php?t=1039217&page=2#17
http://www.cs.uwc.ac.za/~mmotlhabi/avmk.pdf
http://www.iteachandroid.com/2012/01/what-is-firmware-rom-and-firmware.html
So, if anyone else is still listening, I do have two more questions:
Do any phones have truly open source drivers? (a.k.a. higher probability of allowing old hardware to work with new android OS)
Is there any way to determine which phones will be supported by the custom-ROM community early on? I know the Nexus line doesn't have vendor modified code, is that the direction which would have the highest probability to stay at top of the Custom ROM curve without upgrading devices every year?
Thanks again for any insight! I hope I'm posting this in a Newb-Friendly forum!
Click to expand...
Click to collapse
For both your questions, the Nexus-line devices would be the way to go. They usually have everything working on new Android versions the soonest, and Google always releases their code, etc.
Hi
i can use linux kernel (zimage) to update android kernel if yes ,how ?
thnx

How to configure and build the kernel for samsung galaxy s iii

hello all
i like to develop since 9 years old. Actually i am 24. I don't understand well the basics of Android and propietary devices. I used to install CM on all my family's devices, but always unofficial builds and not selfKANGs. Since 1 week ago, I am trying to build the the CM's 11.0 with no luck. Then i went to official google's developers site of android, and finally i got a system compiled and ready to install.
but now, before to push the flashing key, i am doubting about all... i mean, there'r a lot of steps I havent done:
1. obtain propietary binaries from my actual installation
2. not sure about if built the correct official version or compatible for samsung galaxy s iii (gt-9300)
3. i just wanted to add support for a S3C USB Host HUB for connecting my keyboard and mouse into my S3's micro-usb port.
so, now that i have obtained a lot of curiosity about that world, i want to learn more and more... but haven't anything clear at all.
then, can you please answer me the following questions?
1. why everyone is installing CM in S3? And not official android version?
2. how can I configure and add support to my USB host hub into the correct version of the kernel for the actual 4.4 KitKat software (CM-11.0) of my S3's?
3. can you explain me why can't I compile CM-11 or CM-10.2 with my Ubuntu Server 14.04 ? Lot of errors...
I would have more time to ask and ask, but I need to stop here.
Thanks to all for all the information in the posts I have read until now. And for the future's ones.
See ya,
Abel.

Console AMlogic based computer (TV BOX) with stock android.

Hello there,
I am looking for a Android TV box with vanilla stock android. Are there any available and for sale? I tried searching everywhere but could not find any. The reason I am looking for one is, because I am looking for a development machine and deployment machine for apps. The machine will have to work with different hardware (USB) and I will have to recompile the kernel and need to modify HID drivers anytime.
Most distributions on AMlogic devices make use of custom kernels and some modifications are just plain bad and half done, not to mention the half rooted quirkiness on some devices with modified rom versions.
So is there an TV Box like device available with clean vanilla android out of the box? I really hope someone could help me with my search.
Thanks in advance and really appreciate this community.

Categories

Resources