川の流れのように‥(Eiji Ota's Weblog)

月曜日 5 22, 2006

OpenSolarisに対応したQemu-0.8.1 (Qemu-0.8.1 supports OpenSolaris)


最近、Sunの社内でQemu 0.8.1が話題になっていました -- 先日、Qemu 0.8.0をOpenSolarisに対応させて動かした話をしましたが、その後急速に動き(*1)があって、Qemu 0.8.1でOpenSolaris対応が行われたのです。^-^

早速OpenSolaris上でQemuを動かして、KnoppixやWin98,2K,XP, Solarisなどの動作確認したというメールもありました。Qemu 0.8.1でも残念なことに例のtun/tap対応(IP tunneling)はされていないのですが、tun/tap以外でもネットは対応できるようなので(*2)、それならそれで別にいいっか、っていう気分 だったりしています...。^.^:

ところでKnoppixを動かした...と聞いて、そうかCDから直接ブートできるやつなら、結構楽にテストできるなと思いつき、じゃぁ先日の NexentaでもQemuを使ってブートさせてみるかと試しにやったら、あっさりと、しかも少々お古な僕のLaptopでも実用的な速度でOSがブート してしまいました。^-^


次を↓実行して、CDROMからNexentaを起動。

 % /opt/qemu/bin/qemu -cdrom /vol/rdsk/elatte_livecd user -m 200
  (注: 僕のlaptopは256MBしかないので、-mでは200を指定してsingle userでブート。でも普通は512MB辺りを指定するようです。)

 じゃ、kmdbでデバッカーも起動できるのか...とやってみたら、こちらもあっさりと起動。へぇ、Qemuでデバックもできそう と、改めて感心。^v^ 素晴らしい。。。



今回OpenSolarisが対応されたqemu-0.8.1のソースはこちらからダウンできます。

   ○ qemu-0.8.1(ソー ス)

また、既にパッケージ化したものも配布されていて(*3)、それはこちらからダウンできます。

   ○ PMqemu-0.8.1.i386.pkg (link先をダウンしてね)

前回書き忘れたのですが、gccコンパイラにバグがあるようで、版数が低いとqemuが誤動作してcoreを吐いてしまいます。(=_=) qemu-0.8.0のOpenSolaris対応中に、このバグに見事にはまりました。^^:

デバッカの指す該当付近のソースはどうも問題ないように見えるのですが、生成されたバイナリをディスアセンブルすると、どうもおかしい、、そんな場合は、 このコンパイラのバグに遭遇している可能性が大です。

SUNWgccのバージョンが11.10.0,REV=2005.05.28.01.25のもの(最初のリリース)だと、このバグが潜んでいるようです。 バージョンを11.10.0,REV=2005.09.23.01.45にしましたら消えましたので、最近のものには居ないだろうと思います。

僕の場合、gccのpackageをSolaris Expressから引っこ抜いて置き換え対処しました。 この方法では、SUNWgccとSUNWgccruntimeの2つを置き換えることになります。

○ SUNWgcc -- CDの4枚目に入っている

パス名: cdrom/sol_11_x86_4/Solaris_11/Product/SUNWgcc

○ SUNWgccruntime -- CDの2枚目に入っている

パス名: cdrom/sol_11_x86_2/Solaris_11/Product/SUNWgccruntime

作業はpkgrm(*4)してpkgaddするだけなので、簡単です。

(手順)

1. SUNWgcc

 (削除)
           # pkgrm SUNWgcc
 (追加)
           # cd /cdrom/sol_11_x86_4/Solaris_11/Product
           # pkgadd -d . SUNWgcc

 2. SUNWgccruntime

 (削除)
           # pkgrm SUNWgccruntime

 (追加)
           # cd /cdrom/sol_11_x86_2/Solaris_11/Product/
           # pkgadd -d . SUNWgccruntime

今回は、最近リリースされたQemu-0.8.1についてでした。
ではでは。。。(^-^)


(*1) SunのBen Taylorさんが、Qemuに差分を差し出してくれたようです。
(*2) -net nic -net userでできるらしいのですがよく知りません。^-^;
(*3) Patrick Mauritzさんがビルドしたものです。Patrickさんは、OpenBIOSというieee1275ベースのLinuxBIOSのようなオープンな BIOSを開発しています。
(*4) pkgrmするときに、パッケージの依存関係で警告が出されますが、無視します。

Technorati Tag: OpenSolaris

Comments:

こんにちわ初めまして。Nexenta面白いですね。フッフッフ。gnusolarisのフォーラムに参入して暴れています。

Posted by Noniko on 8月 02, 2006 at 07:41 午後 PDT #

Nonikoさん、こんにちは。NetbeansのNonikoさんからコメント貰えるとは、、、嬉しい限りです。最近、Nexentaにはまっているなんて...素晴らしいですね (^O^) WWW 暴れまくっているのは、どの辺りのgnusolarisフォーラムなんですか? 外野席から是非ともエールを送りたい...なんて思ったり。それにしても、Nonikoさんのバイタリティには驚きを通りこして感動してしまいますよね。少しあやかりたいって(本気で)思ってます。今後もよろしく!

Posted by Eiji on 8月 03, 2006 at 11:10 午前 PDT #

こんにちわ。こちらこそレスいただいて光栄です。NexentaはAlpha5になってデスクトップの日本語化まではできるようになったんですが日本語環境だと脳散らすはコケるし,まだSCIMが動かず手間取っています。フォーラムというかgnusolaris-beginnersメーリングリストでゴジャリマスが,Erastさんという人に面倒見てもらっています。日本人も使いてェんだーということが伝わればと思っています。

Posted by Noniko on 8月 04, 2006 at 05:49 午前 PDT #

Nonikoさん、こんにちは。そうだったんだぁ、NexentaはAlpha5で日本語化されているんですね。知らなかったなぁ。情報どうもありがとうございます。以前、Nexentaを使った時は、いい感じだったんですが、日本語とSVR4の資産が使えない(SVR4の方は使いづらい)のがネックに思えたんですけど、日本語対応しているとなると、大きく前進ですよね。とても嬉しいニュースだと思います。またBlogでも取り上げようかな? 今度はNonikoさんとジョイントっていきたいですけどね。(^-^) そんでもって、gnusolaris-begineersで暴れているんですね。さすが、Nonikoさん! (^.^)

Posted by Eiji on 8月 04, 2006 at 01:13 午後 PDT #

Post a Comment:
Comments are closed for this entry.

Calendar

Feeds

Search

Links

Navigation

Referrers