Install an SSD in a USB 3 enclosure as an external home partition. This SSD can be any size you want. Then this USB 3 SSD can be mounted during boot up in /etc/fstab as /home. This also makes this data easily backed up with rsync along with config files.
Power off the computer and connect a USB 3 external enclosure with an SSD installed.
IMPORTANT: To transfer the contents of /home then empty /home, there should not be anyone logged into a Desktop Environment. Way too many conflicts if someone is logged in.
Boot the computer, at the Desktop Manager, do NOT log in.
Press Ctrl-ALT-F2 to open a Console window (tty2).
Log in to the console window as root and enter your root password.
(Odroid N2 & RPi4 will look similar to this, Odroid XU4 will have one mmcblk partition)
NAME FSTYPE FSSIZE LABEL MOUNTPOINT
└─sda1 ext4 XXXXX
├──mmcblk0p1 vfat 252M BOOT /boot
└──mmcblk0p2 ext4 56.8G ROOT /
/dev/mmcblk0 is our OS device. The /dev/sda is our target device. If the SSD device is brand new and has never been partitioned it may look different. Now we have determined that /dev/sda is our new device (your setup may be different such as /dev/sdb etc)
/dev/sda1 should not show a MOUNTPOINT. It is remotely possible /dev/sda1 will be mounted and show a mount point. If so, we have to unmount it, and any other partition on /dev/sda that shows up as being mounted. Such as possibly /dev/sda2, /dev/sda3, etc. until all are unmounted. Of course, do not unmount anything on mmcblk1.
# umount /dev/sda1 and possibly # umount /dev/sda2 etc.
CAUTION: This WILL erase ALL DATA on your SSD.
# fdisk /dev/sda ( or adjust to /dev/sdb or whatever is relevant )
Command o (That’s lower case o…create a new empty DOS partition table)
Command n (add a new partition)
Partition type: p (p = primary)
partition number: 1
First sector: enter to accept the default
Last sector: enter to accept the default
Partition #1 contains an ext4 signature. (this warning may not appear, if so yes)
Do you want to remove the signature? yes
Command: w (write table to disk and exit)
# fdisk /dev/sda ( or adjust to /dev/sdb or whatever is relevant ) Command o (That's lower case o...create a new empty DOS partition table) Command n (add a new partition) Partition type: p (p = primary) partition number: 1 First sector: enter to accept default Last sector: enter to accept default Partition #1 contains a ext4 signature. (this warning may not appear, if so yes) do you want to remove the signature? yes Command: w (write table to disk and exit) # mkfs.ext4 -L HOME /dev/sda1 (format our new partition to ext4, -L HOME is the label) Now that /dev/sda is partitioned and formatted, we need to mount it on /mnt # mount -t ext4 /dev/sda1 /mnt # la /mnt (should see the directory lost+found created by mkfs.ext4 ) # rm -rf /mnt/lost+found # la /mnt ( should see lost+found has been removed ) # cp -rp /home/* /var (make a backup of your current home directory or directories) # cp -rp /home/* /mnt (copy contents of home to /mnt using recursive & preserve options) # la /mnt/username ( should see the copied contents of home ) # rm -rf /home/* (empty the original home folder to be used as a mount point) # la /home ( home should be empty, if not repeat above command) # umount /dev/sda1 ( un-mount /dev/sda1 from mount point /mnt ) # mount -t ext4 /dev/sda1 /home ( mount /dev/sda1 to now empty home folder) # la /home/username ( should see the home directories and dot files )
Now that the dirty work is done, finish this up by exiting out of the console window. Switch to the GUI mode by pressing Ctrl-Alt-F7, F6, or maybe F1. Log into the desktop.
Open a terminal window
$ su # cp /etc/fstab /etc/fstab.orig
Find the UUID for the home SSD partition.
# lsblk -f /dev/sda
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
└─sda1 ext4 1.0 HOME b6bd3cd3-c666-4259-9ad9-125a003ff231 221.7G 0%
You should see /dev/sda1 with a nice label of “HOME” and its UUID number.
Highlight the UUID number, then right-click and click copy.
Using your favourite text editor, add the following line at the end of the /etc/fstab file
# gedit /etc/fstab & UUID=PASTE-Your-UUID-Number /home ext4 defaults,noatime 0 2 # mount -a (should show no errors if fstab is correct, if not edit /etc/fstab again) # lb /dev/sda1 (should show our new /home ) NAME FSTYPE FSSIZE LABEL MOUNTPOINT sda1 ext4 457.4G HOME /home
I would recommend removing the home directory backup(s) from /var.
This frees up storage space and it is better security to not have your home directory in /var.
From now on the home folder will be on the SSD. The SBC device and the USB external
SSD enclosure is now married and should always be used together.