最近在搞Linux驱动开发,然而开发板搞坏了,于是在另一台电脑上安装Ubuntu测试虚拟字符设备驱动,将另一台电脑上的Ubuntu作为模块驱动载体。
在开发过程中,代码编译的源文件是需要内核的。但是我们这次的平台是Ubuntu不是自己的开发板,于是应该Makefile改为当前平台的内核。经过查找资料找到一下方法。
1、查看当前系统内核
命令:uname -a
得到以下信息
可以看到内核版本为5.4.0-52-generic
2、修改Makefile
将Makefile中依赖文件路径改为当前系统内核所在位置的绝对路径就可以了
KERNELDIR := /usr/src/linux-headers-5.4.0-53-generic
CURRENT_PATH := $(shell pwd)
obj-m := chrdevbase.o
build: kernel_modeles
kernel_modeles:
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean
<