- 論壇徽章:
- 0
|
我詳細(xì)介紹一下我的情況:
1,我先把開發(fā)包中自帶的linux鏡像裝到s3c2440上,并且能實(shí)現(xiàn)一個(gè)簡單的應(yīng)用程序。
2,編譯簡單的hello驅(qū)動(dòng)模塊,s3c2440的內(nèi)核是2.6.31,主機(jī)上用的是ubuntu10.04,交叉編譯器是 arm-linux4.1.2 我先把開發(fā)包中的內(nèi)核源碼包linux-2.6.31_TX2440A20100612.tar.bz2和它的補(bǔ)丁linux-2.6.31_TX2440A201000612.patch下載到我的一個(gè)目錄下,解壓linux-2.6.31_TX2440A20100612.tar.bz2,然后進(jìn)入到解壓后的linux-2.6.31_TX2440A目錄,打上補(bǔ)丁
patch -p1 < /home/cao/tx2440a/linux-2.6.31_TX2440A201000612.patch,出現(xiàn)了下面的一些東西
Reversed (or previously applied) patch detected! Assume -R? [n]我直接按enter鍵,然后輸入
make oldconfig 和make preare
3.我進(jìn)入hello目錄編譯hello.c,生成了如下文件:hello.ko hello.mod.c hello.mod.o hello.o Module.symvers modules.order
4,編譯好的hello.ko下載到開發(fā)板上,用insmod命令安裝hello.ko時(shí)出現(xiàn)如下錯(cuò)誤:
[root@TX2440A cao]# insmod hello.ko hello: version magic '2.6.31 modversions ARMv5 ' should be '2.6.31 mod_unload ARMv4 '
insmod: can't insert 'hello.ko': invalid module format
我不清楚什么原因,試著把它的內(nèi)核linux-2.6.31_TX2440A編譯一下,結(jié)果出現(xiàn)了上面的錯(cuò)誤
drives/block/cciss.c:In function 'cciss_init':
drives/block/cciss.c:4197:error:size of array 'type name' id negative
make[2]:***[drives/block/cciss.o]Error 1
make[2]:***[drives/block]Error 2 |
|