為什麼我寫的module不能掛上?

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

為什麼我寫的module不能掛上?

文章iknowfish » 週一 5月 08, 2006 6:47 pm

#define MODULE
#include <linux/module.h>

int init_module(void) { printk("<1>Hello, world\n"); return 0; }
void cleanup_module(void) { printk("<1>Goodbye cruel world\n"); }



編譯時出現:
[root@socdsp5 iknow]# gcc -c module-1.c
[root@socdsp5 iknow]# insmod ./module-1.o
./module-1.o: kernel-module version mismatch
./module-1.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8.
[root@socdsp5 iknow]#
請問下面訊息,該如何解決??

./module-1.o: kernel-module version mismatch
./module-1.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8.

我用的是redhat9.0,gcc還需要改什麼嗎?
iknowfish
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週二 12月 27, 2005 1:55 pm

文章cyu021 » 週四 5月 11, 2006 1:56 pm

很明顯是version不符
cyu021
懵懂的國中生
懵懂的國中生
 
文章: 137
註冊時間: 週二 9月 14, 2004 9:52 am

文章iknowfish » 週五 5月 12, 2006 10:25 pm

我知道是version不符

但要怎麼解決呢?

#insmod -f ./module-1.o


加了參數-f可強迫掛上,但有沒有徹底一點的解決方式啊?
iknowfish
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週二 12月 27, 2005 1:55 pm

文章adrian » 週五 5月 12, 2006 11:10 pm

請下載"2.4.20-8"的kernel source, 並解壓縮至/usr/src/資料夾, 重編你的module, 這樣就可以了!
What a fascinating Linux it is!
adrian
可愛的小學生
可愛的小學生
 
文章: 33
註冊時間: 週六 10月 08, 2005 2:51 pm
來自: 台南

文章computerson » 週二 5月 30, 2006 10:55 pm

換GCC的版本~~試看看
computerson
可愛的小學生
可愛的小學生
 
文章: 1
註冊時間: 週二 5月 30, 2006 10:42 pm

文章andrew » 週四 6月 01, 2006 11:38 am

iknowfish 寫:編譯時出現:
[root@socdsp5 iknow]# gcc -c module-1.c
[root@socdsp5 iknow]# insmod ./module-1.o
./module-1.o: kernel-module version mismatch
./module-1.o was compiled for kernel version 2.4.20
while this kernel is version 2.4.20-8.

Hi :
你在code裡面加上 #define __KERNEL__
然後編譯時, 加上 -I/usr/src/linux-2.4/include 試試看
當然, 你系統中得要先有 kernel source,
不過我記得RedHat9 預設有幫你安裝.
andrew
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週五 5月 13, 2005 1:19 pm


回到 embedded system

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron