在运行带有自定义 BSP 的 GNU/Linux 的嵌入式设备上,当我键入
df /dev
在文件系统列中我得到
devtmpfs
ps -A | grep udev
给出
224 ? 00:00:00 systemd-udevd
在运行 Ubuntu 22.04 的 PC 中,相同的命令给出
udev
和
744 ? 00:00:02 systemd-udevd
分别。
我的理解是,嵌入式设备使用 devtmpfs 创建设备节点 + systemd-udevd 管理所有权和权限的组合。因此 devtmpfs 作为 /dev 的文件系统类型。另一方面,Ubuntu 使用专用的 udev 伪文件系统类型运行 udev。
- 它是否正确?
- udev(除了是在用户空间中运行的守护进程的整个解决方案之外)也是一种特定的伪文件系统类型吗?
- 我认为“经典”udev 配置使用 /dev 的通用 tmpfs。这是错误的吗?
否(见下文)。
df
显示安装设备;伪文件系统没有一个,并且它们的名称是任意的。如果运行,mount
您将看到实际的文件系统类型,devtmpfs
Ubuntu 上也是如此。udev
过去使用通用的tmpfs
,但自devtmpfs
2009 年创建以来,/dev
使用后者。