
LinuxシステムをUSB周辺機器のように見えるようにすることが可能かどうか疑問に思います。
スマートフォンが接続されているデバイスによってマスターからスレーブに切り替えることができるように、Linuxシステムでも同じ動作を達成できるかどうか疑問に思いました。
たとえば、USBコネクタ付きのカードにLinuxが組み込まれており、カードにUSBキーを挿入すると、USBキーがスレーブとして検出され、ファイルシステムにマウントされます。今カードをコンピュータに接続すると、USBスレーブデバイスとしても認識されるようにしたいと思います。
これが可能だと思いますか?
同様の質問を見つけましたが、答えはありません。Android携帯用USB-OTGデバイスとしてLinuxディレクトリを使用していますか?
私は最終的に、次の理由でシステムを大容量ストレージとしてマークするのではなく、MTPデバイスとして構成することにしました。
- 同時ファイルアクセスの防止
- 同時ファイルアクセスや誤ったインストール/削除によるクラッシュや破損からシステムを保護します。
- マウント解除または停止なしでルートファイルシステムを公開する可能性
- 複数のデバイスを共有できます
構成に問題がありましたので、新たに質問いたします。ここ興味のある方のために。
答え1
はい、可能です。しかし、簡単ではありません。少なくともいくつかの作業を行う必要があります。
Linuxは、バージョン2.4または2.6以降、USBスレーブデバイスとして機能することをサポートしました。互換性のあるチップを見つけて、そのチップがあるデバイスを見つけて、どこかで購入する必要があります(通常はインターネットでレンタル)。
特にUSBデバイスの場合、周辺機器とブロック機器がサポートされています。
Google検索:Linux USBガジェット。カーネルのソースコードをもう少し掘り下げる必要があるかもしれません。このスレーブモードはほとんどの展開カーネルに含まれていない可能性があるため、再コンパイルする必要があります。
こここれについての古いですが、まだ実用的な参考資料です。他のものも役に立ちます。답변。
@Arkaikの拡張機能:
ユーザー空間MTPレスポンダが利用可能uMTPレスポンダ、実装が簡単で、widgetfsまたはfunctionfsに依存します。