Mdev là gì và làm thế nào để / dev / * nút được tạo trong Linux?


11

Nhân Linux của chúng tôi là 2.6.31 chạy trên bộ xử lý MIPS nhúng với busybox.

Kịch bản khởi tạo (RCS) bắt đầu mdev với:

echo "/sbin/stbhotplug" > /proc/sys/kernel/hotplug
mdev -s

Ai đó có thể cho tôi biết tiện ích Linux mdev làm gì không?

Có vẻ như nó tự động cắm nóng vì stbhotplug là một tập lệnh xử lý các giao diện ethernet.

Ngoài ra, các rootfs chúng tôi đã được cung cấp chỉ có một thiết bị giao diện điều khiển tức /dev/consolelà tập tin duy nhất trong /dev.

Tuy nhiên, khi hệ thống đang chạy, /devthư mục chứa đầy các tệp thiết bị (ví dụ: /dev/mtdv.v.).

Lý do tôi hỏi là thỉnh thoảng chúng tôi gặp lỗi, theo đó nó được báo cáo /dev/ubi_ctrllà không tìm thấy hoặc /dev/ubi1không tìm thấy.

Làm thế nào hoặc khi nào Linux tạo ra các thiết bị này?

Cảm ơn.

Câu trả lời:



6

mdev là một thay thế trọng lượng nhẹ cho udev để sử dụng trong các thiết bị nhúng. Cả hai đều xử lý việc tạo tập tin thiết bị trong /devvà bắt đầu hành động khi một số sự kiện nhất định xảy ra.


Vì vậy, nếu /devcác thiết bị không được tạo ra, có thể là một vấn đề với mdevhoặc vấn đề thời gian?

Vâng, theo như tôi hiểu cả hai có thể là sự thật. Nhưng tôi chỉ viết câu trả lời vì tôi mới đọc về mdev trong một bài báo ngày hôm qua. Nói chung tôi không có kinh nghiệm với nó và không thể hỗ trợ thêm. Đó là lý do tại sao tôi đăng câu trả lời của mình như một khởi đầu cho câu trả lời wiki cộng đồng.

1

mdevvề cơ bản gọi mknodcho một tập hợp các tập tin thiết bị được cấu hình sẵn.

Nếu bạn có một sự lựa chọn, sử dụng thay thế:

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

tự động gắn hệ thống tệp devtmpfs đặc biệt bên dưới /devvà cho phép các mô-đun tự động tạo các tệp thiết bị của riêng mình trên insmod, như được hiển thị tại: /programming/5970595/how-to-create-a-device-node-from -the-init-module-code-of-a-linux-kernel-module / 45531867 # 45531867

Đây là những gì Buildroot và hầu hết các distro hiện đang làm theo mặc định.

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.