this post was submitted on 11 Oct 2024
597 points (98.4% liked)

Linux

48364 readers
791 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Google is developing a Terminal app for Android that'll let you run Linux apps. It'll download and run Debian in a VM for you.

...

Engineers at Google started work on a new Terminal app for Android a couple of weeks ago. This Terminal app is part of the Android Virtualization Framework (AVF) and contains a WebView that connects to a Linux virtual machine via a local IP address, allowing you to run Linux commands from the Android host. Initially, you had to manually enable this Terminal app using a shell command and then configure the Linux VM yourself. However, in recent days, Google began work on integrating the Terminal app into Android as well as turning it into an all-in-one app for running a Linux distro in a VM.

...

Google is still working on improving the Terminal app as well as AVF before shipping this feature. AVF already supports graphics and some input options, but it’s preparing to add support for backing up and restoring snapshots, nested virtualization, and devices with an x86_64 architecture. It’s also preparing to add some settings pages to the Terminal app, which is pretty barebones right now apart from a menu to copy the IP address and stop the existing VM instance. The settings pages will let you resize the disk, configure port forwarding, and potentially recover partitions.

...

If you’re wondering why you’d want to run Linux apps on Android, then this feature is probably not for you. Google added Linux support to Chrome OS so developers with Chromebooks can run Linux apps that are useful for development. For example, Linux support on Chrome OS allows developers to run the Linux version of Android Studio, the recommended IDE for Android app development, on Chromebooks. It also lets them run Linux command line tools safely and securely in a container.

you are viewing a single comment's thread
view the rest of the comments
[–] IsusRamzy@lemmy.ml 6 points 1 month ago (1 children)

Interesting... but well.. Android isn't rooted, so will it use chroot or something like that? Or it will use a whole another kernel, complete VM?

[–] DasSkelett@discuss.tchncs.de 11 points 1 month ago (2 children)

Well, the summary pasted in the post mentions "VM" about a dozen times

[–] IsusRamzy@lemmy.ml 3 points 1 month ago (1 children)

That's a bad move of Google, this has no reason at all!
Chroot/docker will use a more practical way to run Linux, as Android is just a Linux distro, why bother with running a whole another kernel!

[–] Markaos@lemmy.one 1 points 1 month ago

A reasonable build of the kernel optimized for virtualization won't take more than a few tens of megabytes of RAM (and it will have support for memory ballooning, so the virtualized kernel will give the memory it doesn't need back to the host), and the userspace will need to be separate anyway due to how different Android is to normal Linux distros.

Containers are nice when you want to run dozens of separate services on the same server or want to get the benefits of infrastructure as code, but in this case they would provide minimal benefits at the cost of having no way of loading any kernel modules not built into whatever ancient kernel version your SoC manufacturer decided you have to use on your phone. Also, container escape vulnerabilities are still a bit more common than full VM escape, so this is also good for security on top of being more useful.

[–] Trainguyrom@reddthat.com 1 points 1 month ago

For what I've read and heard mentioned by engineers when I worked for a phone manufacturer, Android already heavily uses virtualization. If I remember correctly it does that for the A/B partitions for updating, as well as for the multiple user support. But I'm very open to anyone with closer experience to the Android kernel than I have chiming in with better specifics