11 ms·
Let me ask a (potentially) very stupid question here: What prevents doing the same on phones? What would make a phone hardware able to install anything that co
by alnitak 10y ago
Let me ask a (potentially) very stupid question here:
What prevents doing the same on phones?
What would make a phone hardware able to install anything that compiles to its CPU architecture the same way a PC can?
- shp0ngle 10y agoI don't really understand it either. I get Windows security updates on every damn computer I buy. Yes, the computer is pre-loaded with bloat, but I still get updates like everyone else. Meanwhile, on Android, I mostly get nothing. What is so fundamentally different between PC and phone? Why is it so hard on mobile phones?
- bitmapbrother 10y agoDoes your OEM create their version of Windows? No, they ship the binaries they receive from Microsoft. As long as Android OEM's are allowed to build their own version of Android this problem will always be in the hands of the OEM.
- shp0ngle 10y agoWell they sort of do, by adding pre-installed bloat. But it's still Windows. I just wonder why that is. Maybe Microsoft has stricter licensing?
- Johan-bjareholt 10y agoThere's a pretty huge difference between modifying the os and its desktop environment compared to just adding a few extra bloated apps and some wallpapers...
- bitmapbrother 10y agoThere's a big difference between an OEM merging their source code with Google's AOSP source code and then compiling it to build an OS than just adding crapware to a Windows installation. OEM's can't modify the Windows source code and can only distribute the OS given to them.
- drvdevd 10y agoThe short answer is that phone hardware is all over the place .. x86/64 has actually made generic kernels (including Windows) possible by having a slew of very similar machines. You can't expect the same thing from ARM systems yet - each system has to be specially targeted.
- rmvt 10y agoand you also have other things such as other pieces of hardware the the os needs to talk to. this might not be part of what "android is", in it's barebones, so you can't just hope to build an updated version of the os and that's it. a lot of vendors customise their android builds, which means that they need to be the ones pushing updates. i'm not siding with google, but that's the way it is. could they have done a better job in assuring continued security updates? yes, but they were far too focused on trying to spread android everywhere they could.
- ReverseCold 10y agoNo, they're all similar enough. Only things forcing the upgrades are... - Android breaks compat with old drivers every update - HW makers only ship (often vulnerable) binary blobs.
- Const-me 10y agoThere are Windows versions that work on ARM: phone/mobile, and Win10 IoT. They update just fine, sometimes even on the major versions. E.g. my phone initially had windows phone 8.1 and now it’s windows mobile 10. And despite the phone is 3 years old, I'm still regularly getting OS updates. That’s why I don’t believe ARM hardware is responsible.
- deleted 10y ago[deleted]
- temac 10y agoIt is half-responsible, but MS did the necessary thing to achieve their capability to independently update the OS (and deliver it as binaries, instead of letting phone vendors built it from source, which MS do not want to distribute to anybody): they specified a common plateforme for ARM phones, that is, IIRC, basically ARM + ACPI. Then they mandated secure boot with keys that cannot be controlled by the user, so that other systems can not leverage the platform on W10M hw :p . (That's in the spirit of what BG wanted for ACPI: something somehow incompatible with other OSes -- MS eventually managed to do this with a sidestep, but well, this did not really help their market share :P )
- cbhl 10y agoParaphrase the question in the reverse and you get your answer: What makes this possible on Windows desktops? Stable binary driver ABI. Hardware monoculture. Expensive driver certification program. Letting hardware vendors release binary drivers without releasing the corresponding sources. An opt-out automatic update mechanism. (Disclaimer: I work at Google, but not on the Android team.)
- fauigerzigerk 10y agoSo it's Linux fault and Fuchsia is the solution, right? :)
- bighi 10y agoWhat is this "fuck sea" you're talking about and how do I sail in it?
- fauigerzigerk 10y agoIt's Google's best shot so far at provoking "Android is dead" rumours: http://www.androidpolice.com/2017/02/15/speculation-around-googles-fuchsia-os-and-andromeda-is-creating-confusion-and-misinformation/ http://www.androidpolice.com/2017/02/15/speculation-around-g... But the reason I brought it up is that Fuchsia OS will have a stable driver ABI.
- tjoff 10y agoWindows runs on many CPU architectures. Android phones are packed with binary blobs.
- bitmapbrother 10y agoWindows is one giant binary blob. Also, Android runs on many CPU architectures as well.
- ryukafalz 10y agoI think you're overstating the value of most of those things, because it's also possible on Linux desktops too. You can take a typical off-the-shelf x86 laptop, pop a disk in, and install Linux on it. IMO the key point out of the things you mentioned is the hardware monoculture, because that definitely does help people get Linux running (and keep it running) on new hardware. I'm skeptical about most of the others.
- ReverseCold 10y agoQualcomm distributes firmware blobs. Once the blob is out of date you cannot use it on a newer version of Android. (And device manufacturers do this too, but it's a ton easier to, say, fix flash with a shim than it is to fix networking.)
- thinkling 10y agoPardon my ignorance, but... doesn't Android run on top of the firmware? You're saying newer versions of Android are breaking backward compatibility with older firmware?
- izacus 10y agoAs Android evolves, you need to update drivers to keep in step with new features (pretty much the same as with Windows - you need new drivers for newer Windows usually). But as opposed to Windows, Linux kernel doesn't really have a very stable driver API and the manufacturers love to patch and mess with the kernel itself to get their hardware working. As such, porting closed-source drivers to newer Android OSes is usually impossible without support from the manufacturers. Qualcomm (by far the most popular hardware vendor for Android devices) doesn't care about supporting their released hardware.
- digi_owl 10y agoIts a bit more complicated than that. Quite often these days when a part is initialized, the driver uploads firmware as part of that. If you look at most Linux distros they have a package of firmwares that various companies have allowed to be distributed with the kernel. Meaning there is a small part of the Qualcomm blob that needs to interface with the kernel to upload the firmware. And the interface changes as the kernel changes. This because Linux devs don't want the hassle of trying to debug a kernel panic only to find that it is happening inside a third party blob, and thus they can't fix it. Instead they want companies to either work with them to maintain drivers or hand them the information needed to maintain a open driver within the kernel source.
- rsync 10y ago"What would make a phone hardware able to install anything that compiles to its CPU architecture the same way a PC can?" The reason your question is "stupid" is because you think your phone is just one computer. In fact, you can do just what you describe - and it wouldn't be that difficult - but it would only be for the application processor and you would end up with a nice PDA. In order to make phone calls you would also need to control the other two, fully functional, general purpose computers inside of your phone: the baseband processor and the SIM card. Currently, there is no way for you to control either of those in any meaningful way.[1] There are deeply entrenched economic and technical forces standing in the way of controlling your own baseband processor and we are nowhere near to doing it. [1] Osmocom on 2G phones is not meaningful, no matter how impressive and interesting it is.
- alnitak 10y agohey thanks I think you hit the point very well here. But then how about tablets for example?