VMware Fusionの最近のブログ記事

ZFS boot ・・・2回目以降、起動せず orz

| トラックバック(0)

64 bit kernel で起動させようと、reboot してみました。
起動後、grub editor で、エントリを直接いじって起動させてみようと思いました。
しかし、「Vortual machine kernel stack fault」の message が出力されてしまい、そのディスクイメージからは、2度と起動できなくなってしまいますよ orz

*** Virtual machine kernel stack fault (hardware reset) ***
The virtual machine just suffered a stack fault in
kernel mode. On a real computer, this would amount to a reset of the processor.
It can be caused by an incorrect configuration of the virtual machine, a bug in
the operating system, or a problem in the VMware Fusion software. Press OK to reboot virtual machine or Cancel to shut it down.

VMware Fusion beta 3 の bug なのかな?

一度、ufs な Nevada b62 を起動して、installgrub してあげると、また、起動できるようになった。いま、立ち上がってるけど・・・
これ、落とすと・・・また、同じなのなか・・・

同じでした orz
とりあえず、zfsboot を作成するために使用した、ディスクイメージの grub を使えば、起動させることができた・・・
workaround しては、コレもありか。




やりなおし。

こんどは、zpool create で、スライスではなく、disk 丸ごと zfs に。
しかし、ここにも罠が。
EFI label だと、installgrub できない orz

# installgrub /zfsroot/boot/grub/stage1 /zfsroot/boot/grub/stage2 /dev/rdsk/c1t1d0s0cannot open/stat device /dev/rdsk/c1t1d0s2

そりゃそうだねぇ・・・

元に戻すには、format -e で SMI label を書き込んであげればいいのだけど、x86 だと、fdisk で EFI パーティションを削除後、create で Solaris パーティションを作ってあげないと SMI label が書き込めない。むぅ。

まぁ、冒険は後からでもいいので、とりあえずは最初に戻って、手順書通りにやってみる。
とりあえず、/rootpool/boot/grub/menu.lst は、こんな感じで設定し、32bit kernel が強制的に起動するようにしてみる。手順書には、console=ttya がついてるのだけど、それは外しときます。
title Solaris ZFS
root (hd0,0,a)
kernel$ /platform/i86pc/kernel/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/boot_archive

title Solaris ZFS - failsafe
root (hd0,0,a)
kernel /boot/platform/i86pc/kernel/unix
module /boot/x86.miniroot-safe
で、恐る恐る shutdown -y -i6 -g0 してみると・・・
きたっ!zfsboot きたっ!

# mount -p
rootpool/rootfs - / zfs - no rw,noatime
/devices - /devices devfs - no
/dev - /dev dev - no
ctfs - /system/contract ctfs - no
proc - /proc proc - no
mnttab - /etc/mnttab mntfs - no
swap - /etc/svc/volatile tmpfs - no xattr
objfs - /system/object objfs - no
/usr/lib/libc/libc_hwcap1.so.1 - /lib/libc.so.1 lofs - no
fd - /dev/fd fd - no rw
swap - /var/run tmpfs - no xattr
/dev/dsk/c1t0d0s0 - /ufsroot ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
rootpool - /rootpool zfs - no rw,devices,setuid,exec,xattr,atime
/hgfs - /hgfs vmhgfs - no
/tmp/VMwareDnD - /var/run/vmblock vmblock - no
いい感じです。read/write が速くなっています。

とにかく、Manual Setup to boot ZFS on x86 を、きちんと読むのが成功の秘訣です。
section 4 の find と cpio による populate の次にある、「Run this script to create them.」これは、忘れずに実行することです。
コピペすると大変なことになるので、きちんと確認を。

あと、起動時に以下の WARNING が。
unknown genunix: [ID 921906 kern.warning] WARNING: Cannot find /etc/dfs/sharetab
unknown kcf: [ID 415456 kern.warning] WARNING: No randomness provider enabled for /dev/random. Use cryptoadm(1M) to enable a provider.
sharetab は、build 62 で、kernel が持つようになったので、以下のようにしてから再起動してあげればいいみたい。
# touch /etc/dfs/sharetab
cryptoadm は、わかんね。

いまのところ、さとうは VMware Fusion Beta 3 を使って実験しているので、仮想環境で練習してから挑むのをオススメ。
次は、64 bit kernel で起動させてみないと。

ZFS boot ・・・・挑戦中 orz

| トラックバック(0)

撃沈しまくりんぐ。

VMware Fusion Beta 3 を使って、別なディスクへ rootpool を作成し、ufs な / を populate しています。
grub の起動、kernel 読み込みまではうまくいきましたが、その後の /system/contract がないとか、/etc/svc/volatile がないとかうまく起動してくれず・・・

あっ。
犯人発見!

http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/create_dirs/

コピペが原因ですか orz
こうなってました。

ZFSROOT=$1

createdir $ZFSROOT/system/object 555 root root createdir $ZFSROOT/system/contrac
t 555 root root createdir $ZFSROOT/tmp 1777 root sys createdir $ZFSROOT/proc 555
 root root createdir $ZFSROOT/etc/svc/volatile 755 root sys createdir $ZFSROOT/v
ar/run 755 root sys createdir $ZFSROOT/dev/fd 555 root root

touch $ZFSROOT/etc/mnttab chmod 444 $ZFSROOT/etc/mnttab chown root $ZFSROOT/etc/
mnttab chgrp root $ZFSROOT/etc/mnttab echo "$ZFSROOT is created"
これを、web にあるように直してあげると、ないないいってたのができあがります。
皆さんも注意してください・・・

さて、無事に boot するかな・・・

ディスクイメージファイルが、壊れたのかな? VMware 起動しない。 orz
こんなメッセージが出る。

*** Virtual machine kernel stack fault (hardware reset) ***
The virtual machine just suffered a stack fault in
kernel mode. On a real computer, this would amount to a reset of the processor.
It can be caused by an incorrect configuration of the virtual machine, a bug in
the operating system, or a problem in the VMware Fusion software. Press OK to reboot virtual machine or Cancel to shut it down.
こ、怖いな。

ufs のほうは壊れてないので普通に起動する。
もう一回、作り直しか orz

VMware Fusion Beta 3 と Nevada build 62

| トラックバック(0)

んー、また、X 周りが変更されたようで、VMware tools に付属する module だと、ABI の version mismatch で Xorg 起動しなくなってますた orz
とりあえず、OS 付属の vmware driver と mouse driver (not vmmouse) を使って回避。
# 32 bit binary の Xorg の話でつ。

(EE) module ABI major version (0) doesn't match the server's version (1)
(EE) Failed to load module "vmware" (module requirement mismatch, 0)
(EE) No drivers available.
(EE) module ABI major version (0) doesn't match the server's version (1)
(EE) Failed to load module "vmmouse" (module requirement mismatch, 0)
(EE) No drivers available.

[VMWare Fusion Beta 3] 続・X.org server 64 bit 化の悲劇

| トラックバック(0)

はまりまくりんぐ。

VMWare Fusion Beta 3 環境での Xorg 環境ではまっていたわけですが、やはり 64 bit kernel 下では、/usr/X11/bin/amd64/Xorg が起動しています。
これは、起動している Xorg に pldd コマンドを実行してみればわかります。

これが、64 bit Xorg が起動しているとき。
amd64 配下のものを呼び出しているのがわかります。
32bit object と 64 bit object を混在して扱えないという仕様のためこれで決め打ちできたりしますね。
--
# pldd `pgrep Xorg`
606: /usr/X11/bin/Xorg :0 -depth 24 -nolisten tcp -nobanner -auth /var/dt/A
/lib/amd64/libc.so.1
/usr/X11/lib/X11/xserver/amd64/libXfont.so.1
/lib/amd64/libsocket.so.1
/lib/amd64/libnsl.so.1
/usr/X11/lib/modules/amd64/libpcidata.so
/usr/sfw/lib/amd64/libgcc_s.so.1
/usr/X11/lib/modules/extensions/amd64/libdbe.so
/usr/X11/lib/modules/extensions/amd64/libextmod.so
/usr/X11/lib/modules/fonts/amd64/libtype1.so
/usr/X11/lib/modules/drivers/amd64/vmware_drv.so
/usr/X11/lib/modules/input/amd64/mouse_drv.so
/usr/X11/lib/modules/input/amd64/keyboard_drv.so
/usr/X11/lib/modules/amd64/libvgahw.so
/usr/X11/lib/modules/amd64/libfb.so
/usr/X11/lib/modules/amd64/libshadowfb.so
/usr/X11/lib/modules/amd64/libramdac.so
/lib/amd64/libm.so.2
/usr/X11/lib/amd64/libXau.so.6
/usr/lib/amd64/libproject.so.1
/lib/amd64/libsecdb.so.1
/lib/amd64/libproc.so.1
/lib/amd64/librtld_db.so.1
/lib/amd64/libelf.so.1
/lib/amd64/libctf.so.1
--

というわけで、64 bit 環境下では 64 bit Xorg が動作していることがわかりますた。

で、もう一度おさらいして・・・
何が問題かというと、VMWare Fusion Beta 3 にて提供されている VMWare Tools の
一部は、64 bit kernel に対応しているものの、X 環境で重要となる Video driver
と mouse driver は、32 bit object なわけです。

なので、Xorg の 64 bit binary 下では、動作しません。
特に mouse driver については、シームレスに動作させるためには必要でし。
VMWare Tools に付属する driver ではなく、標準の driver でも一応は動作しますが、動きに優雅さがない! (by Ladios Sopp)
64 bit module が提供されるのを待つしかないでしょうと。

で、前向きに考えて、Solaris x86 に限っては、32 bit kernel もサポートしているので、64 bit kernel 下で動作している時に、64 bit Xorg ではなく 32 bit Xorg を動かしてしまえば問題ないじゃないかと。
いまのところ、特に 64 bit Xorg が使えなくて困ることはないかなと。

ということで!
64 bit kernel 下で 32 bit Xorg を動かしてしまおうと。
...

や、やり方、わかんねぇー(;´Д`)

まずは、Xorg の 64 bit 化について調べてみると、これにきちんと全て書いてありますたっ!

PSARC 2007/051 Xorg server upgrade to 7.2
http://www.opensolaris.org/os/community/arc/caselog/2007/051/onepager/

/usr/X11/bin/Xorg は、isaexec (3C) を使って、起動するべき binary を選択して
いるとのこと。
#64 bin kernel なら、amd64/ 配下の binary を。
 32 bit なら、i386/ 配下の binary を

これは、SMF 使ってて x11-server manifest の options/server で指定されている。
なので、64 bit kernel のときに、32 bit な Xorg を起動したい場合は、下記の
ように x11-server の設定を変更することで可能。

 # svccfg -s x11-server setprop options/server=/usr/X11/bin/i386/Xorg

これで、再起動すると、/usr/X11/bin/i386/Xorg が起動する。

こっちは、/usr/X11/bin/i386/Xorg が起動しているとき。
amd64 がつかない、PATH となっていまつ。
--
# pldd `pgrep Xorg`
1761: /usr/X11/bin/i386/Xorg :0 -depth 24 -nolisten tcp -nobanner -auth /var
/lib/libc.so.1
/usr/X11/lib/X11/xserver/libXfont.so.1
/lib/libsocket.so.1
/lib/libnsl.so.1
/usr/X11/lib/modules/libpcidata.so
/usr/sfw/lib/libgcc_s.so.1
/usr/X11/lib/modules/extensions/libdbe.so
/usr/X11/lib/modules/extensions/libextmod.so
/usr/X11/lib/modules/fonts/libtype1.so
/usr/X11/lib/modules/drivers/vmware_drv.so
/usr/X11/lib/modules/input/mouse_drv.so
/usr/X11/lib/modules/input/keyboard_drv.so
/usr/X11/lib/modules/libvgahw.so
/usr/X11/lib/modules/libfb.so
/usr/X11/lib/modules/libshadowfb.so
/usr/X11/lib/modules/libramdac.so
/lib/libm.so.2
/usr/X11/lib/libXau.so.6
/usr/X11/lib/X11/xserver/libfontenc.so.1
/usr/lib/libproject.so.1
/lib/libsecdb.so.1
/lib/libproc.so.1
/lib/librtld_db.so.1
/lib/libelf.so.1
/lib/libctf.so.1
#
--

というわけで、これで、64 bit kernel 下で、32 bit Xorg が動作するようになりますた。
あとは、VMWare Tools のインストールですが、実は、これにも罠があったりするわけですが。
vmware-tools-distrib/bin/vmware-config-tools.pl の中で Xorg の version check が、
あるため途中で、abort しちゃいます。

こちらの回避策が参考になりました。

新井隆浩 WEB - VMware Fusion Beta3
http://arai.cocolog-nifty.com/topics/2007/04/vmware_fusion_b.html

Nevada b61 をつっこんだのはいいのですが・・・

X.org が、7.2 になり、64 bit kernel 下では、64bit binary の X.org が動作するようになっていますた orz
何が、orz かって言うと、VMWare-tools に含まれている、mouse の module が 32 bit binary しかなく、mouse 操作がシームレスにおこなえない・・・
32 bit kernel にすると、e1000g が使えなくなり・・・

32 bit な X server を動かすようにしてあげればいいのかな?


再起動したら、使えるようになりますた orz
ボケボケでつ。

で、きちんと確認してみたところ、dtlogin の画面では、シームレスに移動できなかっただけで、login してしまえばシームレスに操作できることがわかりました。
でも、VMWare のウィンドに入った瞬間、ちょっとカクつきます。
やっぱり、Xorg server の 64 bit 化が引き金になっているようです。
このあたりの話は、別のエントリで。


VMWare Fusion Beta 3 を追う前に言っておくッ!

おれは今やつらの力をほんのちょっぴりだが体験した
い…いや…体験したというよりはまったく理解を超えていたのだが……

あ…ありのまま 今 起こった事を話すぜ!

『おれは奴に Solaris をインストールしていたんだが、
 ネットワークインターフェースがないと決めつけて、
 F2 を連打していたらいつのまにか、
 DHCP クライアントにするか聞かれていた。
 Use DHCP for e1000g0 と・・・』

な… 何を言ってるのか わからねーと思うが
おれも何をされたのかわからなかった…

頭がどうにかなりそうだった…

催眠術だとか超スピードだとか
そんなチャチなもんじゃあ 断じてねえ

もっと恐ろしいものの片鱗を味わったぜ…

というわけで、Fusion Beta 3 では、VM の仮想ハードウェアを e1000g として認識するように
なってました。(ちなみに、64 bit 環境)

core system をインストールして確認したところ、きちんと e1000g0 が割り当てられ、dladm も反応。接続方法として NAT もサポート。
あああ、これで、GLDv3 の機能検証できたりするね・・・でもって、Zone 作って、Crossbow の IP Instance とかもVMWare 上で遊べたりしそうですね・・・
dladm で、aggr interface つくって、通信してみる分には問題なさげ。
ただ、どんなガッカリ砲がまっているかわからないので、使えたら lucky 程度がいいかと。

って、うわぁぁぁぁ、Hard disk なんか、pci1000,30 で、mpt driver が attach してますよ?
pci1000,30 って、LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller じゃないですか。
おもむろに、raidctl コマンド叩いてみると、きちんと反応しやがるし。
もう一個、disk 追加してあげれば、raidctl で raid 組めそうですw
なので、ディスクを 2 個追加して、mirror を作成・・・ダメでした orz
ガッカリ砲きた。惜しいなぁ。
(Virtual Machine -> settings 見たら、Hard disk は、IDE or SCSI と選択できるのでつね)

あ、USB は使えないみたいだね。

まぁ、なにが言いたいかと言うと、すげぇ。なとw

Parallels をベタ褒めした過去を持つオトコですが、VMWare の製品購(ry

VMware Fusion Beta 3 Now Available

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

Beta 3 の announce が。
Release notes を見ると、

・Greatly improved performance
 
you can now disable debugging code to experience the full power and performance that VMware Fusion offers for running your favorite PC
applications.

・Support for Boot Camp


ワクテカしてしまったので、早速ぶち込んでみる。
....
....
VM は、以前、作った Soalris 10 U3 のものがあったので、そのまま利用。
....
ちょっwwww debug option 切ると、ものすごい快適なんですけどっ!

なんですか、これは。
しかも、Parallels とは違って、vmware tools も用意されているので、マウスもシームレスに利用することができるので、Solaris 使うという部分に絞ると、VMWare のほうが使い易いでつ。Parallels やばす。

しかも、BootCamp をサポートしたともあるので、さらにやばす。

http://www.vmware.com/products/beta/fusion/releasenotes_fusion.html

: Twitter Updates

    follow me on Twitter

    ウェブページ

    タグクラウド

    Techonrati

    Technorati search

    » リンクしているブログ

    Powered by Movable Type 4.23-ja