DengPihui 2015-03-17 00:27 采纳率: 0%
浏览 919

linux2.6.17设备节点创建的问题

我的内核版本linux2.6.17,想在内核中添加一个驱动,模块加载初始化代码如下:
#define DEVICE_NAME "mydev"
static struct class *my_class;
static dev_t mydev = 0;
static struct cdev mycdev;
static int __init FM24CL64_init(void)
{

int ret,err;
ret = alloc_chrdev_region(&mydev,0,1,DEVICE_NAME);
if(ret)
{
    unregister_chrdev_region(mydev,1);
    return ret;
}
cdev_init(&mycdev,&FM24CL64_fops);
err = cdev_add(&mycdev,mydev,1);
if(err)
{
    unregister_chrdev_region(mydev,1);
    return ret;
}
my_class = class_create(THIS_MODULE,DEVICE_NAME);
if(IS_ERR(my_class))
{
    unregister_chrdev_region(mydev,1);
    return ret;
}
class_device_create(my_class,NULL,mydev,NULL,DEVICE_NAME);

printk("\n\nFM24CL64 Init End\n\n");
return 0;
}
编译能通过,内核启动结束后,输入:cat /proc/devices命令能查询到设备名称和设备号:253 medev,但是在/dev目录下根本就没有“mydev”这个设备节点,不知该如何解决,网上有说用mknod命令可以手动创建设备节点,但是我使用该命令时显示“sh:can‘t execute ’mknod‘:No such file.........”,是不是我的内核配置得不对?还是我的根文件系统缺少某些东西?还是其他别的原因。求大神指点或指引方向,不胜感激!!!谢谢!!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥500 火焰左右视图、视差(基于双目相机)
    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本