USB ISOを外さずにアップデートするより良い方法

USB ISOを外さずにアップデートするより良い方法

私は小さな OS を作成中です。変更を加えるときは、ISO を作成します。この ISO は qemu で適切に動作しますが、ハードウェアの問題をテストする必要がある場合は、別のコンピューターで起動する必要があります。そのため、次のようになります。

  1. パソコンにUSBを差し込む
  2. ddでISOをUSBにコピーしますsudo dd if=my_os.iso of=/dev/sdb
  3. パソコンからプラグを抜く
  4. 他のコンピュータに接続して再起動します。

BIOS は新しい OS コンパイルを適切に起動します。

毎朝 100 回もこれを繰り返すとイライラします。そのため、プラグを抜いたり、dd スクリプトを起動したりせずに済む方法を探しています。

私はワイヤレスでSDカードのような方法を使うことを検討しました。このチュートリアルリモートでフォルダーを変更する方法を示します。本質的には、カードにはデータをマウントするための小さな Linux のような OS があり、BIOS によって起動されるメモリの一部をオーバーライドする必要があるため、これは解決策ではないと思います。

私が検討した別の方法は、USB で接続された Raspberry Pi を使用し (直接可能かどうかはわかりません)、MTP などのプロトコルを使用して USB をメモリとしてエミュレートすることです。これにより、新しい ISO を Raspberry に送信し、メモリの一部を ISO で更新し、新しい OS コンパイルを RAM にロードする他のコンピューターをオンにするスクリプトを作成できます。

これ以上の予定はなく、それは不可能だと思うのですが、この問題を解決するアイデアはありますか?

更新:私の問題は次のものと似ていますこの郵便受けこれに適応させて、追加のハードウェアの購入を避けようと思います(Wi-Fi SDを除く)

答え1

この問題を直接対象とした商用製品がないのは驚きです。調査すべき事項をいくつか示します。

  1. 例えばCD-ROM用の追加USBポートを備えたKVM(キーボード/ビデオ/マウス)スイッチを使用します。この任意の例 TK-222DVK 主張するストレージデバイスまたはプリンター用のボーナスUSB共有ポート2個私の理解では、2 台のホスト コンピューター間でデバイスを切り替えることができるのですが、間違っている可能性があります (この件に関するドキュメントはありません)。2 台目のコンピューターは、ハブの背後にある USB デバイスを処理できる必要があります。

  2. 2台のコンピュータ間の距離が長い場合は、ip-kvm、つまりネットワーク上のkvmを検討してください。任意の例 ラントロニクススパイダー それは提供すると言う仮想メディアのサポート私の理解では、これにより、2 台目のコンピューターが USB CD-ROM デバイスを認識できるようになり、そのデータは別のコンピューターの「共有」からネットワーク経由で取得されます。ユーザー ガイドにはいくつかの情報が記載されていますが、決定的な情報には至っていません。専用の USB ポートを備えた同様のデバイスを見たことがあると思いますが、その場合は CD-ROM がハブの背後にない可能性があります。

  3. 私はハードウェアに詳しいわけではないのですが、誰かが TS3USB221Aこれは 高速 USB 2.0 信号のスイッチング用に特別に設計された高帯域幅スイッチ、2つのパスの間にあります。評価モジュール1 つの USB ソケットが他の 2 つの USB ソケット間で切り替えられているのがわかると思います。出力切り替えについて言及していますが、デバイスは双方向であると記載されているため、無関係である可能性があります。このボードを注文するには、おそらく会社である必要があります。

  4. USB機能を備えたマイクロコントローラは数多くある。より魅力的なものに包み込まれたものの一つは パイボードこれにより、ボード上で C ではなく Python を実行できるため、開発が簡単になります。Pyboard には SD カード スロットがあり、2 台目のコンピューターの USB 上で大容量ストレージ デバイスとして表示されますが、TTL レベルのシリアル ポートもいくつかあるため、FTDI タイプの (TTL) シリアル - USB アダプターを接続し、Python を記述して、1 台目のコンピューターからシリアル リンク経由でデータを送信することで SD カード データを更新できます。

  5. Wi-Fi付きのSDカードを見てきました。そのようなカードとしては東芝のものがあります。フラッシュエア開発に対して非常にオープンであるように思われ、これを使用して希望どおりのことが可能になるかもしれません。

関連情報