私は小さな OS を作成中です。変更を加えるときは、ISO を作成します。この ISO は qemu で適切に動作しますが、ハードウェアの問題をテストする必要がある場合は、別のコンピューターで起動する必要があります。そのため、次のようになります。
- パソコンにUSBを差し込む
- ddでISOをUSBにコピーしますsudo dd if=my_os.iso of=/dev/sdb
- パソコンからプラグを抜く
- 他のコンピュータに接続して再起動します。
BIOS は新しい OS コンパイルを適切に起動します。
毎朝 100 回もこれを繰り返すとイライラします。そのため、プラグを抜いたり、dd スクリプトを起動したりせずに済む方法を探しています。
私はワイヤレスでSDカードのような方法を使うことを検討しました。このチュートリアルリモートでフォルダーを変更する方法を示します。本質的には、カードにはデータをマウントするための小さな Linux のような OS があり、BIOS によって起動されるメモリの一部をオーバーライドする必要があるため、これは解決策ではないと思います。
私が検討した別の方法は、USB で接続された Raspberry Pi を使用し (直接可能かどうかはわかりません)、MTP などのプロトコルを使用して USB をメモリとしてエミュレートすることです。これにより、新しい ISO を Raspberry に送信し、メモリの一部を ISO で更新し、新しい OS コンパイルを RAM にロードする他のコンピューターをオンにするスクリプトを作成できます。
これ以上の予定はなく、それは不可能だと思うのですが、この問題を解決するアイデアはありますか?
更新:私の問題は次のものと似ていますこの郵便受けこれに適応させて、追加のハードウェアの購入を避けようと思います(Wi-Fi SDを除く)
答え1
この問題を直接対象とした商用製品がないのは驚きです。調査すべき事項をいくつか示します。
例えばCD-ROM用の追加USBポートを備えたKVM(キーボード/ビデオ/マウス)スイッチを使用します。この任意の例 TK-222DVK 主張するストレージデバイスまたはプリンター用のボーナスUSB共有ポート2個私の理解では、2 台のホスト コンピューター間でデバイスを切り替えることができるのですが、間違っている可能性があります (この件に関するドキュメントはありません)。2 台目のコンピューターは、ハブの背後にある USB デバイスを処理できる必要があります。
2台のコンピュータ間の距離が長い場合は、ip-kvm、つまりネットワーク上のkvmを検討してください。任意の例 ラントロニクススパイダー それは提供すると言う仮想メディアのサポート私の理解では、これにより、2 台目のコンピューターが USB CD-ROM デバイスを認識できるようになり、そのデータは別のコンピューターの「共有」からネットワーク経由で取得されます。ユーザー ガイドにはいくつかの情報が記載されていますが、決定的な情報には至っていません。専用の USB ポートを備えた同様のデバイスを見たことがあると思いますが、その場合は CD-ROM がハブの背後にない可能性があります。
私はハードウェアに詳しいわけではないのですが、誰かが TS3USB221Aこれは 高速 USB 2.0 信号のスイッチング用に特別に設計された高帯域幅スイッチ、2つのパスの間にあります。評価モジュール1 つの USB ソケットが他の 2 つの USB ソケット間で切り替えられているのがわかると思います。出力切り替えについて言及していますが、デバイスは双方向であると記載されているため、無関係である可能性があります。このボードを注文するには、おそらく会社である必要があります。
USB機能を備えたマイクロコントローラは数多くある。より魅力的なものに包み込まれたものの一つは パイボードこれにより、ボード上で C ではなく Python を実行できるため、開発が簡単になります。Pyboard には SD カード スロットがあり、2 台目のコンピューターの USB 上で大容量ストレージ デバイスとして表示されますが、TTL レベルのシリアル ポートもいくつかあるため、FTDI タイプの (TTL) シリアル - USB アダプターを接続し、Python を記述して、1 台目のコンピューターからシリアル リンク経由でデータを送信することで SD カード データを更新できます。
Wi-Fi付きのSDカードを見てきました。そのようなカードとしては東芝のものがあります。フラッシュエア開発に対して非常にオープンであるように思われ、これを使用して希望どおりのことが可能になるかもしれません。