Как создать устройство в / dev автоматически после загрузки модуля ядра для драйвера устройства?

Я пытаюсь разработать драйверы устройств Linux, и в качестве первой попытки я пытаюсь разработать драйвер устройства char, который имеет следующие параметры файла,

struct file_operations fops{  
.open=open_fun,  
.release=release_fun,  
.write=write_fun,  
.read=read_fun,  
};  

Когда я загружаю драйвер с помощью insmod , Я вижу, что / proc / devices перечисляет драйвер в разделе char devices, но я не могу найти его в / dev . Поиск в Google предложил использовать mknod для создания deivce в / dev и связать его с основным и второстепенным драйвером. Однако попытка сделать это привела к ошибке «В разрешении отказано», даже если это было сделано в качестве суперпользователя.

Что мне делать, чтобы устройство появилось в / dev при загрузке модуля ядра? Я пробовал как старую ( register_chrdev ), так и новую версию ( cdev_init & cdev_add ) зарегистрировать устройство, но ни одна из них не работает.

Спасибо,
Мир

12
задан Mir 2 January 2012 в 04:03
поделиться