How To Mount A USB Flash Disk On The Raspberry Pi
https://www.raspberrypi-spy.co.uk/2014/05/how-to-mount-a-usb-flash-disk-on-the-raspberry-pi/
1. Be sure the RPI is power off
Plugging in the USB Flash Drive when RPI is on will cause the RPI to re-boot and it could crash the system.
2. Plug in the USB Flash Drive
3. Switch on the power to RPI
4. List all block devices
pi@raspberrypi:~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 14.7G 0 disk └─sda1 8:1 1 14.7G 0 part mmcblk0 179:0 0 14.9G 0 disk ├─mmcblk0p1 179:1 0 256M 0 part /boot └─mmcblk0p2 179:2 0 14.6G 0 part / pi@raspberrypi:~ $
In the output above, sda represents the external USB Flash Drive, mmcblk0 represents the internal SD Card.
5. Identify the devices unique ID (UUID).
pi@raspberrypi:~ $ ls -l /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Feb 16 08:18 2420-5E40 -> ../../sda1 lrwxrwxrwx 1 root root 15 Feb 16 08:18 2ab3f8e1-7dc6-43f5-b0db-dd5759d51d4e -> ../../mmcblk0p2 lrwxrwxrwx 1 root root 15 Feb 16 08:18 5203-DB74 -> ../../mmcblk0p1 pi@raspberrypi:~ $
Note down the UUID for /sda1, in my case, it's "2420-5E40". This UUID will be used later.
6. Create a mount point
A mount point is a directory that points to the contents of the USB Flash Drive. Use the command below to create a directory (/media/usb).
sudo mkdir /media/usb
Now that we need to make sure the Pi user owns this folder :
sudo chown -R pi:pi /media/usb
pi@raspberrypi:/media $ ls -l total 4 drwxr-xr-x 2 root root 4096 Feb 16 09:15 usb pi@raspberrypi:/media $ sudo chown -R pi:pi /media/usb pi@raspberrypi:/media $ ls -l total 4 drwxr-xr-x 2 pi pi 4096 Feb 16 09:15 usb pi@raspberrypi:/media $
Below is the meaning of each field.
1 | Permissions | drwxr-xr-x
2 | # of Hard Links | 2
3 | User That Owns File or Directory | root
4 | Group for File or Directory | root
5 | File Size | 4096
6 | Timestamp | Feb 16 09:15
7 | Filename | usb
Ref.: https://www.liquidweb.com/kb/7-extremely-useful-linux-commands-for-beginners/
Note that in the output above, before executing the command sudo chown -R pi:pi /media/usb, the owner of the folder is root, the owner changed to pi after the command is executed.
7. Manually mounting the drive
To manually mount the drive use the following command :
sudo mount /dev/sda1 /media/usb -o uid=pi,gid=pi
This will mount the drive so that the ordinary Pi user can write to it. Omitting the “-o uid=pi,gid=pi” would mean you could only write to it using “sudo”.
Now you can read, write and delete files using “/media/usb” as a destination or source without needing to use sudo.
8. Un-mounting the drive
You don’t need to manually un-mount if you shutdown your Pi but if you need to remove the drive at any other time you should un-mount it first. Only the user that mounted the drive can un-mount it.
umount /media/usb
If you used the fstab file to auto-mount it you will need to use :
sudo umount /media/usb
9. Auto mount
When you restart your Pi your mounts will be lost and you will need to repeat Step 7 (Manually mounting the drive). If you want your USB drive to be mounted when the system starts you can edit the fstab file :
sudo nano /etc/fstab
Then add the following line at the end :
UUID=2420-5E40 /media/usb vfat auto,nofail,noatime,users,rw,uid=pi,gid=pi 0 0
***IMPORTANT - Be sure to set the correct UUID ***
The “nofail” option allows the boot process to proceed if the drive is not plugged in. The “noatime” option stops the file access time being updated every time a file is read from the USB stick. This helps improve performance.
Below is how my fstab file looks like after adding the line to auto mount the USB Drive.
pi@raspberrypi:/media $ sudo nano /etc/fstab pi@raspberrypi:/media $ cat nano /etc/fstab cat: nano: No such file or directory proc /proc proc defaults 0 0 PARTUUID=6c586e13-01 /boot vfat defaults 0 2 PARTUUID=6c586e13-02 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that UUID=2420-5E40 /media/usb vfat auto,nofail,noatime,users,rw,uid=pi,gid=pi 0 0 pi@raspberrypi:/media $
Additional note about file systems
In the examples above I specified “vfat” as the file system of the device as it was formatted as FAT32. If you need to change the file system replace references of “vfat” with “ntfs-3g”, “ext3” or “ext4”.
If you are using NTFS you will also need to install the following package :
sudo apt-get install ntfs-3g
No comments:
Post a Comment