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/mtdblock031 0

キャラクターデバイスを作成します。あなたはブロックデバイスが欲しいです。したがって、コマンドでb代わりに使用してください。cmknod

ブロックデバイス番号と文字デバイス番号は独立しています。ブロックデバイス31:0はキャラクターデバイス31:0とは何の関係もありません。カーネルに文字デバイス31:0用のドライバがないため、「該当するデバイスまたはアドレスがありません」エラーが発生します。

おすすめ記事