Snapcraft not working in opensuse thumbleweed

I have the same error I used to have on Fedora: Snapd not working on Fedora 41 beta

but now with thumbleed:

user@localhost:~/.local/bin> sudo snap install hello-word --edge
[sudo] password for root: 
error: system does not fully support snapd: cannot mount squashfs image using "squashfs": -----
       mount: /tmp/syscheck-mountpoint-2644714221: wrong fs type, bad option, bad superblock on
       /dev/loop0, missing codepage or helper program, or other error.

       dmesg(1) may have more information after failed mount system call.

       -----

Anyone has any idea how to fix it?

grep squashfs /proc/filesystems doesn’t return anyting as expected.

Loading modprobe then trying snap doesn’t work either:

user@localhost:~/.local/bin> sudo modprobe squashfs
user@localhost:~/.local/bin> sudo snap install hello-word --edge
error: system does not fully support snapd: cannot mount squashfs image using "squashfs": -----
       mount: /tmp/syscheck-mountpoint-3392391960: wrong fs type, bad option, bad superblock on
       /dev/loop0, missing codepage or helper program, or other error.

       dmesg(1) may have more information after failed mount system call.

       -----

Can you cat /etc/os-release ? I’m on 20250508 and everything seems to be working fine. Are you using SELinux by any chance?

edit:

maciek@carrack:~ grep squashfs /proc/filesystems
        squashfs

edit2:

FWIW I’m using kernel-default (kernel-default-6.14.5-1.1.x86_64 right now specifically), and kernel-longterm.

I have the same configuration as yours: version 20250508,

grep squashfs /proc/filesystems
	squashfs

I am using SELinux I think:

> sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      34

For the kernel I am on 6.14.5-1-default

I see. Yes, that might be the problem, snapd natively supports apparmor sandbox on openSUSE, but not so much SELinux at this point.

The Fedora packaging ships with a SELinux policy for the snapd, but the snaps themselves are not quite confined as they essentially end up running in your user context or as a unconfined service. There is no native support in snapd for generating sandbox profiles for snap applications yet. This is entirely different when using AppArmor on openSUSE, which using the mainline kernel, is very close support wise to Ubuntu carrying additional not-yet-merged kernel patches and you’re really only missing some minor features of the sandbox.

I would like to update snapd packaging such that we ship the selinux policy like we do on Fedora, but haven’t had the time to work on this yet.

Ho right thanks for checking! Do you know how to change SELinux for Apparmor in case it doesn’t get fixed :)? I’m not so knowledgeable in this so any pointers would be appreciated!

You can try looking at opensuse wiki, perhaps this could be helpful: https://en.opensuse.org/How_to_switch_from_SELinux_to_AppArmor_in_Leap_16 should apply to TW as well.

1 Like