原常用的模塊操作命令
rannar閱讀數(shù):522018-09-02
驅(qū)動一般可實現(xiàn)為驅(qū)動的方式,但是模塊不只是驅(qū)動,還有別的東西也可以實現(xiàn)為模塊
1.lsmod (list module 將當前內(nèi)核已安裝的模塊列表顯示出來)\
也可以編寫一個只包括這兩個函數(shù)的模塊,這樣該模塊中唯一會被調(diào)用的函數(shù)就是模塊被加載時所調(diào)用的函數(shù)init_module()和模塊被卸載時所調(diào)用的函數(shù) cleanup_module()。模塊加載函數(shù)(必須)當通過insmod或modprobe命令加載內(nèi)核模塊時,模塊的加載函數(shù)會自動被內(nèi)核執(zhí)行,完成本模塊的相關初始化工作。簡要分析一下堆棧,從堆棧中我們暫時無法發(fā)現(xiàn)崩潰的位置,只有我們自己模塊的代碼啟動函數(shù),這并不能確認問題linux常用命令,代碼運行主模塊的時候發(fā)生了異常,異常經(jīng)由系統(tǒng)派發(fā),系統(tǒng)并沒有找到可處理的seh處理程序,進而派發(fā)到線程最后一個異常處理,這個處理就是未處理異常的過濾函數(shù),unhandledexceptionfilter,一般這個函數(shù)會判斷用戶是否設置了未處理異常過濾函數(shù)linux常用命令,自然我們的模塊中并沒有設置異常捕獲,接著unhandledexceptionfilter開始調(diào)用錯誤提示框顯示錯誤給用戶,并等待用戶的操作。
3.modinfo 查看模塊版本信息
insmod時模塊的版本信息vermagic必須與內(nèi)核zImage的版本信息相同,否則不能安裝
報錯信息為:insmod: ERROR: could not insert module myleds.ko: Operation not permitted
4.rmmod 卸載模塊
5.modprobe掛載新模塊及新模塊相依賴的模塊
6.depmod 顯示模塊依賴關系