如何在没有 udev 的情况下在嵌入式 Linux 中创建设备节点?
How are device nodes created in Embedded Linux without udev?
我有一个 linux 使用 Beaglebone 无线板的 buildroot 构建。在根文件系统中,当它还在主机上,还没有复制到目标中时,在/dev文件夹中,只有设备文件fd、log、stderr、stdin、stdout。当我在目标上加载这个根文件系统并启动目标时,有更多的设备——许多 tty、zero、urandom 等。它们是在 Linux 引导过程中创建的。 Buildroot 使用简单的 busybox init 程序构建系统。在初始化脚本中我没有看到创建设备节点的过程,谁创建了这个设备节点?
如果您的目标是 运行 busybox,您可能拥有 mdev
小程序。用busybox --help
.
查看安装的小程序
mdev
使用配置文件:/etc/mdev.conf
您的系统可能正在使用 devtmpfs
。它是一个伪文件系统,安装在 /dev 上,内核将在其中为它知道的设备填充设备节点。
udev
依赖于 devtmpfs
自提交 220893b3cbdb(“删除 mknod() 逻辑并依赖 'devtmpfs'”)以来已有 9 年历史了。
我有一个 linux 使用 Beaglebone 无线板的 buildroot 构建。在根文件系统中,当它还在主机上,还没有复制到目标中时,在/dev文件夹中,只有设备文件fd、log、stderr、stdin、stdout。当我在目标上加载这个根文件系统并启动目标时,有更多的设备——许多 tty、zero、urandom 等。它们是在 Linux 引导过程中创建的。 Buildroot 使用简单的 busybox init 程序构建系统。在初始化脚本中我没有看到创建设备节点的过程,谁创建了这个设备节点?
如果您的目标是 运行 busybox,您可能拥有 mdev
小程序。用busybox --help
.
mdev
使用配置文件:/etc/mdev.conf
您的系统可能正在使用 devtmpfs
。它是一个伪文件系统,安装在 /dev 上,内核将在其中为它知道的设备填充设备节点。
udev
依赖于 devtmpfs
自提交 220893b3cbdb(“删除 mknod() 逻辑并依赖 'devtmpfs'”)以来已有 9 年历史了。