无法从 sysfs 创建 /dev 条目,没有这样的设备或地址

无法从 sysfs 创建 /dev 条目,没有这样的设备或地址

我有某种家庭娱乐系统,运行旧版本的 Linux 2.6。它有一个 SATA > USB 桥接系统和几个 USB 端口。我想做的是将其用作网络附加存储。

现在,幸运的是,它有一个开放且可访问的 telnet 服务器正在运行。

问题是,我找不到内核或初始化系统在哪里。该盒子正在运行 BusyBox。

该板上有一个闪存芯片。但是,在 block/ 中的 sysfs 下,我看到多个闪存芯片:

/sys/block # ls
...
mtdblock0  mtdblock2  mtdblock4
mtdblock1  mtdblock3

顺便说一句,这是为什么呢?

现在,我想/dev为它们创建一个条目,以便我可以将它们转储到 USB 闪存驱动器并进行分析。

所以我这样做了:

/sys/block # cat /sys/block/mtdblock0/dev
31:0

和 ..

mknod /dev/mtdblock0 c 31 0

以 0 退出,然后我尝试读取原始数据来测试设备:

/sys/block # cat /dev/mtdblock0 
cat: /dev/mtdblock0: No such device or address

这是为什么? dd 也这么说。有条目/proc/devices

/sys/block # cat /proc/devices 
Character devices:
  1 mem

{ ... }

Block devices:
  1 ramdisk
  7 loop
  8 sd
 31 mtdblock

{ ... }

答案1

mknod /dev/mtdblock0C31 0

您创建了一个字符设备。你想要一个块设备。所以在命令中使用b而不是。cmknod

块设备号和字符设备号是独立的。块设备 31:0 与字符设备 31:0 无关。您的内核没有字符设备 31:0 的驱动程序,因此出现“没有此类设备或地址”错误。

相关内容