Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Are there any technical or others reasons why Android is still a firmware and not an OS which can be just installed without a lot of hassle?

Why there is no universal image which could detect appropriate drivers (kernel modules), partition NAND in some standard way and configure boot loader to boot updated OS version?

What stops Google from making a real (less firmware-like) OS (an OS for small ARM, x86 etc. devices)?

share|improve this question
I'm really curious. That strange Google's behavior harms google itself (they get dissatisfied customers who bought already outdated device, don't get revenue on app sales ('old' device owners just can't buy stuff which requires new firmware), they force hardware vendors to make their own firmwares (and vendors just sиck at customizing Android)) – Alex Bolotov Mar 7 '12 at 6:04
It's worth noting that this isn't exclusive to Android, other OS's that focus on ARM devices (even Microsoft's Windows 8 RT) can't just be installed on any other ARM machine, but are treated more like firmware. – GAThrawn May 3 '13 at 9:32
It's the header files:… – Thufir Dec 11 '13 at 15:18

Other people than Google are working on porting it to the x86 platform already. If you check out the Android-x86 Project you can see various builds available albeit for a limited number of hardware devices. I tried to download a couple of the images and get them running in VirtualBox on my computer (CrunchBang Linux based on Debian on Dell Latitude D520) but couldn't get it to load. You might be able to, though. GL!

share|improve this answer

Google's ongoing lawsuit with Oracle!

Google does have a plan for bringing Android to PC's - but it's not quite what you are envisioning: Google wants to add the Android execution environment to Chrome. Android could -with a lot of work - by made to be installable on PC's, but bringing it to Chrome instead means it could be easily deployed to 25% of all computers immediately (25% being Chrome's ~ market share).

If you don't believe me, look at the smoking gun e-mail that Google is currently fighting to keep out of lawsuit - it refers to Google needing Java for Chrome.

I'm not suggesting that Google is going to suddenly drop Java if they lose the lawsuit - they are way too far committed to Java to do that - but they would like to at least know what the terms of using Java are going to be before they take a step that would significantly increase their dependence on it.

share|improve this answer
Google just suffers from bad decisions made long time ago by Android Inc. That was such a horrible idea to use Java for app development on NEW OS. Wasn't it obvious enough that Java is just a proprietary trap and they even don't need it to make non-java VM bytecode for Dalvik. I guess they just have traitors in management that explains everything. – Alex Bolotov Mar 7 '12 at 20:34
It would seem that adding the Android execution environment to Chrome might not be that hard if this is anything to go by... - Android apps running on a Windows desktop! – Captain Toad Apr 19 '12 at 20:39
Do you have any evidence for all of this, or are you just speculating wildly? – Dan Hulme Jul 4 '13 at 8:42
Certainly, much has changed since I wrote this answer. Most importantly was Pachai replacing Rubin and associated re-org at Google. All the signs seemed to change after that, and IO13 was much different than IO12: clearly they are now pushing Chrome as a mobile platform in-of-itself, so I no longer believe they will bring Android to Chrome. – Tom Jul 4 '13 at 15:18

In order to provide what you seem to be asking for, an additional layer (or a more robust)of abstraction would have to be added to the operating system so that it would be less tightly coupled to the hardware. Adding this would require more memory and consume more CPU cycles on a platform that has little of either to spare.

share|improve this answer

What stops Google from making a real OS (an OS for small ARM, x86 etc devices)?

It is a "real" OS.

Why there is no universal image which could detect appropriate drivers

How do you detect drivers that don't exist? Someone has to write them. Unlike PCs, phone hardware varies wildly, largely because it isn't feasible for end users to construct their own from parts and size constraints. Customized parts instead of interchangeable ones and special chipsets mean very specific drivers are needed, and an OS can't just ship default ones. Imagine the bloat as well — someone with a cheap HTC phone with 20 MB for apps doesn't have room to host drivers they don't need.

and configure boot loader to boot updated OS version

Bootloaders also vary wildly between devices; you'd have to get all the manufacturers on board in order to use a single one, and manufacturers are unlikely to want to give up their power in that area.

share|improve this answer
… but they could make distribution with very modular kernel and then install just needed stuff. PC hardware also varies from pentium with buggy CMD640 IDE to Core i7 with usb3. They could make installer which reads VendorISs:DeviceIDs from existing OS on device and then just compiles kernel on QEMu and then just transferes it to device with new stuff. I guess you right even if it's possible for a person to just use menuconfig to make good enough kernel for specific device, that is hardly can be made automatically by some script. – Alex Bolotov Mar 7 '12 at 6:28
@OleksandrBolotov: Bear in mind that the Linux kernel also contains a large number of open source driver implementations that are compiled when you run a build. The vast majority of the drivers used by mobile devices are proprietary, so even although you certainly can build Android from source for any device given enough time, you'd have to implement all the drivers. In addition, Google may run afoul of intellectual property agreements if they did this themselves (I don't know for certain but it may certainly be in their contracts with various manufacturers). – eldarerathis Mar 7 '12 at 14:23
@OleksandrBolotov I certainly agree that they could do something to mitigate the issues, but we can only assume that the issues are why they don't ;). I think speculating further would be beyond our scope. – Matthew Read Mar 7 '12 at 18:09
Yes, tl;dr it's a driver issue. Someone has to make the drivers. – Bryan Denny Mar 8 '12 at 14:54
By design, or the perfect scenario per se, the kernel would contain all the drivers, while the Android OS is universal, both could be flashed separately, or flashed together in a bundle as stock firmware (which we see a lot today). If the kernel was separated from OS, could we be able to flash kernel-less AOSP directly onto any device that has its manufacturer kernel flashed first? Maybe this already exists? Idk – Aaron Gillion Mar 11 at 21:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.