Pra*_*eep 5 linux kernel module kernel-module
我需要重命名已经存在的驱动程序的内核模块(使用lsmod显示的名称),而不更改源文件的名称.
例如
# insmod xxx.ko
<<module loads successfully>>
# lsmod
Module Size Used by Tainted: P
xxx 191527 0
#
Run Code Online (Sandbox Code Playgroud)
我想将xxx重命名为yyy.
现在我知道更改驱动程序源文件的名称(当它涉及单个文件时)会更改模块的名称.
但我不想更改源文件的名称.
重命名你obj-m的 Makefile 并将依赖设置obj-m为原始模块。
例如,我有hello.c包含我所有源代码的文件。但我希望模块是mynewname.
这是执行此操作的整个 Makefile:
obj-m := mynewname.o
mynewname-objs := hello.o
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
Run Code Online (Sandbox Code Playgroud)
我设置obj-m为mynewname.o并mynewname.o依赖于hello.o. 调用 make 后你会得到mynewname.ko.