บทความนี้จะมาพูดถึงวิธีทำ auto mount สำหรับ Hard disk หรือ USB Drive บน Raspberry Pi หรือใช้กะ Linux ก็ได้เหมือนกัน
โดยปรกติแล้วบน Raspberry เวลาเสียบ USB Drive (FlashDrive) เข้าไปแล้ว มันจะยังมองไม่เห็น เราต้องมานั้งทำการ mount path ก่อนทำให้ไม่ค่อยสะดวก รวมถึงเวลาย้ายไปเสียบกับ USB ซ่องอื่นก็จะต้องมาเสียเวลา mount ใหม่อีกรอบ
ดังนั้นวันนี้เราจะมาทำให้เจ้า Raspberry Pi ของเรา auto mount path ให้อัตโนมัติ รวมถึง mount โดยการอ้างอิงจาก Hardware ID หรือ UUID นั่นเอง โดย hardware แต่ละตัวก็จะทีค่าที่ไม่ซ้ำกัน ทำให้สามารถนำค่า UUID นี้มาเป็น key ในการอ้างอิงในการ mount path ได้
ก่อนอื่นเพื่อให้แน่ใจก่อนว่า OS เรามองเห็น USB Device หรือยัง ให้ลองใช้คำสั่ง lsusb
#sudo lsusb
1 2 3 4 5 6 |
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick Bus 001 Device 005: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 001 Device 006: ID 192f:0716 Avago Technologies, Pte. |
ในที่นี้ flashdrive ของผมคือ
1 |
Bus 001 Device 004: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102 Flash Drive / HEMA Flash Drive 2 GB |
จากนั้นเราจะต้องหาก่อนว่า Hardware ID หรือ UUID ของเราคืออะไร
โดยใช้คำสั่ง sudo blkid .
# sudo blkid
1 2 3 |
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="15CD-3B79" TYPE="vfat" /dev/mmcblk0p2: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4" /dev/sda1: UUID="4C2C8C69238F3EF8" TYPE="ntfs" |
จากรูปข้างบน USB Drive หรือ FlashDrive ของผม 32 G
UUID ก็คือ 4C2C8C69238F3EF8 (เราจะใช้ค่านี้ในการทำ auto mount)
ในที่นี้ผม Format FlashDrive ของผมเป็น NTFS เผื่อเวลาผมถอดจาก Raspberry PI จะได้นำไปใชักะ OS : Windows ได้เลย
สำหรับกรณีถ้าใช้ NTFS จะต้องติดตั้ง package ที่ชื่อว่า ntfs-3g ก่อนด้วยนะ โดยใช้คำสั่งด้านล่างในการติดตั้ง
1 |
sudo apt-get install ntfs-3g |
#sudo fdisk -l (คำสั่งนี้เป็นคำสั่งในการ list/infomation ของ partition ที่อยู่ในเครื่อง)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Disk /dev/mmcblk0: 31.2 GB, 31167873024 bytes 4 heads, 16 sectors/track, 951168 cylinders, total 60874752 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xa6202af7 Device Boot Start End Blocks Id System /dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA) /dev/mmcblk0p2 122880 60874751 30375936 83 Linux Disk /dev/sda: 31.2 GB, 31221153792 bytes 255 heads, 63 sectors/track, 3795 cylinders, total 60978816 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xc3072e18 Device Boot Start End Blocks Id System /dev/sda1 2048 60977151 30487552 7 HPFS/NTFS/exFAT |
จากนั้นให้ทำการสร้าง mount path ขึ้นมา โดยให้ทำการสร้าง folder ขึ้นมา รวมถึงกำหนด Permission ด้วย
ถ้าไม่กำหนด ก็จะมีผลกับการ Read/Write file และส่วนชื่อ Folder นั้นเราจะตั้งชื่ออะไรก็ได้ตามใจชอบได้เลย
1 2 3 |
sudo mkdir /media/NASDRIVE sudo mount /dev/sda1 /media/NASDRIVE sudo chmod 775 /media/NASDRIVE |
จากนั้นทำการแก้ไขไฟล์ fstab เพื่อให้เวลาเรา boot OS ขึ้นมา มันจะทำการ auto mount path ให้เราอัตโนมัติ
#sudo nano /etc/fstab
เพิ่มบรรทัดนี้ไว้ล่างสุด โดยจะอ้างจาก UUID แทน
1 |
UUID=4C2C8C69238F3EF8 /media/NASDRIVE ntfs-3g uid=1000,gid=1000 0 0 |
จากข้างบนหมายความว่าให้ mount path /media/NASDRIVE ด้วย partition type ที่เป็น NTFS
โดยจะอ้างอิงจาก UUID : 4C2C8C69238F3EF8
จากนั้นให้ลอง reboot เครื่องใหม่อีกรอบ หรือใช้คำสั่ง sudo mount –a จากนั้น แล้วลองใช้คำสั่ง sudo df -h ดู ว่ามัน auto mount หรือป่าว
ถ้าไม่ผิดพลาดอะไร น่าจะไม่มีปัญหา อย่างรูปข้างล่าง จะเห็นว่า Flash Drive ของผม 32G (Kingstone)
ก็ได้ถูก auto mount เรียบร้อยแล้ว ที่สำคัญ ผมจะถอดเสียบช่องไหนก็ได้ มันก็จะ auto mount ให้เอง
ไม่ต้องมาเสียเวลามา mount ใหม่ ทำให้สะดวกยิ่งขึ้น
Comments are closed