是否可以在以 mod 666 启动的 Linux 内核模块中创建字符设备?现在它总是 600(由 root 拥有),我必须 chmod 它。我可以创建 udev 条目来解决它,但我真的宁愿模块自动执行它。
是否可以?我在 cdev_init 或 cdev_add 文档中找不到有关此的任何信息。
您可以通过设置来做到这一点dev_uevent
类结构中的方法。在此方法中,您必须设置DEVMODE
uevent 变量。这是一个例子
static int my_dev_uevent(struct device *dev, struct kobj_uevent_env *env)
{
add_uevent_var(env, "DEVMODE=%#o", 0440);
return 0;
}
static struct class my_class = {
.name = "myname",
.owner = THIS_MODULE,
.dev_uevent = my_dev_uevent,
[...]
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)