89luca89 / distrobox

Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
https://distrobox.it/
GNU General Public License v3.0
10.17k stars 420 forks source link

[Feature] Add support for ChromeOS #29

Closed aghebert closed 2 years ago

aghebert commented 2 years ago

I was able to install DistroBox successfully on my Chromebook in devmode, but it can't run due to the lack of podman. Podman isn't a standard package, nor is it part of the dev_tools available to ChromeOS.

89luca89 commented 2 years ago

Hi @aghebert thanks for opening a feature request!

I don't have a Chromebook available, do you mean inside the "Linux support" machine of directly on the ChromeOS itself?

89luca89 commented 2 years ago

From what I see online you can either set this up in crostini (for example following this repository: https://github.com/maxamillion/chromebootstrap) or using the native Linux app support

aghebert commented 2 years ago

In devmode on a Chromebook, you can run a shell natively, but are limited in what you can do and run. It would be preferable to use this over a ChromeOS Linux container though since it brings better performance and integration.

89luca89 commented 2 years ago

Ah understood, I suppose you'll not be root nor have possibility to change anything in the OS So I think first we need a way to run either podman or docker or nerdctl without having root access

Reading a lot about ChromeOS but they always go either for

In any case, it is not really ChromeOS but a VM with a distro of your choice (which can be whatever is already supported by distrobox)

Else we need to find a new way to run podman/docker/containerd without having any root access.

Ideas are welcome :smiley:

89luca89 commented 2 years ago

Closing this as I see no other way to run podman/docker if not using either crouton, crostini or the Linux compatiblity VM on ChromeOS

If anyone has new ideas, let's open new issues or repoen this one :+1:

ericcurtin commented 1 year ago

By the way we just completed this, we now have ChromeOS support https://github.com/89luca89/distrobox/pull/917

89luca89 commented 1 year ago

Yep this is using the linux "mode" in chromeos It would be nice to find a way to run natively, but I fear that it won't be possible due to their kernel lockdown

ericcurtin commented 1 year ago

This is probably as close as we are gonna get, ChromeOS is very different to other Linux distributions, this is why they offer the Linux on ChromeOS thing. So you can have a standard Linux environment on your Chromebook, docker and/or podman will likely never support ChromeOS bare-metal.

But Google put huge effort into graphics and audio sharing between the guest and the host via Sommelier, etc. so it appears that the UI app is running on the host bare-metal.

It's like this specifically:

ChromeOS -> crosvm/kvm -> lxc/lxd -> Debian -> distrobox -> podman

ericcurtin commented 1 year ago

But it's actually a pretty nice monkey wrench of an OS now, as you can run Android Apps with access to Google Play Store also, built in by Google also (Android apps also use crosvm). So it arguably now has the largest app catalogue of all distros when you add distrobox to the mix.

89luca89 commented 1 year ago

Yea i agree that's the way they intend it to be used so that's the one to be officially supported :-)