私は古いバージョンの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/mtdblock0氏31 0
キャラクターデバイスを作成します。あなたはブロックデバイスが欲しいです。したがって、コマンドでb
代わりに使用してください。c
mknod
ブロックデバイス番号と文字デバイス番号は独立しています。ブロックデバイス31:0はキャラクターデバイス31:0とは何の関係もありません。カーネルに文字デバイス31:0用のドライバがないため、「該当するデバイスまたはアドレスがありません」エラーが発生します。