核心模組載入錯誤 Makefile

2021-06-27 08:02:01 字數 809 閱讀 7180

載入核心模組錯誤:insmod: error inserting 'globalvar.ko': -1 device or resource busy

問題描述:裝置號跟已有的裝置衝突了

解決方法:檢視已有裝置號:cat /proc/devices

修正在程式中設定的裝置號,或者改為自動分配

錯誤2: insmod: error inserting 'helloworld.ko': -1 invalid module format

問題描述:目前核心與makefile中的核心不匹配

當前核心:uname -r

ifeq ($(kernelrelease),)

kerneldir ?= /lib/modules/$(shell uname -r)/build

#kerneldir ?= /usr/src/linux-headers-$(shell uname -r)/

pwd := $(shell pwd)

modules:

$(make) -c $(kerneldir) m=$(pwd) modules

modules_install:

$(make) -c $(kerneldir) m=$(pwd) modules_install

clean:

rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions

.phony: modules modules_install clean

else

obj-m := globalvar.o

endif

linux核心可載入模組的makefile

在開發linux核心驅動時,免不了要接觸到makefile的編寫和修改,儘管網上的makefile模板一大堆,做一些簡單的修改就能用到自己的專案上,但是,對於這些基礎的東西,更應該做到知其然並知其所以然。本篇文章中只討論linux核心模組編譯的makefile,linux核心makefile總覽可以...

核心模組載入過程

載入過程 巨集module init本質是將核心中函式的指標指向模組的初始化函式.啟動時載入 過程 系統在進入與體系結構無關的核心部分後,開始呼叫 init main.c中的start kernel 函式.經過start kernel rest init kernel thread kernel i...

載入核心出現的錯誤

在載入核心的時候,首先提示了很多資訊 unknown symbol in module 提示不知道的符號 原因可能是因為在用export symbol func1 的時候沒有使用module license gpl insmod can t insert abc.ko unknown symbol ...