2012-03-04 146 views
4

我按照論壇中的步驟(http://www.schaeuffelhut.de/wordpress/?p=237&cpage=1#comment-384)獲取Linux內核源代碼並交叉編譯我的模塊。 google nexus的內核版本與論壇中的完全相同。我最初測試了我的測試模塊hello-1.ko,它已成功安裝在Android設備上。但是當我使用insmod在android設備上安裝模塊ec.ko時,出現以下錯誤。在Android Kernel中執行insmod時沒有這樣的文件或目錄錯誤

apurva @ apurva-的Inspiron-1464:〜/ $ ADB殼
$ CD SD卡/數據/ EC
$ LS
ec.ko
$蘇
#insmod的ec.ko
insmod的:init_module的 'ec.ko' 失敗(沒有這樣的文件或目錄)

很顯然,該文件ec.ko存在。但我不確定它爲什麼不選擇文件。我爲hello-1.ko做了同樣的事情,它的insmod非常好。沒有權限問題,ec.ko獲得的權限與hello-1.ko獲得的權限相同。

現在,這給我帶來了問題,在Android設備的內核模塊是否存在某些限制,因爲這個模塊在Ubuntu中獲取insmod。對我來說,下一步是採取一種命中和試用的方法,並檢查ec.c中的哪些行導致問題。同時,如果你有一些建議,請讓我知道。

回答

0

你可以檢查dmesg日誌看看有什麼東西可以幫到你。我也遇到了同樣的問題。以下是我如何解決這個問題。 我使用insmod命令在android設備上安裝了我的模塊,但是我收到了和你一樣的錯誤消息。我在當時檢查了dmesg,並得到了這個:未知符號「XXX」(我忘記了函數名稱。 )。我使用了命令--cat/proc/kallsyms | grep「XXX」來找到這個符號,但是我什麼也沒找到。這個問題的原因是AndroidM中已經棄用了這個函數。最後,我通過註釋來解決這個問題功能。

相關問題