linux – 如何重命名内核模块名称而不重命名.ko传递给insmod?

发布时间:2020-03-25 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了linux – 如何重命名内核模块名称而不重命名.ko传递给insmod?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要重命名已经存在的驱动程序的内核模块(使用lsmod显示的名称),而不更改源文件的名称.

例如

# insmod xxx.ko
<

>我想将xxx重命名为yyy.
>现在我知道更改驱动程序源文件的名称(当涉及单个文件时)会更改模块的名称.
>但我不想更改源文件的名称.

最佳答案
在Makefile中重命名obj-m并将obj-m的依赖关系设置为原始模块.

例如,我有包含所有源代码的文件hello.c.但我希望模块成为我的名字.

这是完整的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

我将obj-m设置为mynewname.o并使mynewname.o依赖于hello.o.调用make后你会得到mynewname.ko.

大佬总结

以上是大佬教程为你收集整理的linux – 如何重命名内核模块名称而不重命名.ko传递给insmod?全部内容,希望文章能够帮你解决linux – 如何重命名内核模块名称而不重命名.ko传递给insmod?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。