Home fails to mount 'not canonical' - btrfs filesystem | Bazzite | rpm-ostree

Hi,

Please help me debug this issue. I have a fresh Bazzite install that is failing to boot and dropping into emergency mode. It appears to be a problem with mounting the Home directory but I cannot for the life of me work out the issue and cannot find any reference to it on Google at all.

Error:

(1)(deck@steamdeck 01)$ sudo journalctl --file log/journal/07539163d32f495a9649f62afb952db2/system.journal -g home
May 03 14:11:00 fedora kernel:     HOME=/
May 03 14:11:07 fedora systemd-fsck[1923]: home: clean, 103491/14403584 files, 41615345/230451456 blocks
May 03 14:11:07 fedora systemd[1]: home.mount: Mount path /home is not canonical (contains a symlink).
May 03 14:11:07 fedora systemd[1]: home.mount: Failed with result 'resources'.
May 03 14:11:07 fedora systemd[1]: Failed to mount home.mount - Home Partition.
May 03 14:11:07 fedora systemd[1]: Mounting var-home.mount - /var/home...
May 03 14:11:08 fedora systemd[1]: Mounted var-home.mount - /var/home.
May 03 14:11:08 fedora systemd-tmpfiles[2189]: "/home" already exists and is not a directory.
May 03 14:11:11 fedora systemd[1]: home.mount: Mount path /home is not canonical (contains a symlink).
May 03 14:11:11 fedora systemd[1]: home.mount: Failed with result 'resources'.
May 03 14:11:11 fedora systemd[1]: Failed to mount home.mount - Home Partition.
May 03 14:11:11 fedora systemd[1]: home.mount: Mount path /home is not canonical (contains a symlink).
May 03 14:11:11 fedora systemd[1]: home.mount: Failed with result 'resources'.
May 03 14:11:11 fedora systemd[1]: Failed to mount home.mount - Home Partition.

fstab:

# /etc/fstab
# Created by anaconda on Fri May  3 12:01:25 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=a1f467d0-d033-4a49-ab12-62e6388ddc16 /                       btrfs   subvol=00,compress=zstd:1 0 0
UUID=d25fe35c-5dc2-420e-a3a2-746b86296438 /boot                   ext4    defaults        1 2
UUID=FEF9-3E2F          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=a1f467d0-d033-4a49-ab12-62e6388ddc16 /var                    btrfs   subvol=01,compress=zstd:1 0 0
UUID=a1f467d0-d033-4a49-ab12-62e6388ddc16 /var/home               btrfs   nofail,subvol=02,compress=zstd:1 0 0

This btrfs partition can be mounted just fine manually:

(130)(deck@steamdeck tmp)$ sudo mount -t btrfs -o subvol=02,compress=zstd:1 UUID=a1f467d0-d033-4a49-ab12-62e6388ddc16 /tmp/bazhome
(deck@steamdeck tmp)$ cd /tmp/bazhome/
(deck@steamdeck bazhome)$ ls
seb
(deck@steamdeck bazhome)$

Thanks!

You would be better served asking the Bazzite folks on their Discourse forum :

The reason I say this, is because if it’s a bug in their build they should know about it and hopefully fix it. If it’s not, they can still give you more direct support.

Removed installation

Added rpm-ostree

Agreed.
Note that Bazzite seems to use numeric subvol names (00, 01, and 02 are examples) while fedora uses a literal name (root, home, var, etc.) This may not impact the question, but since it is related to mounting subvolumes it might.

1 Like