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

问题描述

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 reterr;ret = alloc_chrdev_region(&mydev01DEVICE_NAME);if(ret){    unregister_chrdev_region(mydev1);    return ret;}cdev_init(&mycdev&FM24CL64_fops);err = cdev_add(&mycdevmydev1);if(err){    unregister_chrdev_region(mydev1);    return ret;}my_class = class_create(THIS_MODULEDEVICE_NAME);if(IS_ERR(my_class)){    unregister_chrdev_region(mydev1);    return ret;}class_device_create(my_classNULLmydevNULLDEVICE_NAME);

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

时间: 2024-11-01 07:01:44

linux2.6.17设备节点创建的问题的相关文章

linux驱动开发--字符设备:自动创建设备节点

自动创建设备文件 定义在<linux/device.h>中 class结构:该结构体类型变量对应一个设备类,被创建的类存放在/sys目录下面 device结构:该结构体类型变量对应设备,被创建的设备存放于/sys目录下面 在加载驱动模块时,用户空间中的udev会自动响应device_create()函数,在/sys下寻找对应的类,从而为这个设备在/dev目录下创建设备文件 内核版本问题: 在内核2.4版本中使用devfs_register 在内核2.6早起版本中使用class_device_r

linux驱动开发--字符设备:创建一组设备节点

cdev改进 为设备驱动支持多个设备个体做准备,针对cdev进行改进 将代表字符设备的cdev对象包含在设备驱动定义的私有数据结构体中 对设备驱动私有数据结构体采用内核内存分配方式为其分配内存 将为每个设备添加cdev对象和创建设备节点封装为一个独立函数 支持多个设备个体 为设备驱动支持多个设备个体对驱动进行改进 循环调用为每个设备添加cdev对象和创建设备节点而封装的独立函数实现在系统中添加对多个设备个体的支持 /** *Copyright (c) 2013.TianYuan *All rig

platform型设备在/dev目录下自动创建设备节点的分析【转】

转自:http://blog.csdn.net/rockrockwu/article/details/7357648 系统启动过程中platform设备.驱动注册完毕,为什么在/dev目录下就自动创建好设备节点了? 在/dev目录自动创建设备节点可以通过class_create(),然后再device_create().但是在跟踪 内核platform注册过程中可以发现,其实这里面并未调用上诉两个函数,那么platform注册后 如何在/dev目录下创建设备文件节点?     [cpp] vie

I.MX6 Android 设备节点权限

/********************************************************************************** * I.MX6 Android 设备节点权限 * 说明: * Android 是使用ueventd来创建设备节点的,会解析ueventd.rc和ueventd.xxx.rc两个 * 文件中对设备节点权限设定来设定权限. * * 2017-4-30 深圳 龙华民治樟坑村 曾剑锋 ***************************

Linux chroot 并使用之前系统设备节点

/********************************************************************************* * Linux chroot 并使用之前系统设备节点 * 说明: * 直接使用chroot结果/dev下没有设备,所有有些东西需要提前挂载,在进入chroot. * * 2016-12-30 深圳 南山平山村 曾剑锋 **********************************************************

vpn server amdroid-如何在android 设备上创建一个vpn server

问题描述 如何在android 设备上创建一个vpn server 怎么创建一个手机端的 vpn server,怎么创建啊 找了好多 就只有client的 解决方案 用openvpn.建立server

openstack 无法在compute节点创建实例

问题描述 请教下大家,使用devstack安装的,一个controller,一个compute,网络是nova-network,在controller节点能正常创建实例,但是添加一个HostAggregates然后把compute放进去,却无法在compute上创建实例,提示错误如下:Novalidhostwasfound.Therearenotenoughhostsavailable.用命令行novaboot创建提示另一个错误:Connectiontoglancehost10.239.166.

赛门铁克揭示Android勒索软件可直接在移动设备中创建变种

随着移动设备的大范围普及,针对移动设备的勒索软件攻击数量也随之大增.近日,赛门铁克发现已知勒索软件家族Android.Lockdroid.E的若干变种,这些变种利用 Andriod集成开发环境 (AIDE),可在Android设备上直接开发而成.当前,有少部分Android勒索软件开发者群体在采用这种新的开发技术.然而,在移动设备中创建恶意软件很可能为未来恶意软件的创建开辟新的途径. 什么是快速应用开发? 在移动设备中创建新的勒索软件所使用的技术相对较新.勒索软件由软件开发中的"快速应用开发&q

Android勒索软件可直接在移动设备中创建变种

随着移动设备的大范围普及,针对移动设备的勒索软件攻击数量也随之大增. 近日,赛门铁克发现已知勒索软件家族Android.Lockdroid.E的若干变种,这些变种利用 Andriod集成开发环境 (AIDE),可在Android设备上直接开发而成.当前,有少部分Android勒索软件开发者群体在采用这种新的开发技术.然而,在移动设备中创建恶意软件很可能为未来恶意软件的创建开辟新的途径. 什么是快速应用开发? 在移动设备中创建新的勒索软件所使用的技术相对较新.勒索软件由软件开发中的"快速应用开发&