1.scull_load中
major=$(awk "\$2==\"$module\" {print \$1}" /proc/devices)
就是 將 \\$2 變成 \$2? ,\\$1 變成 \$1
開始懷疑是沒安裝awk,所以
sudo apt-get install original-awk鳖擒,后來沒法卸載埃疫,也不知道是不是這個awk要求特殊些導(dǎo)致的岛都。
2.不能將cdev包含在全局變量結(jié)構(gòu)體中,因為這樣,內(nèi)核沒法kfree包含cdev的結(jié)構(gòu)體,這個結(jié)構(gòu)體在data區(qū)(X86體系)芹务。導(dǎo)致的結(jié)果就是,你在用戶層調(diào)用close函數(shù)的時候鸭廷,系統(tǒng)不會執(zhí)行 file_operations中的 .release對應(yīng)的函數(shù)枣抱!