6 ms·
Step -1: Forbid Linux Kernel Modules for security reasons Step 1: Require OEM's userspace drivers to use stable ABI (Android 8.0-9.0) exposed over a bus Step
by phh 5y ago
Step -1: Forbid Linux Kernel Modules for security reasons
Step 1: Require OEM's userspace drivers to use stable ABI (Android 8.0-9.0) exposed over a bus
Step 2: Require OEMs to use your way of doing secure boot chain (Android 10)
Step 3: Require OEM's kernel-space drivers to use stable ABI, and force the usage of Linux Kernel Modules (Android 11 -- we already lost the GPL here)
Step 3b: Start implementing VM support. Find a nifty marketing reason to have VMs ("Privacy Core")
Step 4: Require OEMs to use your own signed kernel (Android 12)
Step 5: Have said micro-kernel load/exec original kernel's executables
Step 5: Say that for security's-sake, it will be better of the nifty VM if its OS is a micro-kernel
Step 6: Require OEMs that your own signed kernel also runs as hypervisor
Step 7: Expose bus defined at step 1 across the VM. Use it to move various components from original kernel to the new micro-kernel, "for security reasons"
Step 8: Have said micro-kernel load/exec original kernel's kernel-space drivers (stable thanks to step 3)
Step 9: OTA kernel defined at step 4 to new micro-kernel
Step 10: Extinguished.
- ducktective 5y agoWould Google even care about EEEing Linux? I might be naive here but I think they have technical reasons to switch to Fuchsia which is an RTOS... Android phones don't have any semblance of FOSS/Linux/DIY sprint in them anyway...
- phh 5y ago> I might be naive here but I think they have technical reasons to switch to Fuchsia which is an RTOS... Nowadays, Linux's realtime is pretty good. Steven Rostedt has extensive documentations on how to "debug" realtime on Linux. You know what's the number one source of non-realtime-ness in Linux? It's parts of hardware that Linux simply can't control. He found that on many PCs, the BIOS triggers SMI (to refresh the RAM IIRC), and said SMI blocks the CPU. In case you're thinking "Surely this is an x86-only mess", well, sorry, but that's wrong. It's even worse for embedded systems with shared memory bus, where modem has higher priority over the bus, and can decides to stall any memory access made by the CPU. Switching to Fuchsia won't change much wrt real-time. (Possibly with Fuchsia, it is harder for OEMs to footgun their drivers, which would still be an improvement) I think the reason Android would switch to Fuchsia is simply that Google is too big to rely on the community, and most engineers there don't have an opensource mind, so overall it makes it more convenient for Google to get rid of 3rd parties. Yes, it is a technical reason. I agree that extinguishing is not Google's goal (which is why I didn't add embrace/extend). It is just a side-effect.
- xorcist 5y ago> it is harder for OEMs to footgun their drivers, Too little imagination applied here. They will find a way. They always do.
- zeusk 5y agoFuchsia is definitely not an RTOS, it's an embedded system of sort. I had some experience with little kernel which served the basis for zircon, so I followed the project for a bit - they have no real time guarantees from what I could tell.
- saagarjha 5y agoLittle Kernel? I mean yes, that was designed for embedded, but Google has rewritten a lot of it. What makes you think that it can’t be used for other things now?
- pankajdoharey 5y agoYou gotta have RT Scheduler to begin with in order to call it RT.
- goodthenandnow 5y agoThey have a deadline profile available for threads, and plans to implement an actual deadline scheduler. So, this is confusing.
- huibf 5y agoYou forget the part where all of this was necessary precisely because OEMs couldn't be bothered to update their drivers to work with more recent versions of the kernel.
- fsflover 5y agoOne could require FLOSS drivers instead, so the community would have a possibility to update them later. This is exactly how it works on GNU/Linux phones, Librem 5 and Pinephone.
- monocasa 5y agoI'm not sure how switching to a more permissive driver model and licence where now you won't even get the source to these drivers will make the situation better.
- phh 5y agoWhich kernel is latest high-end Pixel running? Three years ago, gregkh did a presentation about LTS in Android. Guess who was using latest LTS kernels. Google? Nope. Sony and Essential are who. Guess who upstreamed support for their phones in Linux kernel? Google? Still nope, again it's Sony. How long was Pixel 1 supported? Ah yes, a whopping 3 years. (Same for Pixel 2 I believe). Who does better? Fairphone (circa 100 overall employees, and not many are software engineers), and nVidia. Guess who provides major kernel upgrades? Sony (but not Google-certified sadly), and nVidia. So far, Google hasn't shown any sign they are more capable than average OEMs to upgrade my devices.
- user-the-name 5y agoReplacing an existing solution with a solution that better fits your requirements is not "Embrace, Extend, Extinguish", it's just good engineering. Google doesn't have an obligation to use Linux. Linux doesn't offer what they need, so they stopped using it.
- huibf 5y agoMost of the people who complain about stuff like this are those who run custom, degoogled Android ROMs and think they are entitled to Google's work forever.
- phh 5y agoIt's technically true that I run custom degoogled Android ROM. However, I'm MAKING my own Android ROM. I actually do the job Google implied they would do when they announced Project Treble with Android 8.0 (which is actually providing working new Android versions on older Android vendors). I'm guessing you don't know my project, so I'm making GSIs, which make Android's Project Treble actually usable to thousands of various devices. If you take Google's Project Treble as-is, you get /at best/ something that is not even a smartphone (you get no in-call audio, assuming you get calls at all, because it doesn't provide VoLTE support). I'm making it actually daily-drivable. Many users are saying that I'm doing Google's job there, and even some Googlers said so. But of course, it's not in Google's nor the OEM's best interests to do that, which is way this job needs to be done by other people. Also, I sent dozens of patches to AOSP, with very very small success rate. (While my contributions to Linux were pretty smooth) But yes, I'm entitled to Google's work.
- izacus 5y ago> But yes, I'm entitled to Google's work. I'm pretty sure Google will disagree on that :P
- phh 5y agoMy line could have been misinterpreted, and I'm not sure how I'm supposed to interpret yours, so I'll explicit it just in case, because my previous post can be understood both ways: No, I don't feel entitled to Google's work, the quote was sarcasm. My point of showing my contributions is that I can do stuff on my own, that I'm happy that Android is opensource, and I do my best to contribute to it, in the opensource spirit. But if it stops being opensource, then so be it (it'd be a bigger shot in the foot for Google than for me anyway), I'm not simply leeching on Google's back, like previous comments assumed.
- gman83 5y agoHow would Google switching their platform's kernel from Linux to Fuchsia "extinguish" Linux? I'm pretty sure we'll be fine without Google.
- fsflover 5y agoGoogle can use its monopoly position to force everyone from Android/Linux.
- scoopertrooper 5y agoCan they though? How would they even do that? The whole concept behind Android is to extend the reach of Google's advertising and service offerings into the mobile ecosystem. This largely depends on them having the goodwill of the phone manufacturers in not de-googling their distributions. How would Google feel about Samsung switching the default search engine to Bing?