Umbrel has apparently made changes that wipe out custom change to fstab on reboot. See this post on the umbrel GitHub: 1.7 FS changes is being reset after reboot · Issue #2124 · getumbrel/umbrel · GitHub for more details.
The fix requires creating a bash script named “pre-start” in /home/umbrel/umbrel/custom-hooks that will use the mount command to re-create the mounting of the second drive at each restart.
After accessing the umbrel via ssh, here’s the steps I took to create the needed script. Hopefully, the following is helpful:
(1) Determine the device ID the secondary drive is being assigned using:
sudo blkid
Make a note of that device ID (in my instance it was /dev/sdb1).
(2) Navigate to /home/umbrel/umbrel and create a “custom-hooks” subdirectory via the command:
sudo mkdir custom-hooks
(3) cd into into the new “custom-hooks” directory and start creating the script by running:
sudo nano pre-start
(4) In the editor, add the following code (swapping out /dev/sdb1 with the device ID determined in Step 1. I used “drive2” as the name of the mount point for the drive in the filesystem (e.g. “/dev/drive2”).
#/bin/bash
su -c ‘mount -t auto -o nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=drive2 -m /dev/sdb1 /mnt/drive2’
(Note: Those adding a new drive will not have a /bitcoin directory on the secondary drive. You may need to skip step (5), and perform steps (6)-(8) first (to mount the new drive). Once rebooted (so that you can access the drive), you can go into /mnt/drive2 and create a /bitcoin directory, Once that is done, re-edit the pre-start script to add the second mount command in Step (5). Another reboot will be needed for both mount commands to be executed)
(5) My second drive already had a /bitcoin directory on it, so I also added the following line to the pre-start script to bind that that directory on the second drive to the appropriate location on the umbrel filesystem. (You can add additional lines if there are other directories on the second drive that you also need to link back up to the umbrel filesystem).
su -c ‘mount --bind /mnt/drive2/bitcoin/ /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin’
(6) Make the script you just created executable:
chmod o+x pre-start
(7) Reboot the umbrel.
(8) Confirm that the new drive has been mounted by using the “df” command (in my instance, the command output included the following line:
/dev/sdb1 1967874000 917172696 950665056 50% /mnt/drive2
(9) Confirm that the /bitcoin folder on the second drive is mapped into the umbrel filesystem.
findmnt -D | grep bitcoin
Which should give output similar to:
/dev/sdb1[/bitcoin] ext4 1.8T 874.9G 906.4G 47% /home/umbrel/umbrel/app-data/bitcoin/data/bitcoin