Squashfs alternative?


#1

Hi,

Is there a way to install snaps in setups where the kernel does not support squashfs?

We have a MicroK8s user getting the following error on an 16.04 image from OVH (https://www.ovh.co.uk/):

$ sudo snap install microk8s --classic
error: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount:
       unknown filesystem type 'squashfs'

Bug on:

Thanks


#2

If your kernel supports FUSE you should be able to use “squashfuse” instead. I think there’s a bug with pure core18 systems related to that but otherwise it should work.

May I ask what kind of kernel are you using that does not support squashfs?


#3

as long as systemd-detect-virt --container doesn’t return none, and /dev/fuse exists, it’ll try to use squashfuse (or snapfuse).


#4

I am seeing this on a Pine64 Pinebook running Manjaro. I followed the instructions at this page (followed by some strange dances with /etc/pacman.d/mirrorlist so I could install pkg-config) but finally got snapd installed and built. However…

[alan@piney snapd]$ snap install wormhole
error: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount:
       /tmp/sanity-mountpoint-497649832: mount failed: Operation not permitted.
[alan@piney snapd]$ snap version
snap         2.37.4-1
snapd        2.37.4-1
series       16
manjaro-arm  -
kernel       4.20.0-1-MANJARO-ARM

#5

That’s very odd. If snapd is running as root and is getting sanity error on operation not permitted then it must be confined somehow. Is that Manjaro linux using LSM like SELinux?


#6

No idea, how do I tell? This is a recently built image from the Manjaro developers for this arm based laptop, so something may have been missed.


#7

Can you run getenforce and see what that prints?


#8

That command doesn’t exist, any idea what package on arch is responsible for providing it?


#9

If it doesn’t exist it is probably not selinux :slight_smile:

On the other hand, I have no idea. I’ve never used Manjaro.


#10

What if it does return NONE?

I’m running a Ubuntu 16.0.4 build for an OrangePi, and I think some of this core support like squash doesn’t exist.

How can I install a snap if I don’t have the ability to run the squashfs thing?
lsb_release -a prints:
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial

Does that mean anything to anyone?


#11

Does the Manjaro kernel has the SquashFS support in the first place?

Run grep SQUASH /boot/config-* might be beneficial, also check the kernel logs.