For the past week, I’ve been trying to switch my /home partition from my 500GB nvme to my 1TB sata ssd. I’ve been asking and receiving help from people in my previous post, but I keep hitting wall after wall in making it work and I seem to be missing a step.

Big thank you to @[email protected], @[email protected], for replying to my comments and helping me along.

Previous post:

I finally installed Linux, but I’m having a mixed experience

Context:

OS: Fedora Linux 39 (KDE Plasma) x86_64
Kernel: 6.5.6-300.fc39.x86_64
DE: Plasma 5.27.8
WM: Kwin
CPU: AMD Ryzen 5 5600X
GPU: Nvidia Geforce GTX 1660

I have a 500GB nvme which I want to have my entire / stored within. And I have a 1TB sata ssd which I want to have my /home to be stored in. I’ve tried many of the steps some helpful people here on lemmy have detailed, and though it’s gotten me closer to getting it right, but I still can’t seem to login when I switch my fstab.

Allow me to go through every step I’ve done so far.

I reinstalled fedora, hoping I could separate my /home in the installer. No such luck, anytime I switched my /home partition into the 1TB drive my entire root directory would follow it. I decided to do the auto install on my nvme and do it manually when it’s fully installed.

So just to be clear I am starting from a clean install nothing except neofetch and vim installed.

I created two new directories directly in /. They were /new_home and /old_home.

I formatted my 1TB disk, partitioned it, and then formatted the partition into an ext4, 931.5 G partition.

I mounted it to /new_home

NAME        FSTYPE FSVER LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                 
└─sda1      ext4   1.0          f56df020-2420-4b0c-af4d-2c4c6a56a0b0  718.4G    16% /new_home

From here I ran the command sudo rsync -a /home/adelie/new_home. this is why the current available space is 718.4G. I also added a new file to /new_home called confirm.txt in order to tell which was which at a glance.

I check the permissions and ownership of both /home and /new_home with ls -la they were identical.

adelie@localhost-live:/new_home$ ls -la /new_home

total 8
drwxr-xr-x.  3 root   root   4096 Feb 27 11:06 .
dr-xr-xr-x.  1 root   root    204 Feb 25 21:13 ..
drwx------. 15 adelie adelie 4096 Feb 27 11:11 adelie
adelie@localhost-live:/new_home$ ls -la /home

total 0
drwxr-xr-x. 1 root   root    12 Feb 25 21:01 .
dr-xr-xr-x. 1 root   root   204 Feb 25 21:13 ..
drwx------. 1 adelie adelie 348 Feb 27 11:25 adelie
adelie@localhost-live:/new_home$ 

The story is the same inside the $USER files, the files and directories are identical and so are there permissions and ownership.

I added /dev/sda1 to fstab to auto boot both drives.

UUID=d5877671-6a39-4d96-9a2a-514b6007a59b /                       btrfs   subvol=root,compress=zstd:1 0 0
UUID=ed92de40-2403-4365-9b5c-eb10d519757c /boot                   ext4    defaults        1 2
UUID=02E9-123A          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=d5877671-6a39-4d96-9a2a-514b6007a59b /home                   btrfs   subvol=home,compress=zstd:1 0 0
UUID=f56df020-2420-4b0c-af4d-2c4c6a56a0b0 /new_home               ext4    defaults        1 2

At this point I haven’t changed the boot path for /home yet. When I rebooted, everything worked as expected. When I entered the KDE login screen it let me go into my desktop when I inputted my password correctly.

After this I decided to swap them.

UUID=d5877671-6a39-4d96-9a2a-514b6007a59b /                       btrfs   subvol=root,compress=zstd:1 0 0
UUID=ed92de40-2403-4365-9b5c-eb10d519757c /boot                   ext4    defaults        1 2
UUID=02E9-123A          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
UUID=d5877671-6a39-4d96-9a2a-514b6007a59b /old_home                   btrfs   subvol=home,compress=zstd:1 0 0
UUID=f56df020-2420-4b0c-af4d-2c4c6a56a0b0 /home               ext4    defaults        1 2

When I entered into the KDE login screen, anytime I inputted my password correctly it would kick me back to the login screen within the second. At this point I assumed it was a KDE issue and that I was missing a step in order to login correctly.

I read a comment explaining TTY, and that I should try logging in from there to confirm if it was a KDE issue or not. When I tried it I ended up with this.

Fedora Linux 39 (KDE Plasma)
Kernel 6.5.6-300.fc39.x86_64 on an x86_64 (tty3)

Localhost-live login: adelie
Password:
Last login: Tue Feb 27 xx:xx:xx on tty3
 -- adelie: /home/adelie: change directory failed: Permission denied
Logging in with home = "/".

From my root account I checked /home and /old_home, and /home contained confirm.txt, meaning that everything mounted properly, I then changed the fstab back to what is was originally.

This is where I’m at now.

I’m totally lost on what step I missed. I’d like to get this working in order to actually be able to use my computer, as I am committed to changing my /home directory before making any major changes or installs. If anybody has any idea on what I missed please feel free to pitch in.

*Update: The issue was SELinux. My SELinux contexts were bad and were denying me access to my own data. I reset the context with this command, restorecon -Rv /home/

I’d like to give a big thanks to,

/u/[email protected]; for pointing out SELinux as a possible issue.

/u/[email protected]; for providing the command to fix this issue.

/u/[email protected]; for being so patient with me, and helping me go through the list of possible issues.

  • agent_flounder@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    8 months ago

    FWIW it is doable :) since I have Fedora (37) and a separate /home and / device. Btrfs in my case.

    How did you deal with the home sub volume?

    I will edit this with hopefully useful info about my fstab etc. in a few min…

    — okey dokey —

    Here’s my fstab. I had to comment out the home subvol and mount /home

    UUID=02b32afc-3e05-412b-8781-xxx /                       btrfs   subvol=root,compress=zstd:1 0 0
    UUID=e82e80a8-b169-4127-90ad-xxx /boot                   ext4    defaults        1 2
    UUID=D358-0ADF          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
    #UUID=02b32afc-3e05-412b-8781-xxx /home                   btrfs   subvol=home,compress=zstd:1 0 0
    /dev/disk/by-uuid/7b194608-a407-4c2c-a0d8-xxx /home auto nosuid,nodev,nofail,x-gvfs-show 0 0
    

    Permissions on /home mount point (before mounting device to mountpoint):

    $ ls -la /home
    total 0
    drwxr-xr-x. 1 root root   0 Jan  5 20:47 .
    dr-xr-xr-x. 1 root root 166 Feb 27 18:36 ..
    
    $ sudo getfacl home
    # file: home
    # owner: root
    # group: root
    user::rwx
    group::r-x
    other::r-x
    

    Relevant output from df

    $ df
    Filesystem      1K-blocks      Used Available Use% Mounted on
    /dev/sdb3       998540288   5447260 991484436   1% /
    /dev/nvme0n1p6 1248619684 932769256 258218276  79% /home
    

    Home dir permissions

    $ ls -ldZ /home/mes
    drwxr-xr-x. 196 mes mes system_u:object_r:user_home_dir_t:s0 12288 Feb 27 19:13 /home/mes
    
    $ sudo getfacl /home/mes
    getfacl: Removing leading '/' from absolute path names
    # file: home/mes
    # owner: mes
    # group: mes
    user::rwx
    group::r-x
    other::r-x
    

    Let me know if I can give any additional info.