Nút Udev / dev / sda được tạo khi khởi động ngay cả khi ổ đĩa bị ngắt kết nối


0

Chỉnh sửa: Tôi muốn đơn giản hóa câu hỏi một chút:

Vấn đề chính là đây: / dev / sda đang được tạo khi khởi động cho dù ổ USB của tôi có được cắm hay không. Nếu tôi thủ công rm / dev / sda, udev hoạt động chính xác cho đến khi tôi khởi động lại, lúc đó / dev / sda xuất hiện một cách kỳ diệu!

Câu hỏi gốc sau:

Tôi đang chạy bản dựng Yocto Linux trên một bảng nhúng và tôi gặp phải sự cố.

Với bản dựng mới, khi tôi cắm ổ USB vào bo mạch, nó hiển thị là / dev / sda và / dev / sda1 (tuyệt vời!). Khi tôi rút ổ đĩa, các mục đó sẽ biến mất (cũng rất tuyệt!).

Vấn đề xảy ra sau khi tôi sao chép một hệ thống tập tin gốc trùng lặp lên bảng thông qua ổ đĩa USB (điều này là để tôi có thể thực hiện cập nhật toàn bộ hệ thống lên bảng). Mọi thứ hoạt động tốt cho đến khi tôi khởi động lại, khi đột nhiên / dev / sda và / dev / sda1 tồn tại dù ổ USB có được cắm hay không.

Tôi đã kiểm tra các quyền và chúng trông giống nhau trong cả hai trường hợp. Tôi đã thử xóa các tệp nhưng chúng xuất hiện lại trong lần khởi động lại tiếp theo. Hai tệp không được sao chép với hệ thống tệp gốc mới. Ứng dụng của tôi sử dụng sự hiện diện của các tệp đó để xác định xem ổ đĩa có được chèn hay không, vì vậy điều quan trọng là chúng hoạt động chính xác.

Có ý kiến ​​gì không?

Cảm ơn

Marlon

Câu trả lời:


1

Thay đổi cách bạn kiểm tra ổ USB, vì cái này không đáng tin cậy.

Sử dụng lsusbhoặc kiểm tra /proc/scsi/usb-storagethư mục. Cả hai cách bạn đều nhận được nhiều thông tin từ kernel, do đó, bạn có thể chơi với những thứ như chuyển sang logic khác dựa trên số nhà cung cấp hoặc số sê-ri :)


Cảm ơn đã bình luận. Tôi không chắc lsusb sẽ cho tôi biết đủ thông tin, vì tôi không thể chạy lệnh mount chỉ dựa trên thông tin từ đầu ra của lsusb (cần biết nó ở đâu / dev). Và / Proc / scsi không tồn tại trên hệ thống của tôi. Không nên có thể thêm hoặc xóa thiết bị trong / dev một cách đáng tin cậy? Đây không phải là vấn đề trước khi tôi ghi đè hệ thống tập tin.
Marlon Smith
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.