linux3.14.38 解決不能正確加載驅動 insmod: can't insert 'xxx.ko':invalid module format

錯誤原因總結 及 解決方法

1、  原因:這是因爲 正在運行的板子的內核版本 與 編譯驅動的內核版本 不一致造成的。

        解決方法:確保在與開發板運行的相同的內核版本下,編譯你的驅動程序,如果正常情況 這個問題是可以解決的。

 

 2、 原因:如果你確定你的問題不是第1種情況,那麼你把內核配置中的模塊版本檢測給去掉 並 強制加載驅動的選項給選上,我是通過這辦法解決的。     

        解決方法: 將內核配置爲強制加載驅動模塊(我用的內核版本是 linux-3.14.38)

        ① make menuconfig 配置內核

        ② 選中 Enable loadable module support,並且敲回車進入

             選中 Forced module loading,強制加載驅動程序

             取消 Module versioning support,去掉模塊版本檢測

          ③ 編譯內核,把這個內核燒寫到開發板中。在此這個內核裏,在編譯好你的內核程序

               在開發板上就可以用insmod成功加載了,lsmod可以看到掛載的驅動。

                

        

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章