【问题标题】:How are device nodes created in Embedded Linux without udev?在没有 udev 的嵌入式 Linux 中如何创建设备节点?
【发布时间】:2021-05-02 02:07:04
【问题描述】:

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

【问题讨论】:

    标签: linux embedded-linux init buildroot busybox


    【解决方案1】:

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

    【讨论】:

    • 是的,确实 - Buildroot 默认使用 devtmpfs
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多