研究了好久模塊驅動的安裝方法,今天終於做出來東西了,紀念一下!
第一步:編譯配置linux-2.6.36/drivers/char/Kconfig文件。
比如我要配置一個模塊
config guozhiyuan
tristate "guozhiyuan sample"
depends on CPU_S3C6410
help
guozhiyuan sample.
第二步:在linux-2.6.36下運行make menuconfig 選擇Device Drivers -->Character devices 選擇要編譯的對象,變成<M>。
第三步:編譯linux-2.6.36/drivers/char/Makefile 文件
加入obj-$(CONFIG_guozhiyuan) += guozhiyuan.o
第四步:回到linux-2.6.36下執行make modules ,就可以生成
LD [M] drivers/char/guozhiyuan.ko
前提是要執行過make zImage一次,只需一次就可以了。
至此,就完成了模塊驅動的編譯了
接著我們要把編譯好的guozhiyuan.ko用ftp命令下載到開發板上使用,並移動到/lib/modules/2.6.36-FriendlyARM,
在運行modprobe guozhiyuan (注意使用modprobe命令加載模塊不需要加“ko”後綴) 會出現如下錯誤:
modprobe: module 'guozhiyuan.ko' not found
這是要把模塊文件放到/lib/modules/2.6.38-FriendlyARM/kernel 目錄下;
運行 depmod
再 回到/lib/modules/2.6.38-FriendlyARM 目錄下執行modprobe guozhiyuan 就好了
最終會顯示:
[root@FriendlyARM 2.6.38-FriendlyARM]# modprobe guozhiyuan
Hello, welecome guozhiyuan !
[root@FriendlyARM 2.6.38-FriendlyARM]# rmmod guozhiyuan
Good-bye, guozhiyuan was removed!
[root@FriendlyARM 2.6.38-FriendlyARM]#