无法创建 /dev/shm

std*_*err 4 udev devices fstab shared-memory

我需要/dev/shm在嵌入式 ARM 系统上创建。来自“已安装最新更改到当前和...... ”。

我看到它可以用 来创建mkdir /lib/udev/devices/shm,但我想知道那个位置应该是什么?我在那个位置唯一的目录是/lib/modules/,没有devices/或任何东西。

所以我继续创建它们,空目录。我接着补充说:

tmpfs                   /dev/shm                tmpfs   defaults       0 0
Run Code Online (Sandbox Code Playgroud)

/etc/fstab和我没有添加一个mtab条目,因为我没有一个/etc/mtab。然后我重新启动,现在,仍然没有/dev/shm设备。

任何想法我如何获得该设备?

编辑#1

哦,mount -a(重新启动后)导致:

# mount -a
mount: mounting tmpfs on /dev/shm failed: No such file or directory`
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 5

嵌入式系统可能有一个 static /dev,而不是使用 udev 来填充它。如果您没有/lib/udev,那么您的系统可能没有运行 udev。在这种情况下,您需要/dev/shm在根文件系统上创建。

如果根文件系统是 initramfs,请在 initramfs 描述文件中使用额外的行重建您的 initramfs:

dir /dev 755 0 0
dir /dev/shm 755 0 0
…
Run Code Online (Sandbox Code Playgroud)

如果根文件系统是磁盘文件系统,只需创建目录。

# mkdir /dev/shm
Run Code Online (Sandbox Code Playgroud)