I had a portable harddisk connected using USB to my Raspberry Pi B+ Rev3 running Raspbian 9. The harddisk had two partitions: NTFS and ext4. I had usbmount installed and configured as described here. When Raspbian is booted up with the harddisk already plugged in, I could see using
sudo fdisk -l that the ext4 partition was visible. So, usbmount should have automatically mounted this ext4 partition to
/media/usb0, but it was not doing that.
I had verbose logging enabled for usbmount as described here. When I searched the system log I could see that usbmount was actually mounting the ext4 partition, but surprisingly it was not visible at
$ cat /var/log/syslog | grep usbmount 980:May 18 11:42:28 my-pi usbmount: /dev/sda2 contains filesystem type ext4 989:May 18 11:42:28 my-pi usbmount: mountpoint /media/usb0 is available for /dev/sda2 991:May 18 11:42:28 my-pi usbmount: executing command: mount -text4 -osync,noexec,nodev,noatime,nodiratime /dev/sda2 /media/usb0 1010:May 18 11:42:28 my-pi usbmount: executing command: run-parts /etc/usbmount/mount.d 1013:May 18 11:42:28 my-pi usbmount: usbmount execution finished
Turned out that systemd was the culprit. It was having a
MountFlags=slave in its
systemd-udevd.service file. So, the mount operation of usbmount was mounting into the namespace of systemd and not to the user.
To change this mount option, run this command:
$ sudo systemctl edit systemd-udevd
Add these lines to the file that is opened:
I found that this created the file
/etc/systemd/system/systemd-udevd.service.d/override.conf with the above lines.
Restart systemd or your Pi:
$ sudo systemctl daemon-reload $ sudo service systemd-udevd --full-restart
After the restart, I found that usbmount had automatically mounted my ext4 partition.