gpt4 book ai didi

c - 插入 mymodule 后,我没有看到创建/sys/module/mymodule/parameters 文件夹

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:11 27 4
gpt4 key购买 nike

我创建了一个名为 mymodule.c 的简单内核模块。插入后:

insmod mymodule.ko param_int=0x100

它被加载并在日志中打印正确的值。我还可以看到正在创建文件夹 /sys/module/mymodule/。但是我没有看到在 /sys/module/mymodule/

中创建了参数文件夹

我做错了什么?

#include <linux/module.h>
#include <linux/init.h>
static int param_int = 0xBABE;

module_param(param_int, int, 0);
MODULE_PARM_DESC(param_int, "Pass any integer from insmod, it will be printed");

static int __init ch03_lab1_init(void)
{
pr_info("Chapter 03 Lab1\n");
pr_info("param_int = 0x%x\n",param_int);
return 0;
}

static void __exit ch03_lab1_exit(void)
{
pr_info("Chapter 03 Lab1 Exit\n");
}

module_init(ch03_lab1_init);
module_exit(ch03_lab1_exit);

MODULE_AUTHOR("SATHYA");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("WLDD Chapter3 Lab 1 example");
MODULE_VERSION("2.0");

最佳答案

这是你的问题:

module_param(param_int, int, 0);

module_param 宏的最后一个参数是 sysfs 中变量的权限。由于您在此处指定了零,因此不会导出参数。

将其更改为:

module_param(param_int, int, S_IRUGO | S_IWUSR);

你应该让它按预期出现。

关于c - 插入 mymodule 后,我没有看到创建/sys/module/mymodule/parameters 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33823886/

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