5 ms·
Google still needs to replace literally millions of LoC in the Linux kernel from hardware vendors like Qualcomm before they can actually ship a real functional
by steelframe 8y ago
Google still needs to replace literally millions of LoC in the Linux kernel from hardware vendors like Qualcomm before they can actually ship a real functional phone.
- mda 8y agoIf they limit their hardware choices (like Apple) it is actually not -that- difficult.
- Bombthecat 8y agoWasn't there a rumor that Google wants to build there own CPU?
- derefr 8y agoMaybe Fuchsia uses a lobotomized Linux kernel, together with such firmware blobs, as a (likely sandboxed) monolithic multi-driver?
- pm90 8y agoHow hard is it to rewrite drivers? Or is the problem that companies do not write others write these drivers?
- simcop2387 8y agoPretty hard, not only is it nearly impossible to get documentation for some of the hardware, even if you get it it'll usually be under some kind of NDA which means you can publish the driver. Then there's all kinds of errata and hardware quirks that aren't going to be in the documentation (maybe in future updates to the documentation) it ends up a full time job for multiple people to maintain just a single driver for a few products.
- hermitdev 8y ago> it'll usually be under some kind of NDA which means you can publish the driver. Did you mean cannot publish?
- simcop2387 8y agoYep, missed that when reviewing the comment and it's now too late to edit.
- hermitdev 8y agoNo worries. Seemed like that's what you meant, but just wanted to clarify.
- pkaye 8y agoThe code for the Fuchsia kernel is available. It doesn't seem derived from Linux.
- Redoubts 8y agoIt would be surprising if Fuchsia followed linux by not having a stable ABI for drivers. Setting up a stable interface would make it easier for Google to label that "not my problem."
- pjmlp 8y agoAndroid has a stable ABI for drivers since Treble, which kind of forced Linux into a pseudo-microkernel architecture, allowing for user space drivers written in either Java or C++, communicating over the HIDL messages/shared mem.
- xg15 8y agoWeren't they working on a sort of unified "hardware abstraction layer" for Android anyways? - Which would put all the vendor-specific code "below" the kernel and would allow them to reuse the same OS image on different devices. In that case, the Fuchsia kernel could just be another "client" to that layer. (just speculating here, no idea if that is in any way what they're planning)
- izacus 8y agoWhy would they? Since 8.0, Android is fully separate from Linux kernel through its so-called Treble layer (see https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html https://android-developers.googleblog.com/2017/05/here-comes... ) and doesn't really need Linux or POSIX sematics for its functionality.
- pjmlp 8y agoSince Treble's adoption was rather low, given that it was optional when updating from Android 7, one of the decisions on Android 9 was to make it even more independent with the introduction of Generic System Image. https://android-developers.googleblog.com/2018/11/an-update-on-project-treble.html https://android-developers.googleblog.com/2018/11/an-update-...
- izacus 8y agoWhat do you mean by low adoption? Every device launching with 8 has to support it.
- pjmlp 8y agoAbout 12% worldwide adoption, about when Android 9 got released. OEMs got around Treble certification by releasing mostly devices with Android 7 on them. And given that OEMs were the ones supposed to push Treble updates not Google, even those that released devices with 8 weren't that active pushing them. Which has finally made Google include some update requirements on the Play Services access.