Bài 3. Banana Pi kết nối với ổ đĩa ngoài (1)

0
224

1. Cách mount USB

2. Cách mount ổ cứng SSD và HDD (sử dụng chuẩn SATA)

3. Cách mount qua fstab

Trong bài viết này chúng tôi sẽ giới thiệu cách kết nối và mount ổ đĩa ngoài (USB, ổ cứng HDD, SSD) với Banana Pi.

1. Cách mount USB

1.1. Chuẩn bị:

– Banana Pi cài đặt hệ điều hành Linux;

– Một USB;

– Trình biên dịch shell của Banana Pi;

1.2. Cách thực hiện:

Thực hiện các bước sau để mount USB:

1. Khởi động hệ điều hành Linux.

2. Cắm USB vào một trong các cổng USB.

Đối với một số hệ điều hành khác (Raspbian), USB được phân vùng tự động bằng một chương trình gọi là udisks

3. Xác định thiết bị USB bằng lệnh sau trong shell:

$ sudo fdisk –l

4. Bạn sẽ nhìn thấy một danh sách các ổ đĩa được cắm vào. Hình dưới là kết quả đầu ra của câu lệnh fdisk –l

5. Nhập dòng lệnh để nhìn thấy USB đã được mount:

$ mount | grep sda

6. Kết quả hiển thị USB đã được kết nối:

7. Nếu bạn nhận được kết quả như hình trên, USB đã được kết nối. Tiếp đó thực hiện ngắt kết nối USB:

$ sudo umount / dev / sda1

8. Tạo một thư mục đích để kết nối USB vào:

$ sudo mkdir / media / usb_drive

9. Phân vùng USB vào thư mục đó:

$ sudo mount -o umask = 000 / dev / sda1 / media / usb_drive

10. Kết nối USB thành công

11. Liệt kê nội dung của USB

$ ls -la /media/usb_drive

1.3. Phương thức hoạt động:

Cắm USB vào khe cắm USB trên Banana Pi. Để cung cấp nội dung của ổ đĩa ngoài cho Banana Pi, cần mount ổ đĩa. Bằng cách mount ổ đĩa, hệ thống có thể truy cập được hoạt động vào/ra (I /O).

 Trong các hệ thống như Unix, mọi thứ đều là một file. Tức là thiết bị sẽ có sẵn một file thiết bị (/dev/xxx). fdisk được sử dụng để định dạng ổ đĩa. Khi thêm tham số -l sẽ hiển thị danh sách tất cả các ổ đĩa và phân vùng đính kèm. Bằng cách này, xác định đĩa USB được nhận dạng là /dev/sda. Thẻ nhớ của Banana Pi là /dev/mmcblk0.

Trên các phiên bản hệ điều hành Linux đã công bố, dịch vụ udisks đã được cài đặt sẵn. Chương trình này cho phép tự động đếm các thiết bị bên ngoài. Do đó, USB đã được phân vùng khi cắm Banana Pi.

Để kiểm tra, sử dụng lệnh mount cùng với lệnh grep. Khi sử dụng lệnh mount mà không có bất kỳ tham số nào, danh sách tất cả các thiết bị hiện được phân vùng là đầu ra. Kết nối đầu ra với lệnh grep, chỉ hiển thị các dòng có chứa chuỗi sda. Ngoài ra, ngắt kết nối đĩa USB để mount USB thủ công. Việc ngắt kết nối được thực hiện bằng lệnh umount  cộng với đường dẫn hoặc file thiết bị.

Để kết nối ổ đĩa, chúng ta phải sử dụng thư mục đích. Trong ví dụ, tạo một thư mục /media /usb_drive mới bằng cách sử dụng lệnh mkdir . Sau đó, phân vùng đầu tiên (/ dev / sda1) vào thư mục mới đó. Lệnh mount dùng tên file thiết bị và thư mục đích làm tham số (theo thứ tự đó). Sử dụng tham số -o umask = 000, trong đó thêm tùy chọn (-o) để cung cấp cho mọi người trên hệ thống quyền đọc /ghi trên ổ đĩa. Điều này là cần thiết vì nếu không, đĩa USB sẽ chỉ có thể đọc và ghi bởi người dùng root.

Cuối cùng, hiển thị tất cả nội dung của USB bằng cách sử dụng lệnh ls . Kết hợp với tham số -la, xuất nội dung dưới dạng danh sách chi tiết (-l; một dòng cho mỗi file và thư mục) và xuất ra tất cả nội dung (-a), bao gồm cả thư mục và file ẩn

Mặc dù USB là phương tiện di động, nên được mount vào thư mục dưới /media. Mặt khác, bạn có thể mount các ổ đĩa cố định vào các thư mục dưới /mnt. Tuy nhiên, đây chỉ là một khuyến nghị. Về mặt kỹ thuật, không quan trọng việc bạn đặt các thư mục gốc dưới /media hay /mnt.

Trong khi thực hiện lệnh mount, sử dụng mount với tùy chọn umask = 000. Bằng cách này, ghi đè chế độ mặc định, mount USB với các quyền của việc xử lý hiện tại. Vì quá trình mount yêu cầu quyền root, các quyền mặc định sẽ cấp quyền truy cập root vào thư mục được mount.

Filesystem permissions là một khái niệm quan trọng trong các hệ thống Unix. Vì các hệ thống Unix có thể điều khiển đa người dùng, nên cần phải ngăn người dùng truy cập vào các thư mục không có quyền truy cập (ví dụ: file cấu hình hệ thống hoặc file của những người dùng khác).

Nếu liệt kê nội dung của thư mục chính (sử dụng ls -l ~) thì sẽ thấy chắc chắn chi tiết.

Ngoài ra, các quyền được hiển thị khi sử dụng tham số -l của lệnh ls. Cột đầu tiên hiển thị các quyền trên mỗi thư mục, ví dụ:

 drwxr-xr-x 3 bananapi pi … Arduino

Ký tự đầu tiên (d) là viết tắt của thư mục, Arduino là một thư mục. Ba ký tự tiếp theo hiển thị các quyền cho chủ sở hữu (bananapi) của thư mục đó. Quyền rwx có nghĩa là chủ sở hữu có quyền đọc (r), ghi (w) và thực thi (x) thư mục. Ba ký  tự tiếp theo hiển thị các quyền cho nhóm (pi). Đối với chủ sở hữu, tất cả các thành viên của nhóm pi có quyền đọc và thực thi thư mục đó, nhưng không được phép ghi () vào thư mục. Tương tự với ba ký tự cuối cùng là tất cả các ký tự khác.

Bằng cách sử dụng tham số tùy chọn umask = 000 khi mount USB, xóa các quyền mặc định, dẫn đến tất cả các quyền đối với thư mục đích đều được cấp.

* Ngoài ra:

Rất nhiều lệnh cần thiết đã được đề cập trong bài này. Chúng ta nên dành thời gian học các lệnh ls, mkdir, mount umount.

Bài viết trên Wikipedia về filesystem permissions tại https://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_ permissions giải thích ký hiệu Unix về filesystem permissions.

2. Cách mount ổ cứng SSD và HDD (sử dụng chuẩn SATA)

2.1. Chuẩn bị:

– Banana Pi;

– Nguồn USB;

– Một thẻ nhớ có cài hệ điều hành Linux;

– 1 ổ cứng SSD hoặc HDD;

– 1 cáp chuyển đổi SATA-SATA và nguồn cấp chuẩn SATA cho ổ cứng hoặc cáp SATA với thiết bị đầu cuối cấp;

– Trình biên dịch Shell Banana Pi;

2.2. Cách làm việc

Việc mount ổ đĩa ngoài qua cáp SATA tương tự như cách mount USB trong Mục 1 giới thiệu. Sự khác biệt duy nhất là việc mount ổ đĩa trước khi cấp nguồn cho Banana Pi.

1. Trước khi bật nguồn Banana Pi, cắm một đầu của cáp SATA vào ổ đĩa ngoài;

2. Cắm đầu kia vào Banana Pi.

3. Cắm nguồn cung cấp cho ổ cứng.

4. Nếu có cáp SATA đi kèm với các thiết bị đầu cuối cấp nguồn, cắm thiết bị đầu cuối vào Banana Pi. Hình ảnh dưới đây sử dụng một ổ cứng 2,5 “được kết nối với Banana Pi.

5. Cấp nguồn cho Banana Pi và bắt đầu khởi động.

6. Mở Shell.

7. Xác định ổ đĩa bằng lệnh fdisk:

$ sudo fdisk –l

8. Tạo một thư mục để mount ổ đĩa vào:

$ sudo mkdir / mnt / sata_drive

9. Phân vùng NTFS hoặc FAT32 của ổ đĩa vào thư mục đó:

$ sudo mount -o umask = 000 / dev / sda1 / mnt / sata_drive

10. Nếu có một phân vùng với file hệ thống Linux (chẳng hạn như ext4), bạn không thể sử dụng tùy chọn umask; trong trường hợp này, bạn phải bỏ qua tùy chọn này:

$ sudo mount / dev / sda1 / mnt / sata_drive

Việc mount ổ đĩa đã thành công.

2.3. Phương thức hoạt động:

Đảm bảo rằng ổ đĩa ngoài được cấp nguồn tin cậy. Banana Pi có thể cấp nguồn với những ổ đĩa 2,5”. Với những ổ cứng 3,5” thường yêu cầu nguồn lớn, do đó cần sử dụng nguồn cấp bên ngoài khi sử dụng với ổ cứng HDD. Trong những trường hợp này, khuyến nghị dùng nguồn cấp USB ít nhất dòng 2A.

Nếu phân vùng file hệ thống Linux, không thể dùng tùy chọn umask. Ngược lại với FAT32 hay NTFS, file hệ thống Linux hồ trợ đầy đủ cấp quyền trong Unix. Do đó, phải làm việc với các công cụ tiêu chuẩn chmod, chown chgrp để gán hoặc thu hồi quyền truy cập.

3. Cách mount qua fstab

3.1. Chuẩn bị:

Cần có các thành phần sau để mount ổ đĩa thuận tiện sử dụng file fstab:

 – Banana Pi cài đặt hệ điều hành Linux;

 – Một USB  và /hoặc một ổ cứng chuẩn SATA;

– Trong trường hợp ổ cứng chuẩn SATA, kết nối đang hoạt động với Banana Pi và nguồn cấp.

– Trình biên dịch Shell của Banana Pi.

3.2. Cách làm việc:

Thực hiện các thao tác sau để cấu hình ổ đĩa trong fstab:

1. Kết nối các thiết bị cho phù hợp.

2. Cấp nguồn cho Banana Pi và bắt đầu trình tự khởi động.

3. Mở Shell.

4. Xác định các file hệ thống đã sử dụng thông qua blkid trên các phân vùng đính kèm:

$ sudo blkid

5. Có kết quả thông tin về tất cả các phân vùng có sẵn. Trong hình dưới đây, ổ đĩa / dev / sda có ba phân vùng (sda1 sử dụng ext4, sda2 sử dụng FAT32 và sda3 sử dụng NTFS):

6. Tạo các thư mục đích cần thiết để mount các phân vùng này:

$ sudo mkdir / mnt / ext4_partition
$ sudo mkdir / mnt / fat_partition
$ sudo mkdir / mnt / ntfs_partition

7. Chỉnh sửa / etc / fstab bằng cách sử dụng trình soạn thảo văn bản như nano với đặc quyền root:

$ sudo nano / etc / fstab

8. Nhấn và giữ phím mũi tên xuống cho đến khi bạn đến cuối /etc/fstab.

9. Cấu hình cả ba phân vùng bằng cách thêm ba dòng mới:

/ dev / sda1 / mnt / ext4_partition ext4 defaults 0 2
/ dev / sda2 / mnt / fat_partition vfat defaults 0 0
/ dev / sda3 / mnt / ntfs_partition ntfs defaults 0 0

Hình sau đây cho thấy ba phân vùng được thêm vào trong file fstab bằng trình soạn thảo nano:

10. Thoát trình soạn thảo nano và lưu các thay đổi bằng cách nhấn Ctrl + X, tiếp theo là YEnter.

Bạn đã cấu hình ổ đĩa của mình trong fstab thành công. Từ bây giờ, có thể mount các phân vùng bằng cách sử dụng sudo mount / mnt / ntfs_partition. Hơn nữa, khi khởi động lại hệ thống của bạn, các phân vùng sẽ được tự động mount.

3.3. Phương thức hoạt động:

Có thể tự động để hệ thống mount USB hoặc ổ cứng chuẩn SATA trong khi khởi động. Các hệ thống Linux sử dụng lệnh cấu hình / etc / fstab để xác nhận các ổ đĩa sẽ được mount;

Chương trình fstab có thể được sử dụng để định nghĩa cách các phân vùng đĩa, thiết bị khối khác hoặc file hệ thống từ xa nên được mount. Nó có nhiều tùy chọn cấu hình. Mỗi dòng trong file fstab đại diện cho thông tin mount cho một phân vùng hoặc tương tự.

Chúng tôi thêm thông tin cho các phân vùng của mình bằng cách thêm các dòng mới vào file fstab. Mỗi dòng trong file fstab bao gồm các phần cấu hình sau được phân tách bằng dấu cách:

– Phân vùng được mount.

– Thư mục đích.

– Loại file hệ thống được sử dụng bởi phân vùng.

– Các tùy chọn lắp đặt.

– Cờ Dump, được sử dụng bởi tiện ích dump để quyết định thời điểm tạo một bản sao lưu.

– Cờ pass, được sử dụng bởi tiện ích fsck (kiểm tra file hệ thống) để quyết định file hệ thống phải được kiểm tra. Sử dụng 0 (kiểm tra file hệ thống bị vô hiệu hóa) hoặc 2. The value 1 được dành riêng cho file hệ thống gốc.

* Ngoài ra:

Bạn có thể sử dụng file thiết bị làm cột đầu tiên hoặc số nhận dạng duy nhất (UUID) cho phân vùng của bạn. Sử dụng lệnh blkid, bạn sẽ thấy UUID của các phân vùng (c4f56218-9353-4758-a5f9-1a2eac08130d, 298E-093C7C4F20B572AAB23E). Có thể thay thế ba dòng trong fstab bằng dòng sau:

UUID = c4f56218-9353-4758-a5f9-1a2eac08130d / mnt / ext4_partition ext4

mặc định 0 2

UUID = 298E-093C / mnt / fat_partition vfat defaults 0 0

UUID = 7C4F20B572AAB23E / mnt / ntfs_partition ntfs defaults 0 0

Hơn nữa, bạn có thể xác định các  tham số đặc trưng cho việc mount trong cột mounting options của file fstab. Có rất nhiều tham số quan tâm. Ví dụ: nếu bạn muốn mount một phân vùng FAT32 và cấp cho mọi người quyền đọc/ghi, bạn sẽ sử dụng:

/ dev / sda2 / mnt / fat_partition vfat user, rw, umask = 000 0 0

File hệ thống FAT32 được hỗ trợ bởi vfat. Cờ user có nghĩa là bất kỳ người dùng nào cũng có thể mount phân vùng. Quyền đọc / ghi được phép bởi cờ rw. Tùy chọn umask = 000 loại bỏ các quyền đã chọn.

Bạn có thể xem thêm bài viết về cấu hình fstab trên Wikipedia trên trang https://en.wikipedia.org/wiki/Fstab

Biên soạn: Thùy Phương

Để cập nhật tin tức công nghệ mới nhất và các sản phẩm của công ty AIoT JSC, vui lòng truy cập link: http://aiots.vn hoặc linhkienaiot.com

0 0 Phiếu bầu
Article Rating
Subscribe
Notify of
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả các bình luận