kern_dir = /work/system/linux-3.4.2
all:
make -c $(kern_dir) m=`pwd` modules
clean:
make -c $(kern_dir) m=`pwd` modules clean
rm -rf modules.order
obj-m += hello.o
-c
選項的作用是指將當前工作目錄轉移到你所指定的位置。
「m=」
選項的作用是,當使用者需要以某個核心為基礎編譯乙個外部模組的話,需要在
make modules
命令中加入
「m=dir」
,程式會自動到你所指定的
dir目錄中查詢模組原始碼,將其編譯,生成
ko檔案。
執行obj-m += hello.o,表示會將hello.o目標編譯成.ko模組。
若有多個原始檔,則採用如下方法:
obj-m := hello.o
hello-objs := file1.o file2.o file3.o
編譯ARM平台ko驅動的通用Makefile寫法
先安裝好交叉編譯器 kerneldir home fandy sdk linux 3.4 xx 核心路徑 pwd shell pwd cc cross compile gcc obj m name.o 驅動名稱 modules make c kerneldir m pwd modules clean...
驅動模組(ko)檔案載入失敗分析
在實際工作中,通常出現sdk編譯出來的驅動模組,在最小系統中載入失敗,即insmod ko 失敗,disagree param with the version 等之類的提示。1.分析核心版本,uname a 一看,最小系統的核心版本和編譯sdk的核心版本一樣。因為sdk編譯出來就是乙個驅動ko,以...
Ubuntu 驅動ko故障排查
ubuntu上安裝了第三方驅動,但是驅動安裝有問題,經過漫長實驗發現其實也就那幾個問題,1.檢視ko是否載入,lsmod grep 安裝insmod ko 2.開機載入ko檔案,編輯vi etc module新增一行 全名為 ko,注意不需要ko字尾 並且將 ko拷貝到 lib modules ex...