-------------
 MDEV入门
-------------

对于我们这些人知道如何使用的mdev ,底漆可能似乎跛。为
其他人的mdev是一个神秘的黑匣子,他们听到的是真棒,但不能
似乎得到他们的头周围它是如何工作的。因此,引物。

-----------
 基本使用
-----------

MDEV有两个主要用途:初始种群和动态更新。两
需要内核sysfs的支持,且必须挂载到/ sys 。对于动态
更新,你还需要有你的内核中启用热插拔。

下面是一个典型的init脚本的代码片段:

[0] mount -t proc proc /proc
[1] mount -t sysfs sysfs /sys
[2] echo /sbin/mdev > /proc/sys/kernel/hotplug
[3] mdev -s

或者,如果没有上述的procfs变为:

[1] mount -t sysfs sysfs /sys
[2] sysctl -w kernel.hotplug=/sbin/mdev
[3] mdev -s

当然,一个更“全”的设置将需要执行此之前,前
代码片段:

[4] mount -t tmpfs -o size=64k,mode=0755 tmpfs /dev
[5] mkdir /dev/pts
[6] mount -t devpts devpts /dev/pts

这里简单的解释是, [1]你需要有前/系统安装
执行MDEV 。随后你[ 2]命令内核执行/ sbin目录/ MDEV时,
有设备添加或删除,以便可以创建设备节点,或
销毁。然后你[3]种子为/ dev创建所有的设备节点
当系统被启动。

对于“完全”的设置,你要[4]确保/ dev是一个tmpfs文件系统
(假设你正在运行的闪存) 。那么你一定要为[ 5 ]创建
/ dev /点的挂载点,最后[6]挂载devpts文件系统就可以了。

-------------
 MDEV Config中( / etc / mdev.conf中)
-------------

MDEV有一个可选的配置文件,控制所有权/权限
设备节点,如果你的系统需要更多的东西比默认的根/根
660权限。

该文件的格式:
    <device regex> <UID> : <gid> <octal权限
 或@ <maj[,min1[-min2]]> <UID> : <gid> <octal权限

例如:
    HD [ Z] [0-9] * 0:3 660

配置文件解析停止在第一个匹配行。如果没有行
匹配,则使用默认的0:0 660 。要设置自己的默认值,只需
创建自己的比赛总像这样:
* 1:1 777

你可以重命名/移动设备节点使用的下一个可选字段。
<device regex> <UID> : <gid> <octal权限[ =路径]
所以,如果你想将设备放置节点到一个子目录,确保路径
有一个尾随/ 。如果你想要重命名的设备节点,只需将名称。
HDA 0:3 660 =驱动器/
这将朝着“ hda的”驱动器/子目录。
建屋局0:3 660 = CDROM
这将重命名“组屋” “CDROM” 。

同样, “路径”重命名/移动设备,但它也创造
的直接符号连接/ dev / DEVNAME中的改名/移动设备。

如果你也支持执行自己的命令,那么这个文件有
格式:
设备regex> <UID> : <gid> <octal权限[路径] [@ | $ | * <COMMAND> ]
    或
设备regex> <UID> : <gid> <octal权限[路径] [@ | $ | * <COMMAND> ]

例如:
--- 8 < ---
#块设备
([ HS ] D [ - Z] >磁盘/% )根盘660 1/0
([ HS ] D [ - Z] )( [0-9] + )根:磁盘660 >磁盘/% 1 /% 2
mmcblk ([0-9] + )根:磁盘660 >磁盘/ MMC / 1 % / 0
mmcblk ([0-9 ] + ) P( [0-9] + )根盘660盘/ MMC /% 1 /% 2
#网络设备
( TUN |抽头)根:网络660 >净额/ %1
--- 8 < ---

特殊字符的含义:
@创建设备节点后运行。
$运行,然后再删除该设备。
*运行后创建和删除该设备前。

通过执行命令system()函数(这意味着你给人一种
命令外壳) ,所以一定要确保你有一个壳安装在/ bin / sh的。你
还应该记住,内核执行热插拔佣工的标准输入,
stdout和stderr连接到/ dev / null的。

为了您的方便, shell的环境变量$ MDEV会被设置的设备名称。因此,如果
“ HDC ”的移动设备的匹配,将被设置为“ HDC ” MDEV 。

----------
 固件
----------

一些内核设备驱动程序在运行时,需要上传固件以
正确的初始化设备。请将所有的固件文件复制到
/ lib中/固件/目录。在运行时,内核将调用与MDEV
文件名的mdev的固件将加载的/ lib /固件/进入
内核通过sysfs接口。确切的文件名是硬编码在
内核,所以在那里,如果你需要知道如何在用户空间的文件命名。

------------
 序列
------------

内核不热插拔事件序列。增量SEQNUM环境
变每个热插拔历届调用。通常情况下, MDEV不在乎。
这可能会重新排列热插拔和热拔出事件,具有典型症状
有时不能创建设备节点,如预期的那样。

但是,如果被发现/ dev / mdev.seq的文件, MDEV将比较其
内容与SEQNUM 。将重试两秒钟,等待他们的
匹配。如果严丝合缝(甚至没有尾随' \ n'可以) ,
如果两秒钟后, MDEV将照常运行,那么它改写/ dev / mdev.seq的
与+1 SEQNUM 。

IOW :这将并发MDEV调用序列。

如果你想激活此功能,执行“回声>的/ dev / mdev.seq ” ,前
设置MDEV热插拔处理。这写单的'\ n '文件。
注: MDEV识别/ dev / mdev.seq的由单个'\ n“字符
作为一个特殊的情况。 IOW :这不会让你第一热插拔事件
两秒钟来搪塞

MDEV入门的更多相关文章

  1. linux udev、mdev 介绍

    Udev介绍 Udev的下载网址:http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/ Udev分为三个子计划:namedev,libs ...

  2. 关于热插拔usb hotplug /proc/sys/kernel mdev udev b...

    转:http://www.360doc.com/content/10/0527/18/9922_29835045.shtml 这篇文章说的很好http://blog.chinaunix.net/u1/ ...

  3. linux中的热插拔和mdev机制

    mdev手册(自己翻译的留着看) mdev实现U盘或SD卡的自动挂载 mdev的使用以及mdev.conf的规则配置--busybox linux中的热插拔和mdev机制 关于实现udev/mdev自 ...

  4. 第一个驱动之字符设备驱动(二)mdev

    mdev是busybox提供的一个工具,用在嵌入式系统中,相当于简化版的udev,作用是在系统启动和热插拔或动态加载驱动程序时, 自动创建设备节点.文件系统中的/dev目录下的设备节点都是由mdev创 ...

  5. Linux系统入门命令100条 转

    https://www.howtoforge.com/linux-commands/ 2017-04-27 RiboseYim 睿哥杂货铺 Author : Himanshu Arora 原文:htt ...

  6. Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机

    Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...

  7. linux入门系列18--Web服务之Apache服务2

    接上一篇文章,在了解Apache基本配置以及SELinux相关知识后,继续演示Apache提供的虚拟主机功能以及访问控制方式. 如果还没看上一篇的建议先查看后再来,上篇文章"linux入门系 ...

  8. Linux Capabilities 入门教程:进阶实战篇

    原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...

  9. [Linux]Ansible自动化运维① - 入门知识

    目录 一.Ansible 概述 1.1 Ansible 是什么 1.2 Ansible 优势 1.3 Ansible 特性 二.Ansible 入门 2.1 Ansible 架构 2.2 Ansibl ...

随机推荐

  1. Linux Man手册的使用示例

    转载自:https://blog.csdn.net/ac_dao_di/article/details/54718710 Linux的命令非常多,很多人在学一个命令时,首先想到的是使用百度或者谷歌,或 ...

  2. vi几个常用的命令

    1.同时打开多个文件:vi 1.txt 2.txt 3.txt 在多个文件中来回切换,命令行模式输入“:next"表示下一个,输入":previous"代表进入上一个,” ...

  3. java中集合,数组,字符串相互转换

    数组转List String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List sta ...

  4. BZOJ2733 [HNOI2012]永无乡(并查集+线段树合并)

    题目大意: 在$n$个带权点上维护两个操作: 1)在点$u,v$间连一条边: 2)询问点$u$所在联通块中权值第$k$小的点的编号,若该联通块中的点的数目小于$k$,则输出$-1$: 传送门 上周的模 ...

  5. 跟踪路由(tracert)及ping命令

    由于最近学校网络不好,老是有问题,加上最近写了个数据展示系统,要部署到买的域名下,用到了这两个命令 首先,一台服务器,一台工作站,一个笔记本(我的,来测试ip是否通的) 服务器已经部署了三个网站(一个 ...

  6. Matlab高级教程_第二篇:MATLAB和C#一些常用的矩阵运算方法的转换

    1.相关方法已经生产引用,直接调用的结果如下: 2. 相关调用代码如下: using System; using System.Collections.Generic; using System.Li ...

  7. VMware-workstation虚拟机安装及配置

    目录 安装准备 开始安装 设置虚拟机文件默认位置 安装准备 系统环境:Windows10 专业版 软件:VMware-workstation-full-14.0.0.24051.exe 秘钥:FF31 ...

  8. day08-内置函数和匿名函数

    1. 1)网络编程只能是二进制.2)照片和视频也是以二进制储存. 3)html网页爬取到的也是二进制编码. 2. 非常重要的4个内置函数:zip ,filter,map,sorted 1)zip: 例 ...

  9. OfficeCommandbarViewer20171005.rar

    OfficeCommandbarViewer用于查看Office各组件工具栏和控件信息的一款软件. 采用了本地XML文件的方式,所以使用本工具不需要提前打开任何Office组件. 动态图: 下载地址: ...

  10. python3下scrapy爬虫(第十三卷:scrapy+scrapy_redis+scrapyd打造分布式爬虫之配置)

    之前我们的爬虫都是单机爬取,也是单机维护REQUEST队列, 看一下单机的流程图: 一台主机控制一个队列,现在我要把它放在多机执行,会产生一个事情就是做重复的爬取,毫无意义,所以分布式爬虫的第一个难点 ...