0
我有一個主號碼100和輔號碼120 這裏一個內核模塊MyModule的閱讀是我做過什麼:從設備文件
make all
sudo insmod ./myModule.ko
mknod ~/myModule c 100 120
當我檢查日誌與
cat /proc/syslog
然後它顯示了init函數中的printk()。
但我也實現此功能:
ssize_t myModule_read(struct file *f, char __user *user_buffer, size_t num, loff_t *offset);
它提供了一個的printk()當一個進程從設備文件讀取。 由於我的設備文件在我的主目錄,我試過如下:
cat ~/myModule
和
hexdump ~/myModule
,但它說,沒有這樣的設備或地址。
那麼我怎樣才能實際觸發讀取(或釋放)功能呢?
編輯: 如果mknod是冗餘的:設備文件也不在/ dev /目錄中。 但它顯示出來:
cat /proc/devices
安裝有'nodev你的home目錄'選項? –
不是我所知道的。它使用了不同的設備。 但是既然我們在這裏:我是否真的必須用mknod創建設備文件還是這是多餘的? –
除了'mknod'之外,我還不知道在Linux上這樣做,但可能會有一個。發佈您的設備註冊碼。 –