2014-01-20 64 views
12

我試圖做一個hello_world內核模塊在Raspberry Pi上使用C和Bash。錯誤使用insmod「無法插入模塊hello_world.ko:無效的模塊格式」

我成功使用make命令生成hello_world.ko文件。

然而,當我嘗試使用insmod hello_world.ko命令,我收到以下錯誤:

Error: could not insert module hello_world.ko: Invalid module format

我嘗試以下的Raspberry Pi forum描述的步驟,但我沒有多少運氣。

我想這可能是由於我的內核和Linux頭文件之間的版本不匹配。這些頭文件在這個過程中起什麼作用,以及如何獲得與我的內核相匹配的版本?

回答

6

頭文件定義模塊和內核之間的接口以及用戶空間和內核之間的接口。 如果您的內核版本和頭文件之間不匹配,您的模塊將無法正常工作,正如您所期望的那樣。 您當前的頭文件通常在您的存儲庫中可用。 您可以通過檢查你當前運行的內核:

 uname -r 

事後檢查您的回購爲Linux標題:

sudo apt-cache search linux-headers 

並安裝它們。

相關問題