Bất kỳ nút thiết bị nào bạn tạo /lib/udev/devices
sẽ được sao chép vào /dev/
lúc khởi động hệ thống:
DESCRIPTION
udevd listens to kernel uevents. For every event, udevd
executes matching instructions specified in udev rules. See
udev(7).
On startup the content of the directory /lib/udev/devices is
copied to /dev. If kernel modules specify static device
nodes, these nodes are created even wihtout a corresponding
kernel device, to allow on-demand loading of kernel modules.
Matching permissions specified in udev rules are applied to
these static device nodes.
Nhưng nếu bạn muốn làm cho một cái gì đó thuận tiện hơn cho người dùng của mình, có hai cách bạn có thể thực hiện:
Bạn có thể sửa đổi mã trình điều khiển để tạo nút thiết bị: drivers/base/core.c::device_add(struct device *dev)
cho phép bạn tạo các nút thiết bị nếu struct device
devt
trường của bạn khác không:
if (MAJOR(dev->devt)) {
error = device_create_file(dev, &devt_attr);
if (error)
goto ueventattrError;
error = device_create_sys_dev_entry(dev);
if (error)
goto devtattrError;
devtmpfs_create_node(dev);
}
Bởi vì điều này sẽ chỉ hoạt động nếu bạn chọn một chính / phụ tĩnh, nó có thể không phải là cách tốt nhất về phía trước, nhưng tất cả các tài liệu đều đề cập đến các "nút thiết bị tĩnh" này khá thường xuyên, vì vậy có lẽ vẫn còn một khoảng trống để tạo các nút thiết bị tĩnh .
Bạn có thể cung cấp các quy tắc udev cho các thiết bị của bạn; Daniel Drake đã viết một hướng dẫn tốt đẹp mà bạn có thể tìm thấy nhiều ánh sáng hơn udev(7)
tài liệu chính thức.