読者です 読者をやめる 読者になる 読者になる

シリアル接続の失敗

 再インストールまでして試したかったのは、名前付きパイプによるシリアル接続。前回インストールした時は、どうしても接続できなかった。

 古いバージョンのVirtualBoxを残したまま、現行バージョンをインストールしたのが原因ではないかという疑念を解消するのが目的だ。

 

 まずは、Serial portをつかってtera termで接続する - yorozu に従って作業してみる。VirtualBoxのバージョンは古いが、容易に推測可能なので、読み替えて作業を進める。他にもいくつかシリアル接続の手順を解説しているサイトがあったが、内容はほぼ同じだった。

    1. テスト用に新規の仮想マシンを作成する。OSインストールは想定していないので、全てデフォルトで作成する。
    2. 作成した仮想マシンの設定からシリアルポートを選ぶ。「シリアルポートを有効化」にチェックを入れる。

      f:id:muh:20160923192954p:plain

    3. 「ポートモード」を「切断」から「ホストにパイプ」に変更。「存在するパイプ/ソケットに接続」がチェックされている事を確認して、「パス/アドレス」に名前付きパイプを設定する。ここでは'\\.\pipe\com_1'とする。

      f:id:muh:20160923194309p:plain

    4. 'Named Pipe TCP Proxy Utility' を Named Pipe TCP Proxy Utility からダウンロードする。別ウィンドウで妙なアンケートっぽいのが出てくるが、無視して閉じる。

    5. 'nptp_setup.zip' がダウンロードされるので、これを開いて、'npto.exe' を実行する。
    6. インストールの許可を聞いてくるので、許可すると、'Named Pipe TCP Proxy Utility' がインストールされる。
    7. 'Named Pipe TCP Proxy Utility' を起動する。

      f:id:muh:20160923215356p:plain

    8. 「edit」 →「new」で 'pipe name' と 'port' 番号を入力する。

      f:id:muh:20160923215940p:plain

    9. TeraTermを起動し、localhostのポート8080にtelnetで接続する。

      f:id:muh:20160923220354p:plain

    10.  TeraTermに 'attaching console, wait ,,,' と表示される。

      f:id:muh:20160923220554p:plain

    11.  Named pipe TCP Proxy Utility の表示は以下のとおり

      f:id:muh:20160923220751p:plain

    12.  新規に作った仮想マシンの電源を入れるとインストールメディアを聞いてくるが、指定した後、エラーになる。ホスト側の名前付きパイプを読めていないようだ。

    13. 状況は何も変わらない。ここで一旦、現行のVirtualBoxをアンイストールして旧バージョンの4.2.4をインストールした。
    14. とりあえず、Connected!まではいった。
      現行バージョン(5.16)では、シリアル接続用のドライバーがインストールされていないのかもしれない。但し、4.2.4では、connectするだけで、loginできない。
      仮想スクリーンの方は、Starting sshdで停まる。仮想スクリーンからEnterを入力すると続行するが、sshdは確立されず、TeraTermからはSSHでも接続できない。
    15. 結局、4.2.4では、sshdが確立できない。teratermでのシリアル接続は確認できたが、loginできない。一旦、5.1.6に戻して、sshdを確認してみる。少なくとも、teratermとnamed pipeに問題はないという事が判った。Virtual box側の問題だ。
    16. 5.1.6に戻したところ、sshdは問題なく立ち上がった。sshを取るかシリアルを取るかならsshを取るしかない。動く動かないはoracleが提供している仮想ドライバの関係かと思う。

 VirtualBoxは、普通に使うだけなら、デフォルトでインストールして、仮想マシンを作成して、ゲストOSをインストールすれば、それなりに動いてしまうが、細かいところで、バージョン毎に微妙な差異があるようだ。

 5.1.6には'VirtualBox 5.1.6 Oracle VM VirtualBox Extension Pack'が用意されている。USBやPXE等を使えるようにする為の拡張用のパッケージらしい。(5.0.26用もあるらしい)

 インストール方法は、ダウンロードした'Oracle_VM_VirtualBox_Extension_Pack-5.1.6-110634.vbox-extpack'をダブルクリックするだけ。

 拡張子'.vbox-extpack'がVirtualBoxと関連づけれているので、VirtualBoxが立ち上げり、処理を進めてくれる。

 VirtualBoxのメニューから「環境設定」→「機能拡張」を選び、'Oracle VM  VirtualBox Extension Pack’ が表示されている事を確認する。

f:id:muh:20160924030527p:plain

 ただ、この作業を行っても、シリアル接続の状況は変わらなかった。(USBには影響するかもしれない。)

 リリース毎に扱いが異なる以上、バージョンの異なる情報は参考程度に留めるべきで、マニュアルを頼りにするしかない。

 ネット上には、Oracle VM VirtualBox® にあるが、内容はメニューから表示されるHelpと同様である。また、インストール先のフォルダにもPDFがある。

 英語なので、大変だが、少しずつでも読んで理解するしかない。

 Guest Additionsの事は、まだ良く判っていないが、FreeBSDでは未だ使えないという事は判った。(Guest としてか Hostとしてか、NTとかDOSもあったから、Hostだろう。)

 

 シリアル接続については、もうひとつ古いバージョンのVirtualBoxがあるので、それで試したり、古いバージョンのVirtualBox上でFreeBSDをインストールしてみるというのを試してみたいが、とりあえず仮想環境でシリアル接続しなければならない必然性があまりない。

 他で出来たのに、同様の手順を踏んだのにもかかわらず、自分の環境でできないのが気持ちが悪かっただけだ。

 VirtualBoxのバージョンの問題であるらしいという事が判れば、とりあえず良しとする。

 

 まぁ動いているからいいというくらいの軽い気持ちで行かないと、先に進めない。シリアル接続の検証は、ここで一旦終了。