Google is bringing Fuchsia OS to Android devices, but not in the way you’d think

4 months ago 53
Google Logo Stock Photo 2023

C. Scott Brown / Android Authority

TL;DR

  • Google is working on “microfuchsia,” a stripped down version of the company’s Fuchsia operating system that runs on the Google Nest Hub.
  • Microfuchsia is designed to run in a virtual machine, and Google seems to be experimenting with doing just that on Android devices.
  • It’s not clear why Google wants to do this, but one theory is that it’ll run some workloads more optimally and securely than microdroid.

Google is responsible for the development of two of the world’s most popular consumer-focused operating systems: Android and Chrome OS. But behind the scenes, it’s actually been steadily working on a third operating system called Fuchsia OS. Ever since Fuchsia first reared its head, it’s been the subject of much speculation, including theories and predictions that it’ll eventually replace Android. While that seems unlikely at this point in time, Google is continuing to test Fuchsia out in new and interesting places. Most recently, it’s been working on building a stripped-down version of the OS that’ll run on a virtual machine on Android devices.

Fuchsia OS is an open-source operating system much like Android and Chrome OS. Unlike the latter two, however, Fuchsia isn’t built on top of the Linux kernel. Rather, it’s built on Zircon, which Google says is “composed of a kernel and a small set of userspace services, drivers, and libraries necessary for core system functions such as booting.” Zircon’s “microkernel-like architecture” allows Fuchsia to “reduce the amount of trusted code running in the system” to just a few core functions, which can lead to improved security and stability due to a reduction in the amount of highly privileged code compared to typical “monolithic” kernels.

Zircon kernel services

Rumors from mid-2018 suggested that Google had ambitious plans to ship Fuchsia OS on smartphones, PCs, and smart home devices. While the alleged goal to eventually replace Android and Chrome OS with Fuchsia still seems incredibly far off (if not canceled altogether), Google did successfully launch the operating system onto smart home devices, starting with the first-generation Nest Hub in 2021. The team then successfully updated the larger Nest Hub Max and second-generation Nest Hub to Fuchsia OS, making them the second and third devices, respectively, to run the operating system.

To evolve Fuchsia beyond smart home devices, Google has been working on projects such as Starnix to run unmodified Linux binaries on Fuchsia devices. In addition, since late April of this year, Google has been working on a new project called “microfuchsia” that aims to make Fuchsia bootable on existing devices via virtualization. Microfuchsia, according to Google, is a Fuchsia OS build that targets virtual machines and is designed to be bootable in virtualization solutions such as QEMU and pKVM.

pKVM is the hypervisor for the Android Virtualization Framework (AVF), a feature that Google introduced in Android 13 on select devices. Google developed AVF and pKVM to run certain types of workloads in an isolated environment securely. To execute these workloads, Google created a heavily trimmed-down version of the Android OS called “microdroid” that contains the bare minimum of core Android services, tools, and libraries.

Android Virtualization Framework architecture

Although not confirmed, it’s possible that Google intends for microfuchsia to be deployed and used in a similar manner as microdroid. In other words, Google could intend for microfuchsia to handle tasks that the host operating system — in this case, Android — needs to be executed securely. Microdroid already serves this purpose, but it’s possible that microfuchsia will do things faster or more securely (or both).

Patches were recently submitted to the Android Open Source Project (AOSP) that lay the groundwork for a new APEX file that’ll contain microfuchsia. APEX is the file format used by Project Mainline to package system components, and an APEX file is what holds all the binaries related to AVF on supported Android devices. While the com.android.microfuchsia APEX file isn’t available yet, the references to its existence in AOSP and the code found in the Fuchsia Gerrit are quite interesting in and of themselves.

We can only speculate right now what Google plans to do with microfuchsia, but we’ll keep an eye out to see if this project actually takes off.

Got a tip? Talk to us! Email our staff at [email protected]. You can stay anonymous or get credit for the info, it's your choice.

Read Entire Article