Can Fedora immutable (Kinoite) home folders be accessed from another Linux?

I am using Fedora 35 Kinoite in multi-boot with Kubuntu (and Windows), and it runs great.

One thing I am used with in dual boot is that Linux folders can be accessed from another Linux system installed on the same machine. The fact that in this way some bad changes made in system files can be corrected is of no interest here, given no such changes would occur in an immutable system.

I wasn’t expecting system folders of the immutable system to be accessible from a different Linux, but I am used with having some degree of access to home folders. Such access could be of useful in case the system fails somehow. I don’t expect that will happen in Kinoite, and this limitation won’t stop me from using this Fedora system, but it’s good to know that those files and folders (let’s say downloaded files) would not be available from another Linux system (installed in dual-boot or running in live session).

Is this the case?

(Let’s say I have some files that I can only print or process on Kubuntu: it’s good to know whether I have to put them on another drive etc.)

From Kubuntu no home folder is accessible, all I see is this:

By default, Silberblue/Kinoite create a separate btrfs subvoume for the home folder.

You need to mount the subvolume then your home folder will be accessible.

Hello @cipricus ,
In order to share your home folder, if you did a default Fedora Linux 35 install, you would have been left with an efi-boot partition, an ext4 partition, and a btrfs partition. On the btrfs partition all of the system and user data is stored under two subvolumes mounted as (root) = /, and home = /home. Technically if Kunbuntu uses BTRFS filesystem, it would be as easy as choosing the existing /home subvolume as the /home of the Kunbuntu installation, but that may get messy with the two distro’s writing there. My suggestion would be to create a third subvolume (it won’t cost you anything in storage until you use it) maybe mounted as /data or something similar that you can then create a mount point for in both distro’s to use for data sharing as you please. The added benefit you get is that you can back it up near instantly with a btrfs snapshot and btrfs send/receive to sync data between the shared mount and your snapshot, effectively turning the snapshot into a builtin backup of your data.
The link to BTRFS info Btrfs - Fedora Project Wiki

1 Like

I don’t want to have home folders written by different Linux systems anyway.

For sharing data between Linux systems I have large separate partitions in ext4 format, so I don’t really need a new subvolume for that. But I wanted to know if what I have in Fedora’s “Downloads” for example could somehow be accessible from Kubuntu in the way Kubuntu’s folders are accessible from Fedora.

I don’t really know what a subvolume is, how exactly these entities present on the same partition can be mounted at different mount points (I thought only partitions are to be “mounted” etc.) and how to do that in Kubuntu for a Fedora subvolume, given the fact that in Kubuntu I see just what the posted image shows (all folders except ostree seem empty).

2 Likes

I am ignorant about ‘subvolumes’ - from the other post I guess they are not partitions but locations on the same partition mounted on different mountpoints (I may be wrong here…)

How could I mount a such entity in Kubuntu? I usually mount partition and then their folders are accessible.

https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs(5)#MOUNT_OPTIONS

I am not sure about Kubuntu.

The command line option is
mount -o subvol="subvol path" /dev/sdXY "Mount Point"

1 Like

For ease of understanding, a subvolume is roughly equivalent to a partition in that it can be mounted and used as a file system. The difference is at system level and is managed somewhat different than we are used to with ext4 file systems but otherwise is similar.

A btrfs volume is roughly equivalent to an LVM volume group and the subvolume is roughly equivalent to an LVM logical volume.

2 Likes

I understand that I need to mount Kinoite’s home folder in Kubuntu and I want to try that command there. But I have no idea what the mount point is that I have to use

Trying to identify Kinoite’s home-subvolume mount-point:


$ findmnt -nt btrfs
/          /dev/sda5[/root/ostree/deploy/fedora/deploy/f7e8f898e52a79661db54a60164070e9a5db61d9c484a044d87c065e378215d7.0]     btrfs  rw,relatime,seclabel,compress=zstd:1,ssd,sp
├─/sysroot /dev/sda5[/root]                                                                                                    btrfs  rw,relatime,seclabel,compress=zstd:1,ssd,sp
├─/usr     /dev/sda5[/root/ostree/deploy/fedora/deploy/f7e8f898e52a79661db54a60164070e9a5db61d9c484a044d87c065e378215d7.0/usr] btrfs  ro,relatime,seclabel,compress=zstd:1,ssd,sp
└─/var     /dev/sda5[/root/ostree/deploy/fedora/var]

and


$ sudo btrfs subvolume list /
[sudo] password for cip: 
ID 256 gen 2373 top level 5 path root

Based on that, what is the specific line to use in Kubuntu in order to mount Kinoite’s home-subvolume?

For a default setup, Fedora will create a separate home subvol.

You can try to mount
mount -o subvol=home /dev/sda5 /mnt/tmpmount

(Make sure /mnt/tmpmount already exist )

You can list the subvols of of your current root by

sudo btrfs subvol list /

How to mount the Kinoite “home” subvolume in Kubuntu? Please see my other reply.

As said in previous comment:

$ sudo btrfs subvolume list /
[sudo] password for cip: 
ID 256 gen 2373 top level 5 path root

But oddly the command you advise doesn’t work:

root@cip:/home/cip#  mount -o subvol=home /dev/sda5 /mnt/tmpmount
mount: /mnt/tmpmount: mount(2) system call failed: No such file or directory.
root@cip:/home/cip# mount -o subvol=home /dev/sda5 /mnt/tmpmount/
mount: /mnt/tmpmount: mount(2) system call failed: No such file or directory.
root@cip:/home/cip# mount -o subvol=home /dev/sda5 /media
mount: /media: mount(2) system call failed: No such file or directory.
root@cip:/home/cip# mount -o subvol=home /dev/sda5 /media/
mount: /media: mount(2) system call failed: No such file or directory.
root@cip:/home/cip# mount -o subvol=home /dev/sda5 /media/cip/
mount: /media/cip: mount(2) system call failed: No such file or directory.
root@cip:/home/cip# mount -o subvol=home /dev/sda5 /media/cip
mount: /media/cip: mount(2) system call failed: No such file or directory.
root@cip:/home/cip# mount -o subvol=home /dev/sda5 /home/cip/Fedora_mount
mount: /home/cip/Fedora_mount: mount(2) system call failed: No such file or directory.
root@cip:/home/cip# mount -o subvol=home /dev/sda5 /home/cip/Fedora_mount/
mount: /home/cip/Fedora_mount: mount(2) system call failed: No such file or directory.

All those directories for mount point do exist.

The folder as the mount point must be created first.

You don’t have a home subvol, only root

1 Like

The folder as mount point is there. The problem was that I

The error given in terminal when trying to mount subvolume home was misleadingly saying the mountpoint folder was absent.

(Odd thing: with a command like mount -o subvol="subvol path" /dev/sdXY "Mount Point", where the mount point exists but the subvol path is wrong, the error No such file or directory given is misleadingly referring not to the wrong subvol path but to the mount point.)

Mounting root instead of home is useless as it only gives the same access as mounting the Fedora partition.

I guess this configuration of Fedora is too unfriendly for dual-boot and I have to go back to a more familiar one.

Thanks for the feedbacks.

I misunderstood the message. I got it now.

Another way to explore is to mount the “root subvol" to a mount point, so that you can browse the while btrfs tree.

mount -o subvol id=5 /dev/sda5 /mnt/tmpmount

1 Like

Hello @cipricus ,
I think some of the issue is that Kunbuntu is I think using an ext4 filesystem wheras Fedora Linux uses btrfs. So, also to note, what you are trying to do is not the default for either distro, but people are doing it today and some multi boot, so it can be done. It will require you to do some custom partition scheme.
On the topic of BTRFS, it doesn’t assign the entire space of the physical media to usage, so free space is really freely available partitionable space, after the fact of installation. If we compare this to ext4, it is immediately apparent that growing a filesystem with it is problematic since when it is created the size allotment is fixed.
So to your original question yes those folders can be mounted since they are in the mutable part of the Kinoite install. The Kunbuntu you have installed will very likely have BTRFS capabilities since it has been a part of the Linux Kernel for over a decade.
FWIW at this point here is what I would do in your situation if you care.

  • Verify what I currently have as partitioning on my system.
  • Determine what I desire for the dual boot arrangement (ie what are the requirements of both distros for default partitioning as they document).
  • If both use different filesystems as default, then determine where if any overlap in usage happens.
  • Hand draw my layout in tree form to visualize it (can be skipped, but I like to look it over).

So as @dalto noted, you currently have one subvolume for all, which seems odd, but meh :man_shrugging:. You can still quite easily go from here to having a dual boot with another distro. If you want to dig into it I would suggest we start another topic, just let me know here.

1 Like