如何在没有 udev 的情况下在嵌入式 Linux 中创建设备节点?

问题描述

我有一个使用 Beaglebone 无线板的 buildroot 构建的 linux。在根文件系统中,当它仍然在主机上并且没有被复制到目标时,在/dev文件夹中,只有设备文件fd、log、stderr、stdin、stdout。当我在目标上加载这个根文件系统并启动目标时,有更多的设备 - 许多 tty、0、urandom 等。它们是在 Linux 引导过程中创建的。 buildroot 使用简单的 busyBox init 程序构建了系统。在init脚本中我没有看到创建设备节点的过程,谁创建了这个设备节点?

解决方法

您的系统可能正在使用 devtmpfs。它是一个挂载在 /dev 上的伪文件系统,内核将在其中为它知道的设备填充设备节点。 udev 依赖于 devtmpfs,自提交 220893b3cbdb(“移除 mknod() 逻辑并依赖于 'devtmpfs'”)以来已经 9 年了。

,

如果您的目标正在运行 busybox,您可能拥有 mdev 小程序。使用 busybox --help 查看已安装的小程序。

mdev 使用一个配置文件:/etc/mdev.conf

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...