The future of LXC/Incus images on ChromeOS

ChromeOS users utilizing Crostini employ LXD containers behind the scenes.

ChromeOS reportedly acquires its LXD images from https://storage.googleapis.com/cros-containers, as indicated in the deprecated file run_container.sh.
I’m not sure if this is still the case as the latest LastModified date is from 2022.

Also, this remote image URL isn’t specified in crosh:

(termina) chronos@localhost ~ $ lxc remote list   
+-----------------+------------------------------------------+---------------+-------------+--------+--------+--------+
|      NAME       |                   URL                    |   PROTOCOL    |  AUTH TYPE  | PUBLIC | STATIC | GLOBAL |
+-----------------+------------------------------------------+---------------+-------------+--------+--------+--------+
| images          | https://images.linuxcontainers.org       | simplestreams | none        | YES    | NO     | NO     |
+-----------------+------------------------------------------+---------------+-------------+--------+--------+--------+
| local (current) | unix://                                  | lxd           | file access | NO     | YES    | NO     |
+-----------------+------------------------------------------+---------------+-------------+--------+--------+--------+
| ubuntu          | https://cloud-images.ubuntu.com/releases | simplestreams | none        | YES    | YES    | NO     |
+-----------------+------------------------------------------+---------------+-------------+--------+--------+--------+
| ubuntu-daily    | https://cloud-images.ubuntu.com/daily    | simplestreams | none        | YES    | YES    | NO     |
+-----------------+------------------------------------------+---------------+-------------+--------+--------+--------+

The Canonical image mirror sites (UK, US) were last updated in August 2023.

If I’m not wrong, it is not possible to install Incus in crosh without placing the ChromeOS device in developer mode. Sadly, migrating from LXD to Incus doesn’t seem to be possible.

As a ChromeOS user, I have two questions:

  1. Where can I obtain additional LXD images for distributions other than Ubuntu (e.g., Alpine or Busybox) in the future?
  2. Is it possible to use Incus on ChromeOS without nesting it inside of LXD?

The current images: remote will keep fully functioning until mid-April at least. After that, access for the LXD version used on Chromebooks is scheduled to get phased out.

It’s pretty hard to know what will happen after that. Our plan is to fully phase out LXD support on our image servers, but we are prepared to make some extensions to those deadlines where they make sense. Chromebooks may be one of those if no alternatives are ready yet.

It’s also a pretty well known fact that Google has a policy not to use AGPL license software, which LXD is now being released under. When and how this will end up affecting Chromebook users isn’t known at this point, but I’d expect something to happen sooner or later.

I don’t believe so. The termina VM that runs LXD is effectively read-only so doesn’t allow for LXD to easily get swapped out for Incus.

1 Like

As far as I know, all Chromebooks download their Debian-based images from Google’s CDN, they don’t directly consume anything from our image servers out of the box.

Our image server only gets used by those few Chromebooks users that directly interact with LXD within the VM.

1 Like