List of Kernel & architectures available to use for Json model Assertion


I’m a total newbie with snapd and Ubuntu Core, I only tried to make a Ubuntu Core image.
To do so I found that I need to create a Json File describing the model assertion.

This file contains different properties about the system like the architecture, the version of the kernel, and others.
I was wondering if somewhere there is a list of these available architectures and kernel version, like if I want to Build a MIPS based system how can I know if ubuntu core support this architecture ?

Create your own Ubuntu Core image tutorial

List of Architectures

Also I found that cross compilation of snaps is only supporting : amd64, i386, armhf and 64, ppc64el and s$.

The list of the supported architectures today is: s390x, ppc64el, arm64, armhf, amd64, and i386. Funnily enough we’d noticed that it wasn’t listed anywhere obvious and it’s in the queue of edits landing in the docs soon.

As MIPS is not a supported architecture, right now, there are no core, no bases, no kernels, no gadgets, nothing, for it to reference in a model assertion.
A lot of the tools used for snap systems are written in Go, and we know they work with 1.9 (which is the newest Go available in all distributions we ship to) and 1.10 (which is the newest Go available in all the Ubuntu versions we ship to). Go only supports MIPS from 1.13 AFAIK, so there might be some issues there that we haven’t addressed yet.

the articats of Ubuntu Core (the core/core18 snaps, gadgets and kernel) are currently created by using binaries from the Ubuntu archive … while there is no fancy lists of architectures anywhere at the moment, lists all build architectures for ubuntu archive packages at the top right.

as there are no mips binaries at all in the ubuntu archive, the result is that you can also currently not build an Ubuntu Core core/ore18 snap to have a proper rootfs.
(i know there has been work done in the past to support other distro core snaps … particulary fedora, so you could look for a distro that supports mips and use a self assembled base/core snap from there, but this also means you are building core from scratch and will require a lot of work and a steep learning curve … if you are still interested, i think @Conan_Kudo has some experience here since he worked on a “fedora based core”)