identify_and_mount_a_drive
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
identify_and_mount_a_drive [2016/07/28 20:56] – walkeradmin | identify_and_mount_a_drive [2017/01/08 21:46] – walkeradmin | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Identify and Mount a Drive ====== | ====== Identify and Mount a Drive ====== | ||
\\ | \\ | ||
- | \\ | ||
- | ===== THIS SECTION IS NOT FINISHED ===== | ||
\\ | \\ | ||
+ | This guide assumes you only have 1 external hard drive connected to the Pi. If so then it should be attached to /dev/sda1 – additional drives will use /dev/sdb1 and /dev/sdc1 etc. If you have multiple external hard drives you will need separate mount points for each drive (e.g. / | ||
\\ | \\ | ||
- | |||
- | first we need to identify disk(s) please add this first..... | ||
\\ | \\ | ||
+ | Prepare the Mount Point | ||
+ | | ||
+ | First make a directory in which to mount the USB drive | ||
+ | sudo mkdir / | ||
\\ | \\ | ||
- | sudo blkid | + | Make pi the owner of the mounted drive and make its permissions read, write and execute for it |
+ | |||
+ | | ||
+ | sudo chmod -R 775 / | ||
\\ | \\ | ||
- | This will list any recognised devices | + | Set all future permissions for the mount point to pi user and group. |
+ | |||
+ | sudo setfacl -Rdm g:pi:rwx / | ||
+ | sudo setfacl -Rm g:pi:rwx / | ||
\\ | \\ | ||
+ | Determine the USB Hard Drive Format | ||
+ | |||
+ | You also need to know the file system the drive is formatted with | ||
+ | |||
+ | sudo blkid | ||
+ | \\ | ||
+ | You will see something like this. Again it is the sda1 line we are interested in. Note the TYPE=" | ||
+ | | ||
+ | /dev/sda1: UUID=" | ||
+ | / | ||
/ | / | ||
/ | / | ||
Line 19: | Line 36: | ||
/ | / | ||
/ | / | ||
- | / | ||
- | /dev/sda: PTUUID=" | ||
\\ | \\ | ||
- | In this example, | + | Update your repositories if your hard drive is anything but ext4 as the TYPE above |
+ | |||
+ | sudo apt-get update | ||
\\ | \\ | ||
- | + | Now mount the usb stick in there. | |
- | + | ||
- | + | sudo apt-get install ntfs-3g | |
- | + | ||
- | + | ||
- | + | ||
- | If you are connected | + | |
\\ | \\ | ||
- | sudo fdisk /dev/sda | + | |
+ | |||
+ | | ||
+ | \\ | ||
+ | For all drive types mount the usb with this command, -o insures pi is the owner which should avoid permission issues | ||
+ | |||
+ | sudo mount -o uid=pi, | ||
+ | \\ | ||
+ | If you get an error use this syntax | ||
+ | |||
+ | sudo mount -t uid=pi, | ||
+ | \\ | ||
+ | If the mount -t command returns an error then use this syntax | ||
+ | |||
+ | sudo mount uid=pi, | ||
+ | \\ | ||
+ | If you are getting this drive is already mounted errors then you are probably using a distro which automounts the drives which you can either continue using but then you should remove the /etc/fstab entries. You will have to uninstall the automounting software if you want to mount using the method in this guide. | ||
+ | |||
+ | Remove the automounting software with this command | ||
+ | |||
+ | sudo apt-get remove usbmount --purge | ||
+ | \\ | ||
+ | Automount the USB Hard Drive on Boot | ||
+ | |||
+ | / | ||
+ | sudo ls -l / | ||
+ | \\ | ||
+ | You will see some output like this. The UUID you want is formatted like this XXXX-XXXX for the sda1 drive. If the drive is NTFS it can have a longer format like UUID=" | ||
+ | total 0 | ||
+ | |||
+ | lrwxrwxrwx 1 root root 15 Jan 1 1970 3d81d9e2-7d1b-4015-8c2c-29ec0875f762 -> ../ | ||
+ | lrwxrwxrwx 1 root root 15 Jan 1 1970 787C-2FD4 -> ../ | ||
+ | lrwxrwxrwx 1 root root 10 Oct 26 21:10 BA8F-FFE8 -> ../ | ||
+ | \\ | ||
+ | Now we will edit fstab to mount the USB by UUID on boot | ||
+ | |||
+ | sudo nano / | ||
+ | \\ | ||
+ | Add the line in red to the bottom, replace XXXX-XXXX with your UUID and exfat with your type if it is different (e.g. ntfs, vfat, ext4). You may or may not need the quotation marks wrapped around the UID, you do not need quotation marks wrapped around the file system type (ext4, vfat, NTFS etc). | ||
+ | \\ | ||
+ | The umask 0002 sets 775 permissions so the pi user and group can read, write and execute files on the external USB drive. To completely eliminate permission issues you can set the umask to 0000 which equals 777 permissions so anybody can read, write and execute. Note that 777 permissions are considered a security risk. | ||
+ | \\ | ||
+ | If you have issues here then try replacing uid=pi, | ||
+ | \\ | ||
+ | This is an example for exfat | ||
+ | / | ||
+ | / | ||
+ | |||
+ | UUID=XXXX-XXXX | ||
+ | \\ | ||
+ | For NTFS, note that it is ntfs and not ntfs-3g | ||
+ | |||
+ | / | ||
+ | / | ||
+ | |||
+ | UUID=XXXX-XXXX | ||
+ | \\ | ||
+ | For ext4 using uid and gid is not recommended so use at your own risk as it could cause issues (thanks mk2soldier). | ||
+ | |||
+ | / | ||
+ | / | ||
+ | |||
+ | UUID=XXXX-XXXX | ||
+ | \\ | ||
+ | If you get any errors you can replace uid=pi, | ||
+ | |||
+ | / | ||
+ | / | ||
+ | |||
+ | UUID=XXXX-XXXX | ||
+ | \\ | ||
+ | For using /dev/sda1 and defaults if you have troubles with UUID | ||
+ | |||
+ | / | ||
+ | / | ||
+ | |||
+ | / | ||
+ | \\ | ||
+ | Now test the fstab file works | ||
+ | |||
+ | sudo mount -a | ||
+ | \\ | ||
+ | If you didn’t get errors reboot, otherwise try the suggestions above to get it working then | ||
+ | mount -a again until it succeeds | ||
+ | |||
+ | sudo reboot | ||
\\ | \\ | ||
- | while in fdisk you can verify the partitions with the the p command | ||
- | Disk /dev/sda: xxx GB, xxx bytes | ||
\\ | \\ | ||
- | |||
- | Use the d command to delete existing partition, then p again to verify it is gone | ||
- | |||
- | use the n command creates a new partition, use p for primary partition, Enter to default to partition 1, Enter to select first sector and Enter again to select last sector. This gives the whole disk to your new partition. | ||
- | |||
- | now use the p command again to see your new partition | ||
- | |||
- | Command (m for help): p | ||
- | Device Boot Start | ||
- | / | ||
- | the changes need to be written to the partition table, so use the w command to commit. | ||
- | |||
- | run the fdisk -l command to see your disk which will now include /dev/sda1 | ||
- | |||
- | Now you can make your file system. Use the mkfs command. | ||
- | |||
- | mkfs /dev/sda1 | ||
- | after the superblocks are created and you get a prompt you are ready to mount your disk create a mount point, say you want it to be " | ||
- | |||
- | mkdir /mydisk | ||
- | now mount it | ||
- | |||
- | mount /dev/sda1 /mydisk | ||
- | use df to verify disk is mounted. If you reboot you will need to remount it (you might want to add it to /etc/fstab) | ||
- | |||
- | try writing a file to the disk | ||
- | |||
- | touch / | ||
- | was the file created or did you get an err? |
identify_and_mount_a_drive.txt · Last modified: 2023/03/09 22:35 by 127.0.0.1