Something which I think falls under this topic, but I’ve not seen discussed widely, is the requirement for certain kernel features to be enabled (regardless of distribution).
I know that trying to make an exhaustive list of those would be a fool’s errand, but here are a couple that I came across on a recent adventure with a Moxa device:
- SquashFS support is required in order to mount snaps. This is not always provided out of the box, but can be installed as a module
- The ptmx device is required (enabled by the CONFIG_DEVPTS_MULTIPLE_INSTANCES kernel option). This is thankfully almost always enabled by default - but if not, requires kernel recompilation.
Not sure what the best way is to capture points like these (and how much detail to go into), but figured I’d throw it out there.
On a somewhat related note, the (soon to be updated?) Debian page https://docs.snapcraft.io/core/install-debian states
Note: Raspbian is currently not supported due to missing features in the kernel shipped.
That’s not necessarily true; I’m currently running snaps on stock Raspbian (stretch), and others are too, with only minor side effects.