linux下udev和mdev的使用】的更多相关文章

linux下设备文件系统有devfs.udev和mdev这三种. 一.devfs devfs是由Linux 2.4内核引入的,引入时被许多工程师给予了高度评价,它的出现使得设备驱动程序能自主地管理自己的设备文件. 具体来说,devfs具有如下优点: 1.可以通过程序在设备初始化时在/dev目录下创建设备文件,卸载设备时将它删除. 2.设备驱动程序可以指定设备名.所有者和权限位,用户空间程序仍可以修改所有者和权限位. 3.不再需要为设备驱动程序分配主设备号以及处理次设备号. devfs也存在着一些…
一.关于Udev u即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制.udev是一个针对2.6内核的文件系统.提供一种基于用户空间的动态设备节点管理和命名的解决方案.用于取代落后的devfs udev与硬件平台无关,属于用户空间的进程,是一个后台程序,它脱离驱动层的关联,而建立在操作系统之上,只要修改配置文件使之生效,无需重启操 作系统,它需要sysfs的支持,当底层设备发生插拔的时候,底层驱动通过netlink发送事件(u…
本文转载自:http://blog.csdn.net/skyflying2012/article/details/9364555 一.关于Udev u即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制.udev是一个针对2.6内核的文件系统.提供一种基于用户空间的动态设备节点管理和命名的解决方案.用于取代落后的devfs udev与硬件平台无关,属于用户空间的进程,是一个后台程序,它脱离驱动层的关联,而建立在操作系统之上,只要…
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下.后来,采用了devfs,一个基于内核的动态设备文件系统,他首次出现在2.3.46 内核中.Mandrake,Gentoo等Linux分发版本采用了这种方式.devfs创建的设备文件是动态的.但是devfs有一些严重的限制,从 2.6.13版本后移走了.目前取代他的便是文本要提到的udev--…
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下.后来,采用了devfs,一个基于内核的动态设备文件系统,他首次出现在2.3.46 内核中.Mandrake,Gentoo等Linux分发版本采用了这种方式.devfs创建的设备文件是动态的.但是devfs有一些严重的限制,从 2.6.13版本后移走了.目前取代他的便是文本要提到的udev--…
1.mdev的使用方法和原理: mdev是busybox 自带的一个简化版的udev,适合于嵌入式的应用埸合.其具有使用简单的特点.它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件.在以busybox 为基础构建嵌入式linux 的根文件系统时,使用它是最优的选择 下面介绍使用方法: 以字符设备char_dev为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用class_device_create创建对应的设备,…
Udev介绍 Udev的下载网址:http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/ Udev分为三个子计划:namedev,libsysfs和udev.Namedev为设备命名子系统,libsysfs提供访问sysfs文件系统,从中获取信息的标准接口.Udev是提供/dev设备节点文件的动态创建和删除策略. Namedev 使用5个步骤来决定指定设备的命名. (1)       标签/序列号 (2)       设备总线号 (3…
关于udev和mdev之间的区别与联系我发现自己现在还没有把它完整的给区分开来和联系起来. 设备文件系统有devfs,mdev,udev mdev是udev的简化版本,是busybox中所带的程序,最适合用在嵌入式系统,而udev一般用在PC上的linux中,相对mdev来说要复杂些,devfs是2.4内核引入的,而在2.6内核中却被udev所替代,他们有着共同的优点,只是devfs中存在一些未修复的BUG,作者也停止了对他的维护,最显著的一个区别,采用devfs时,当一个并不存在的设备结点时,…
将所有文件的编码,转换为UTF-8 find . ! -type d -exec enca -L zh_CN -x UTF-8 {} \; 将指定目录下所有文件权限设定为644 find . ! -type d -exec chmod 644 {} \; 将指定目录下所有目录权限设定为755 find . -type d -exec chmod 755 {} \; 替换文本文件中行尾换行符,从dos(CRLF)为unix行尾换行符: find . -name '*.php' | xargs -I…
最近在看linux下重定向的时候看到 的这个系统的服务,所以记下来备忘. 描述:systemd-udevd是监听内核发出的设备事件,并根据udev规则处理每个事件. 选项: --daemon 脱离控制台,并作为后台守程运行. --debug 在标准错误上打印调试信息 --children-max= 限制最多同时处理多少个设备事件 --exec-delay= 在运行RUN程序列表前暂停的秒数 --event-timeout= 设置处理设备事件的最大允许秒数,若超时则强制终止.默认值180秒 ---…
Linux下长时间ping网络加时间戳并记录到文本   由于一些原因,比如需要检查网络之间是否存在掉包等问题,会长时间去ping一个地址,由于会输出大量的信息而且最好要有时间戳,因此我们可以使用简单的几个shell命令组合就可以实现:长时间ping一个地址,记录每次ping的时间戳,并输出到文本保存,另外我们还可以将这个动作放到后台去执行,以免登陆注销之后被中断.   首先是长时间ping,这个非常简单,使用参数-c即可:  [root@test ~]# ping 192.168.2.1 -c…
=======================CentOS 7以下======================= 配置IP: 1.获得mac地址 2.编辑ifcfg-eth0文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0 3.修改mac, ip, dns等 -> esc -> shift&: -> wq (保存退出) 4.删除文件: rm -rf /etc/udev/rules.d/70-persistent-net.rules 5…
一时疏忽,手一抖,把整个挂载的F盘删了一半!顿时傻眼!! 被删的F盘是Windows下NTFS分区,在Ubuntu12.04中挂载了F盘,使用rm命令时粗心大意,误删了一半的数据. 血的教训告诉我们,使用rm -r命令一定要带上-i,否则让你后悔莫及! 还好在Linux下有一种方法可以恢复被删除的NTFS分区文件. 本文地址:http://www.cnblogs.com/yhLinux/p/4106099.html 在文件被误删后,不要再往分区写数据!切记. 首先,看看我们被删的F盘: $ df…
之前将Nexus5刷成了MIUI系统,现在想体验一下安卓6.0,网上都是windows的教程,但如何在linux下刷机呢? 首先准备环境和工具: 1. 我的linux系统是lubuntu 15.10 64位版本, 内核版本:4.2.0-35-generic 2. 下载刷机工具包: https://dl.google.com/android/repository/platform-tools_r23.1.0-linux.zip ,这个包里有fastboot,adb等工具 下载以后解压到opt目录:…
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberry 选项: Android 选项: 生成makefile 遇到链接检查失败的情况 生成makefile后进行编译 编译时的错误 多重定义’QT_MODBUS()’和’QT_MODBUS_LOW()’ qt_static_plugin_AssimpParserPlugin未定义 在Qt Creator…
linux下多软件/多脚本之间的配合: 包括做好 “实体”和“配置”两个方面的事情 “实体”是指实实在在的脚本文件,服务脚本: “配置”是指其他与之交互的.协同工作的软件.脚本,要进行适当的配置,告知“实体”存在的位置等信息,才能正常工作 ----------------------------------------------------- apmd,acpid 电源管理和配置服务,只有配置了ups和电池的笔记本/服务器才开这个服务 bluetooth,hidd,pcscd, pcmcid:…
Linux下查看当前内核系统支持的文件系统: 一般都在 /lib/modules/kernl-version/kernel/fs/ 目录下包含了当前内核版本支持的文件系统: ls /lib/modules/kernl-version/kernel/fs/ eg: v0id@v0id-eof ~ $ ls /lib/modules/3.11.0-12-generic/kernel/fs/ 9p    afs      bfs             cachefiles  coda      dl…
Linux下安装Android的adb驱动-解决不能识别的问题 20141011更新:      老方法对我当时使用的一款设备一直都没有出现问题,最后遇到小米手机还有Android4.4版本的系统都会每次出现error: insufficient permissions for device问题,老方法的最后也说了这个问题的解决方法是什么.大意就是adb服务得以root用户身份启动,比较靠谱的方法是添加或者修改/etc/udev/rules.d/51-android.rules文件,内容如下:…
一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存 储通过了光纤交换机或者多块网卡及IP来连接,这样的话,就构成了多对多的关系.也就是说,主机到存储可以有多条路径可以选择.主机到存储之间的IO由多 条路径可以选择.每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系 统的角度来看,每条路径,操作系统会认为是一个…
原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比较多,本人使用的Ubuntu系统好多厂商的Android手机都无法正确的识别,经过一番折腾,和查阅SDK,现把Linux下ADB驱动配置的方法和当中会遇到的相关问题的解决方法整理出来贡献给大家. Linux下使用手机USB调试模式连接ADB进行Android程序的调试,配置驱动没有Windows来的…
1,通过iso创建可引导的U盘系统. 1.0,格式化U盘为FAT32格式 linux下能够使用命令: mkfs.vfat U盘的设备路径 比如: mkfs.vfat /dev/sdb 当中U盘的路径能够通过命令df来查看(df -h) 扩展:mkfs命令使用方法:以特定文件系统格式化分区,文件系统通过直接在命令后面加点和文件系统名来指定(命令行下能够通过双击Tab键来查看当前系统都支持创建那些类型的文件系统) mkfs.vfat ->创建fat32分区 mkfs.ntfs ->创建ntfs分区…
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberry 选项: Android 选项: 生成makefile 遇到链接检查失败的情况 生成makefile后进行编译 编译时的错误 多重定义’QT_MODBUS()’和’QT_MODBUS_LOW()’ qt_static_plugin_AssimpParserPlugin未定义 在Qt Creator…
之前做过STM32的usb HID复合设备,闲来看看linux下USB设备驱动是怎么一回事, 参考资料基于韦东山JZ2440开发板,以下,有错误欢迎指出. 1.准备知识 1.1USB相关概念: USB枚举过程:https://blog.csdn.net/go_str/article/details/80802452 USB其它概念: Linux platform平台总线.平台设备.平台驱动 (1)usb是主从结构,usb的传输都是主机发起: (2)usb右四种传输类型:控制.批量.中断.实时传输…
原文出处: http://blog.csdn.net/embbnux/article/details/17619621 之前建立stm32开发环境,程序也已经编译好生成main.bin,接下来就是要把该文件烧录到stm32上.在linux下给arm烧录程序主要使用openocd,这个软件开源,而且支持众多芯片,从ARM9到A8都可以,当然STM32也可以.支持的JTAG工具也很多,JLINK ST-LINK OSBDM都可以,我这正好有一个openjtag基于FT2232C的,也是被支持的.  …
    Linux下NAT模式和桥接模式的网络配置 最近在配置linux虚拟机的时候发现有很多坑,现在记录下来以防日后又跳到坑里. 我的运行环境是:主机 windows 7  虚拟机 Virtualbox +centos6.7    一.相关概念 linux虚拟机有三种网络模式,分别是Bridged(桥接模式).NAT(网络地址转换模式).Host-only(主机模式).    1.NAT(网络地址转换模式) 使用NAT模式,就是让虚拟系统借助NAT的功能,通过宿主机所在的网络来访问公网.在这种…
Linux下修改网卡接口名 by:授客 QQ:1033553122 (测试环境:CentOS-6.0-x86_64-bin-DVD1.iso+Vmware) 作用 可以用于解决类似如下Device not found的问题: # ifconfig eth1 eth1: error fetching interface information: Device not found   例1:把网卡接口名从eth0改为eth1 #修改网卡接口名之前的相关信息如下 # ifconfig eth0 eth…
Linux下单机安装ASM流程总结 一.安装Linux ESXi上传iso镜像至存储目录 创建虚拟机,并且选择主机设备的ISO启动 选择完成时编辑虚拟机设置 配置镜像文件如下: 打开控制台: 并且选择开机 点击开机并且进行安装linux 选择第一项目进行安装 Skip检查快速安装 输入机器名: 进行磁盘的设置 将SWAP分区设置的较大(50G左右) 选择现在定义源,增加部分包 Linux安装完成即可 二 .  系统参数修改以及软件安装 转载:http://www.cnblogs.com/jyzh…
转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron   本文主要从自己开发的一个USB驱动的例子来深入讲解linux内核是如何支持USB设备的休眠和唤醒的, 最近我在为我们公司的一个模块写linux下的驱动, 其中之一就是要支持USB的休眠唤醒问题, 实际上linux内核对USB的这个功能的支持还是比较新的, 也就是最近几年的事. 一  打开/关闭…
centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统   第七节课 fdisk 设备名 ‘p’, ‘n’, ‘d’, ‘w’, ‘q’,‘l’. partprobe mount //查看当前挂载情况 mount -a //挂载/etc/fstab mkfs.ext4 /dev/sdb1 mkfs…
一.multipath在redhat 6.2中的基本配置: 1. 通过命令:lsmod |grep dm_multipath  检查是否正常安装成功.如果没有输出说明没有安装那么通过yum功能安装一下软件包:yum –y install device-mapper device-mapper-multipath 接着通过命令:multipath –ll 查看多路径状态查看模块是否加载成功 [root@liujing ~]#  multipath –ll   查看多路径状态 Mar 10 19:1…