linux -/dev/hda1 在启动时从我的 static/dev 目录中消失

标签 linux embedded-linux busybox buildroot

我有一个从 initramfs 镜像启动的嵌入式 Linux(vanilla、3.3.8、i486、Vortex86dx)系统。

我有一个 IDE 闪存盘,在/dev/hda1 和/dev/hda2 有两个分区。

它有一个静态的/dev 目录。

当我启动时,/dev/hda1 条目不再存在。/dev/hda1 似乎已被内核删除(?)。

如果我从 NFS 根文件系统引导我的目标,我不会遇到同样的问题。

我使用 Buildroot 通过 device_table_dev.txt 文件创建/dev 目录。例如

# IDE Devices
/dev/hda    b   640 0   0   3   0   0   0   -
/dev/hda    b   640 0   0   3   1   1   1   4

我检查了 Buildroot 输出/图像中的 rootfs.tar.gz。/dev 目录包含/dev/hda1:

brw-r-----  1 root root  3,   0 Jul  2 13:44 hda
brw-r-----  1 root root  3,   1 Jul  2 13:44 hda1
brw-r-----  1 root root  3,   2 Jul  2 13:44 hda2
brw-r-----  1 root root  3,   3 Jul  2 13:44 hda3
brw-r-----  1 root root  3,   4 Jul  2 13:44 hda4

我在目标上的启动后目录列表(在 rcS 中完成)如下所示:

brw-r-----   1 root   root    3,   0 Jul  2 12:44 hda
brw-r-----   1 root   root    3,   2 Jul  2 12:44 hda2
brw-r-----   1 root   root    3,   3 Jul  2 12:44 hda3
brw-r-----   1 root   root    3,   4 Jul  2 12:44 hda4

/dev/hda1 丢失。

如果我运行 Busybox 实用程序“mdev -s”,它会在目标上恢复/dev/hda1 并正常工作。例如我可以安装它

有没有人以前见过这种行为?

内核是否删除/dev 中的条目?

最佳答案

也许您应该检查初始脚本(/etc/init.d/、/etc/inittab),看看它是否重新挂载/dev/文件系统。重新安装可能会删除您的/dev/ 条目。

“mdev -s”触发冷插拔事件并为您重新创建条目。

关于linux -/dev/hda1 在启动时从我的 static/dev 目录中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294185/

相关文章:

postgresql - 在 Yocto 中使用其他配方生成的文件

image-processing - Raspberry Pi HDMI 输入和 HDMI 输出用于图像处理

linux - 使用 bash 脚本的 BusyBox 文件上传 [POST]

linux - 如何从内核命令行中提取根变量的值

linux - 使用linux系统调用在基本TCP服务器中获取http header

android - 通过 Wifi-Direct 连接 Linux 和 Android(BeagleBone Black 和 Android-app)

python - 将每个测序数据提取为单独的文件

memory-management - 内存调试 : How to get locked pages information in user space/kernel space in linux

c - mbind 返回 EINVAL

android -/dev/block/bootdevice/by-name 是如何创建的?