### Busybox 中的mdev使用说明中文版 #### MDEV入门 对于那些已经熟悉mdev的人来说,这份入门指南或许显得过于基础。但对于其他人而言,mdev就像一个难以捉摸的黑盒工具,虽然听说它非常强大,但却不知道如何具体操作。鉴于此,本文将详细介绍mdev的基本使用方法及其配置文件的设置。 #### 基本使用方法 mdev主要有两大功能:初始化对象和动态更新。这两种应用场景都需要内核中的sysfs支持,并且需要将sysfs挂载到`/sys`目录下。此外,为了实现动态更新的功能,还需要在内核配置中启用热插拔(hotplugging)支持。 以下是从初始化脚本中摘录的一个典型mdev使用代码片段: 1. **挂载sysfs**:需要挂载sysfs到`/sys`目录下,以便mdev能够访问到相关的设备信息。例如: ```bash mount -t sysfs sysfs /sys ``` 2. **配置内核热插拔行为**:接着,通过写入`/proc/sys/kernel/hotplug`来指定内核在检测到设备插入或移除时调用的程序。这里设置为调用`/bin/mdev`,从而实现在设备插入或移除时自动创建或删除相应的设备节点。 ```bash echo "/bin/mdev" > /proc/sys/kernel/hotplug ``` 3. **初始化设备节点**:使用mdev初始化所有已知设备的设备节点。这一步通常在系统启动时执行,以确保所有必要的设备节点都已被创建。 ```bash mdev -s ``` 在更全面的设置中,除了上述步骤之外,还需要执行以下几个命令: 4. **挂载tmpfs文件系统到/dev**:如果文件系统存储在闪存外,则需要将`/dev`挂载为tmpfs文件系统。这有助于提高性能,减少对物理介质的写入次数。 ```bash mount -t tmpfs mdev /dev ``` 5. **创建/dev/pts挂载点**:创建`/dev/pts`目录作为后续挂载点。 ```bash mkdir /dev/pts ``` 6. **挂载devpts文件系统**:在`/dev/pts`目录上挂载devpts文件系统,用于虚拟终端和串行端口等设备。 ```bash mount -t devpts devpts /dev/pts ``` #### MDEV配置 (/etc/mdev.conf) mdev提供了可选的配置文件`/etc/mdev.conf`,允许用户自定义设备节点的所有权和权限。默认情况下,设备节点的所有者和组均为root。但根据系统需求的不同,可能需要为特定设备节点设置不同的所有权和权限。例如,某些应用程序可能需要以非root用户的身份运行,这就需要对某些设备节点进行特殊配置。 `/etc/mdev.conf`文件的格式相对简单,通常包含如下内容: - 指定设备类型(如:`CHAR`表示字符设备,`BLOCK`表示块设备); - 设备的主次号; - 设备节点的路径; - 所有者和组; - 文件权限。 例如,以下是一个简单的配置示例: ```bash # 配置一个字符设备节点 CHAR 4 65 /dev/ttyS0 root dialout 0660 ``` 在这个例子中,配置了一个主设备号为4、次设备号为65的字符设备,该设备节点的路径为`/dev/ttyS0`,所有者为`root`,组为`dialout`,权限为`0660`。这样的配置可以确保只有`root`用户和`dialout`组成员才能访问这个串口设备,同时也设置了合适的读写权限。 通过这种方式,可以根据具体的项目需求灵活地调整设备节点的所有权和权限,使得mdev不仅能够在嵌入式Linux环境中高效地管理设备节点,还能满足各种安全性和使用场景的需求。
2025-10-10 10:48:40 67KB busybox mdev
1
fs_mini_mdev.tar.bz2
2022-11-01 22:05:53 2.7MB fs_mini_mdev
1
nvme ssd给虚拟机共享论文
2021-03-04 20:01:02 1.6MB nvme kvm
1