gpt4 book ai didi

linux - sysctl 不在 proc 中创建文件

转载 作者:太空狗 更新时间:2023-10-29 12:43:00 31 4
gpt4 key购买 nike

要在内核模式和用户空间进行通信,我使用 this C program .我正在使用以下 Makefile 创建要加载的 .ko 文件。

bj-m   := sysctl_test.o

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

成功执行并加载.ko文件后,应该会创建/proc/sys/net/test目录,和value1value2 文件在该目录中。

当我加载这个模块时,它不会创建任何文件或目录。我在这里做错了什么或代码需要一些更改吗?

我试过修改结构中的值:

static ctl_table test_net_table[] = {
{
...
.procname = "/proc/sys/net/test",
...
},
{ .ctl_name = 0 }
};

static ctl_table test_root_table[] = {
{
...
.procname = "/proc/sys/net/",
...
},
{ .ctl_name = 0 }
};

原始值分别是testnet

感谢您的宝贵时间!

最佳答案

尝试改变

bj-m   := sysctl_test.o

obj-m   := sysctl_test.o

它对我有用。

PS:这是一个老问题,但我更新了答案,以供那些遇到同样错误并阻止她的人。

关于linux - sysctl 不在 proc 中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35621307/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com