Core 2 Duo Mac上のVMWare Fusionで32bit Solaris 10を動作させるTIPS

Core 2 DuoのMacBookでVMWare Fusionを使用すると64bit OSをゲストOSとして使用できるようになります。しかし、Core Duo時代に32bitモードで作成しておいたSolaris 10のイメージをCore 2 DuoのVMWare Fusionで実行すると、64bitモードで起動しようとして以下のダイアログが出た後、起動に失敗して強制リブートがかかります。

Vmware32biton64bit

おそらく、vmxファイルに32bitモードを明示するオプションが必要なのだろうと思い、検索してみたところ比較的簡単に解決策を見つけました。

具体的には以下の一行をvmxファイルに追加した後にゲストOSを起動すると、32bitモードのSolaris 10が正常に起動しました。

monitor_control.disable_longmode = 1

一応、この設定のままでも使用上不都合はなさそうですが、上記サポートドキュメントを見るとこの設定のままにしておくことは推奨しないということらしいので、一旦32bit Solaris 10が起動したらrootアカウントから、以下のようにEPROMの設定をした方がいいそうです。

# eeprom boot-file=kernel/unix

EPROMの設定をした後は、vmxファイルに追加したmonitor_control.disable_longmode = 1の行を削除しても、きちんと32bitモードでSolaris 10が立ち上がりました。

| | コメント (0) | トラックバック (0)

Mac OS XとSolarisのデュアルブートに挑戦。しかし...

一つ前のエントリで、Boot Campパーティションを作った目的は、内蔵ハードディスクにMac OS XとSolaris Nevadaのデュアルブート環境を作りたかったからでした。

"good-for-nothing.org: Solaris On A MacBook"のように、外付けUSBハードディスクを利用したSolaris Nevadaのネイティブブートはうまくいくことは確認できていましたが、現在のSolaris Nevadaは、MacBookのTrackPadに対応していないため、USBマウスが必須です。外付けHDと外付けマウスの両方をMacBookにつなげなくてはいけないのは、持ち運びの意味でのポータビリティがよくありません。

なんとか、内蔵のBoot CampパーティションにSolarisをインストールできないものかと探していたら、step-by-stepでインストール手順を紹介しているブログを見つけました。

しかし、Solaris Nevada build 59を使用し、Paulさんの手順通りに実行してみたものの、Solarisパーティションのスライス作成段階でエラーになってしまい、正しくインストールすることができませんでした。Solarisインストール前は、以下のようなGUIDパーティション構成だったのですが、

# diskutil list disk0
/dev/disk0
   #:                   type name               size      identifier
   0:  GUID_partition_scheme                    *149.1 GB disk0
   1:                    EFI                    200.0 MB  disk0s1
   2:              Apple_HFS Macintosh HD       128.6 GB  disk0s2
   3:   Microsoft Basic Data UNTITLED           20.1 GB   disk0s3

# gpt -r show disk0
gpt show: /dev/disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  269704800      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  270114440     262144         
  270376584   42205184      3  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  312581768          7         
  312581775         32         Sec GPT table
  312581807          1         Sec GPT header

Solarisインストーラを実行後は、以下のようにMBRパーティション構成に書き換えられてしまいました。

# diskutil list disk0
/dev/disk0
   #:                   type name               size      identifier
   0: FDisk_partition_scheme                    *149.1 GB disk0
   1:              Apple_HFS                    200.0 MB  disk0s1
   2:              Apple_HFS Macintosh HD       128.6 GB  disk0s2
   3:                                           20.1 GB   disk0s3

# sudo gpt -r show disk0
Password:
      start       size  index  contents
          0          1         MBR
          1     409639      1  MBR part 175
     409640  269704800      2  MBR part 175
  270114440     259510         
  270373950   42202755      3  MBR part 191
  312576705       5070         
  312581775         32         Sec GPT table
  312581807          1         Sec GPT header

こんな状態でもMac OS Xパーティションは普通に立ち上がります。MBRパーティション構成の中のHFS+パーティションからもMac OS Xは立ち上がるんですね。

しかし、こんな状態にしておくのも気持ちが悪いので、GUIDパーティションにフォーマットし直してリストアする予定です。

どなたか、内蔵HDでのMac OS X/Solarisデュアルブートに成功した方がいらっしゃいましたら、情報お待ちしております。

| | コメント (0) | トラックバック (0)

VMware Fusion Beta2 - Solaris用VMware Toolsが改善

新井さんのブログで、VMware Fusion Beta 2のSolaris用VMware Toolsが改善されていることが紹介されていたので、私の方でも追試してみました。

VMware Toolsをアップデートするときは、

  1. Solaris上のroot権限でvmware-uninstall-tools.plを実行して、古いVMware Toolsをアンインストール
  2. メニュー「Virtual Machine>Update VMware Tools」を実行すると、/cdrom/vmwaretools/にイメージがマウントされる。
  3. イメージ内のvmware-solaris-tools.tar.gzを展開し、vmware-tools-distribディレクトリ内のINSTALLファイルの記述を確認し、root権限でvmware-install.plを実行する

です。なお、VMware Toolsが作成する/etc/X11/xorg.confはUSキーボードを前提としているため、日本語キーボードでMacを使用している方は、以下のようにxorg.confを修正します。

Section "InputDevice"
    Identifier  "Keyboard1"
    Driver      "keyboard"
    Option "AutoRepeat" "500 30"
    Option "XkbRules"   "xfree86"
    Option "XkbModel"   "jp106"
    Option "XkbLayout"  "jp"
    Option "XkbCompat"  ""
EndSection

また、ホストOSであるMacと日本語のファイル名やクリップボードの内容をやり取りするときには、UTF-8を前提としているようなので、dtloginのログインパネルの「オプション」ボタンで、デフォルトのロケールをUTF-8にすることを設定します。ログインパネルでは下図のように日本語フォントが表示されませんが、アルファベット部分は表示されるので、正しく選択します。

Solaris10xdmlocale

なお、上記ロケールの選択肢はSolaris 10インストール時にインストールするロケールを選択しておかないと出てこないので注意してください。

【追記】

上記のままだとリブートする度にデフォルトのロケールが元に戻ってしまうので、/etc/default/init内の定義をLANG=ja_JP.UTF-8に変更しておくといいです。

---

新井さんが紹介しているように、ファイルのドラック&ドロップ(日本語ファイル名でもOK)、日本語のコピー&ペースと、ディスプレイ解像度のダイナミックな変更が可能になっています。

しかし、私の環境では共有フォルダがうまく使えませんでした。共有フォルダをnautilusで見ると以下のように進入禁止マークがついており、ダブルクリックするとSolaris 10が強制リブートしてしまいました。

Vmwaresharedfoldersol10

まあ、ドラッグ&ドロップでMacとのファイルコピーが使えるので、大きな問題ではありません。

また、VMware Toolsのインストール時にMacBookのディスプレイ解像度1280x800を設定したのですが、ログインパネルを表示するときにはこの設定が効かないようです。一旦ユーザでログインしてしまえば、VMwareウィンドウの大きさに合わせてSolaris 10側のデスクトップ解像度がダイナミックに変わります。

なお、これはSolarisに関わらずどのOSをゲストにしても同様だと思いますが、共有ネットワークを使用してのホストOSからゲストOSへのネットワークアクセスはBeta 2でもできないままです。

まだまだ不満はありますが、Windows並みの使いやすさをSolarisでも提供してくれるVMwareはとてもいい感じです。

| | コメント (0) | トラックバック (0)

VMware Fusion Betaパーソナル・レビュー

VMwareのMac版Fusionの公開ベータがやっと利用可能になりましたので、ちょっとだけ試用してみました。

現在のところ予め用意されているVM設定(vmx)のメニューは、Windows(3.1/95/98/ME/NT/2000/XP/Server 2003/Vista)、Linux(Read Hat/SUSE/Novel/Sun Java Desktop System/Mandrake/Mandriva/Turbolinux/Ubuntu/Other)、Novel NetWare(5/6)、Solaris(9/10)、MS-DOS、FreeBSDです。また、ゲストOSで64bit版があるものはそれも選択できます。

今回は、先日新しくなったばかりのSolaris 10 (11/06)を試してみました。

仮想マルチプロセッサ

VMware Fusionでは、まだParallels Desktop for Mac(以下、Parallels)では実装されていない仮想マルチプロセッサを設定できます。Core DuoなMacBookでParallelsを動かした場合、CPU用にコア1つ、グラフィックス用にコア1つという使われ方をするため、ゲストOSにサーバ系のOSを試したいときはちょっと勿体ないと思っていましたが、VMwareでは2つのコアをCPUに割り当てることができます。

「New Virtual Machine Assistant」でマルチプロセッサを設定する場合は、「System Settings」画面で「Advanced CPU and Memory Settings」をクリックすることでCPU数を設定できます(MacBookの場合は、1か2が選択できました)。

Vmwarefusioncpusettings

もし、ウィザードで設定を忘れても、vmxファイルをエディタで編集すればいつでも変更できます。vmxファイルを含めた、各VMの設定はデフォルトでディレクトリ~/vmware/に保存されます。CPU数を変更する場合は、vmxファイルのプロパティnumvcpusを変更します。

numvcpus = "2"

Solarisからもきちんとデュアルプロセッサとして認識されています。

Vmwareprtdiag

仮想ネットワーク(NAT)で、MacからゲストOSにアクセスできない

まだBeta実装だからだと思いますが、Windows版のVMware Playerではできていた、ホストOSからゲストOSへのネットワークアクセスがFusion Betaではできていません。Mac側に仮想NICはできませんし、ルーティングテーブルも変更されません。

ゲストOSから外部のネットワークへのアクセスは問題なくできるのですが、Mac側からゲストOSにsshでログインしたり、ファイル転送したりすることができないため、とても不便です。おそらく将来の版では改善されるのではないかと思います。

参考までにネットワークの設定にNATを選択した場合のゲストOS側から見える仮想ネットワークは 172.16.97.0/24。仮想ルータ、DHCPサーバ、Macの内向けアドレスはいずれも172.16.97.2になります。この情報を前提にMac側でBINDを設定すれば、ゲストOS側から問題なくホスト名のDNSルックアップができます。

Solaris用のvmware toolインストール後、画面が真っ白に

VMware Fusionでは、Solaris用にもvmware-toolが用意されているのですが、これを入れたところ、Xの画面が真っ白になってしまいました。現状ベータでは、Solaris用のvmware toolをインストールされないことをお勧めします。

もし、誤ってインストールしてしまったら、シングルユーザモードなどに移行して、/usr/bin/vmware-uninstall.plを実行し、vmware toolをアンインストールします。

vmware toolが正しく動くと、各種Macの特殊な解像度が設定されたxorg.confが利用できたり、Cmd-QでOSがシャットダウンできたり、仮想NICが速くなったり(現状のpcn0はとても遅い)と、よいことが沢山あります。マウスカーソルがMacとSolarisで行き来できるようになるかどうかは分かりませんが、正式版までには直してもらいたいものです。

【追記】vmwara toolが作成するxorg.confを削除することで、画面真っ白問題を回避することができることが確認できました。

Thanks > araiさん

マウスの第2ボタンが効かない

vmware toolがインストールされないと機能しないのかもしれませんが、「キーボードとマウス」環境設定で、「副ボタンのクリックの代わりにトラックパッドに2本指を触れてクリック」を設定しても、MacBookではマウスの第2ボタンが効きません。

これは早く改善してもらいたいものです。

【追記】vmware toolのインストール後、vmware toolが作成するxorg.confの代わりに、/usr/X11/bin/Xorg -configureで作成されるxorg.confをベースに、マウスの設定だけ

Driver "vmmouse"

と書き換えることで、トラックパッドでの右ボタンクリックができるようになることが確認されました。また、Cmd-Ctrlなしでホスト/ゲスト間でのマウスのシームレスな移動もできるようになります。

Thanks > araiさん

ディスクやNICの追加がGUIからできない

ただし、VMの設定(vmx)ファイルをエディタで直接編集して、以下のようなエントリを追加すれば、問題なく2つ目の仮想ディスクを追加できます。

ide0:1.present = "TRUE"
ide0:1.fileName = "disk2.vmdk"

Settings画面を見るときちんと2台のディスクが見えます。

Vmwarefusionhdsettings

以上のように、VMware Fusion Betaはまだまだ荒削りな感じです。現状では、実用的に使用するなら、機能的にも安定性も先行しているParallels Desktopに軍配が上がります。

しかし、手元に多くのVMware仮想ディスクを抱えている人にとっては、VMware Fusionを選択するメリットは大きいでしょう。VMware Fusionの将来のアップデートに期待します。

| | コメント (4) | トラックバック (1)

Parallels Desktop for Macベンチマーク (build 1862) Solaris 10の場合

Parallels Desktop for MacSolaris 10も使用しているので、正式版(build 1848)とアップデート・ベータ(build 1862)についてSolaris 10のベンチマークも取ってみました。

ベンチマークに使用したのは、HDBENCH clone 0.14.0です。まずは、正式版(build 1848)の結果です。

Hdbench_solaris10_paralells1848_macbook_

ディスクのベンチマークはマイナスの値が出てしまうため、上記のスナップショットには含めませんでした。また、IMAGEは16bitカラーでないと計測できないのですが、面倒なのでフルカラーのまま計測しました。そのためIMAGEは計測されていません。

続いて、アップデート・ベータ(build 1862)の結果です。

Hdbench_solaris10_paralells1862_macbook_

Windowsの場合もそうですが、リリースノートにあるように若干ビデオの性能が良くなっています。しかし、もともとParallelsのビデオ・エミュレーションは実用的な速さだったので体感的には大きな変化はありません。

おまけとして、sshのポートフォーワーディングを使用してSolaris上のHDBENCH cloneをApple X11.appに表示させた場合のベンチマーク結果を以下に示します。

Hdbench_solaris10_apple_x11_paralells186

ネットワークの設定はHost-only networkですが、X11のイベントがethernetドライバを経由することによるオーバヘッドが生じます。そのため、Parallelsのデスクトップを使用した場合に較べてかなり描画性能が落ちます。ただし、CPU性能はParallelsがバックグラウンドになっても全く変わらないので、ターミナルで作業する分にはApple X11.appからsshでログインした方が使いやすいです。

本当は、Mac OS XネイティブでコンパイルしたHDBENCH cloneとも比較してみたかったのですが、以下のようにbenchcpu.sのアセンブラコードがうまくコンパイルできませんでした。

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl      -I/opt/local/include/gtk-1.2 -I/
opt/local/include/glib-1.2 -I/opt/local/lib/glib/include -I/usr/X11R6/include   
-g -O2 -Wall -c benchcpu.s
benchcpu.s:24:Alignment too large: 15. assumed.
benchcpu.s:28:Unknown pseudo-op: .type
benchcpu.s:28:Rest of line ignored. 1st junk character valued 98 (b).
benchcpu.s:88:Unknown pseudo-op: .type
benchcpu.s:88:Rest of line ignored. 1st junk character valued 98 (b).
benchcpu.s:142:Unknown pseudo-op: .type
benchcpu.s:142:Rest of line ignored. 1st junk character valued 98 (b).
benchcpu.s:187:Rest of line ignored. 1st junk character valued 44 (,).
benchcpu.s:188:Rest of line ignored. 1st junk character valued 44 (,).
make[2]: *** [benchcpu.o] Error 1

もし、Mac OS XでもHDBENCH cloneがコンパイルできたという方がおりましたら、是非お知らせください。

| | コメント (0) | トラックバック (0)

その他のカテゴリー

applescript | book | camcorder | development | english | iphone | ipod | java | linux | mac | solaris | 携帯