使用insmod安裝內核模塊失敗

使用insmod安裝內核模塊失敗

由於centos主機與要開發的平臺系統版本號不同,因此在編譯的時候,如果是要燒錄到路由器中,則以其系統版本號爲準,如果是在PC機中模擬運行,則以主機系統版本號爲準。
通過命令uname –r查得PC主機的系統版本號爲3.10.0-957.el7.x86_64,而設備開發系統版本號爲3.10.14,因此在編譯的時候,注意Makefile中相關的路徑問題:
當在主機中模擬運行的時候,使用如下Makefile:

obj-m   += dns.o
export PWD :=   $(shell pwd)

.PHONY: modules
KDIR =  /usr/src/kernels/3.10.0-957.21.3.el7.x86_64
modules:
    #$(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules
    $(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
    #$(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean    
    $(MAKE) -C $(KDIR) M=$(PWD) clean

如果要編譯到路由器中去運行,則:

obj-m   += dns.o
export PWD :=   $(shell pwd)

.PHONY: modules
#KDIR =  /usr/src/kernels/3.10.0-957.21.3.el7.x86_64
modules:
    $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules
    #$(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
    $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean 
    #$(MAKE) -C $(KDIR) M=$(PWD) clean


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章