[英]Linux Kernel Module Error on Raspberry Pi
我有一台小的樹莓派計算機,而我正在玩創建內核模塊的第一本游戲。 我已經下載了源代碼,並設法編譯了我的測試模塊,但是當我嘗試加載它時,出現此錯誤:
insmod: error inserting 'hello.ko': -1 Invalid module format
當我查看dmesg時,我看到此錯誤:
hello: version magic '3.1.9+ mod_unload modversions ARMv6 p2v8 ' should be '3.1.9+ mod_unload modversions ARMv6 '
誰能指出我的正確方向,我不確定它告訴我什么?
干杯盧克
聽起來您下載的內核源與Pi上安裝的內核不匹配。
您從哪里下載的?
要獲取正確的內核源,請在命令行中鍵入以下內容:
sudo apt-get install linux-source
這應該為您的內核下載正確的內核源代碼(它是一個元軟件包)。 現在,您應該在/lib/modules/
下看到一個與您的內核版本相匹配的目錄(當您鍵入uname -r
時打印出的版本)
重新編譯並鏈接您的代碼-通過在Makefile中添加如下一行,確保選擇了正確的內核源:
all:
make -C /lib/modules/$(shell uname -r)/build M=${PWD} modules
現在,新編譯的.ko模塊應該與您的內核匹配,並且插入時不會有任何抱怨。
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.