※ 引述《fish39 (沒有女朋友T.T)》之銘言:
: 我的程式:
: #define MODULE
: #include <linux/module.h>
: #include <linux/kernel.h>
: int init_module(void)
: {
: printk("<0>hello\n");
: return 0;}
: void cleanup_module(void)
: {
: printk("<0>goodbye\n");}
: 在終端機下我輸入:arm-linux-gcc -o hello hello.c
: 會出現下面情況:http://socdsp.ee.nchu.edu.tw/question/q.JPG
: 不知該如何解決,我有試著在include下面加入一般linux的version.h檔
: 不過,發現,加入後,又多了一些檔找不到~=.=
: 問題二:另外,我在redhat9的終端機下輸入:insmod ./hello.o
: 會出現版本不同的問題:http://socdsp.ee.nchu.edu.tw/question/q2.JPG
: 改用:insmod -f ./hello.o 是可以強迫掛上去,但是有沒有別種較徹底的作法?
: PS:arm-linux-gcc是嵌入式板子所提供的tool cahin 的cross compiler
: 希望有高手能解決我的問題
: 謝謝
可以自po自答嗎?QQ
因為問題解決了~
首先先說module要使用強迫方式掛上的問題~
其實版本的問題,實在非常沒意義~
雖然在redhat或一般linux系統,會出現警告標語,或不給你掛載
根本可以不用鳥他,原因是,我是玩嵌入式系統,掛到target linux上,根本不會出現~
因為,我使用的gcc是arm gcc剛好match@.@
ps:
有沒有,徹底解決這個版本問題的方法啊?請版友回po告知一下,非常感謝你~
第二:找不到version.h的問題
其實就是搞錯他tool chain 的路徑,要自已手動改成編譯linux kernel
參考目錄下的head檔路徑
還希望,版上有玩embedded system 的人,可以分享一下過程經驗
一個人玩有點辛苦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.81.233.37
※ 編輯: fish39 來自: 219.81.233.37 (05/17 00:40)