さて、もう少しで 2008 年も終わりますね。
今年も、いつものことですが、顔の見えてる人、見えない人、いろいろな方々に大変お世話になりました。
来年もよろしくお願いいたします。
それでは、良いお年をお迎えください。
2008年12月アーカイブ
Solaris on MacBook のまとめもかねて、wiki を作ってみる。
まだ、そんなに内容ありませんが。
古いコンテンツなどは、wiki のほうにつっこんでいこうかな・・・
http://solaris.sunfish.suginami.tokyo.jp/wiki
お、RealTek RTL8178L 用の driver がリリースされました。
こちら、Nevada b105 以降のみ利用可ということで crossbow 対応されてますね。
Nevada b105 がリリースされるまでお預けか、ON b105 で。
source は公開されてないのだけど、ちらっと strings かけて見ると suspend/resume に対応しているっぽい。
日本で販売されているどの製品に該当するかわかりませぬ・・・
http://www.opensolaris.org/os/community/laptop/wireless/urtw/
いまのところ、patch 形式のみ。
とりあえず、ON 20081216 に当ててみたら audio810.c のみ reverse するか聞かれてだけで、後はサクッと適用できたみたい。
ちょいと build しみまふ。
http://gdamore.blogspot.com/2008/12/boomer-beta-source-code-posted.html
OpenSolaris Project: Open Sound System
http://www.opensolaris.org/os/project/opensound/
bug だよね・・・
$ zpool upgrade -vでも、property を見ると、version 13 。
This system is currently running ZFS pool version 14.
The following versions are supported:
VER 説明
--- --------------------------------------------------------
1 初期バージョンの ZFS
2 Ditto ブロック(複製されたメタデータ)
3 ホットスペアおよびダブルパリティー RAID-Z
4 zpool history
5 Compression using the gzip algorithm
6 bootfs pool property
7 Separate intent log devices
8 Delegated administration
9 refquota and refreservation properties
10 Cache devices
11 Improved scrub performance
12 Snapshot properties
13 snapused property
14 passthrough-x aclinherit support
For more information on a particular version, including supported releases, see:
http://www.opensolaris.org/os/community/zfs/version/N
'N' はバージョン番号です。
macbook(i86pc):/export/home/kazus
$ zpool get all rpool
NAME PROPERTY VALUE SOURCE
rpool size 87.5G -
rpool used 25.9G -
rpool available 61.6G -
rpool capacity 29% -
rpool altroot - default
rpool health ONLINE -
rpool guid 10266562362930946106 -
rpool version 13 local
rpool bootfs rpool/ROOT/snv_104 local
rpool delegation on default
rpool autoreplace off default
rpool cachefile - default
rpool failmode continue local
rpool listsnapshots off default
Solaris 10 10/08 の環境に Mediawiki を仕込もうかと。
PHP5 などはインストール済みだったので、MySQL だけかと思い、Solaris 10 10/08 に含まれる MySQL の version を確認してみる。
$ mysql --versionむー、最新は 5.1 なので、ちょっと古いですね。
mysql Ver 12.22 Distrib 4.0.31, for sun-solaris2.10 (sparc)
まぁ、使ったことないので、まずはこれで勉強してみますか。
SMF 化するには、ここを参照。
Configuring MySQL to Use With Service Management Facility (SMF)動かすだけなら苦労しないね。
http://www.sun.com/bigadmin/content/submitted/mysql_smf_tip.html
って、Mediawiki の installer がなぜか、MySQL を発見してくれず。
PHP が --with-mysql で build されていなかった orz
ん?ON b105 にしたからか、最新の nge driver を導入したからなのかわかりませんが、fastreboot で文句言われなくなりました。
# reboot -f dryrun全部の driver で、quiesce をサポートしているってマシンもなかなか見れなかったが、まさか MacBook Late 2008 で見れるなんて(´Д⊂グスン
reboot: all drivers have implemented quiesce(9E)
USB WiFi adapter の rum driver と SoundBlaster PLAY! の usb_as や usb_ac driver は quiesce をサポートしているので、おっけぇと。
MacBook Late 2008 で ON b105 を利用するべく nfo driver をいじったのはいいのですが、やっぱ、純正 nge driver で動くといいよねーと、nge driver の source code いじりに挑戦。
純正 nge driver でも、通信はできるが速度がとにかくでないので、使いものにならず。
Nevada b99 をベースに MCP6x と MCP7x chipset 用の修正を加えた nge driver を ON b105 な環境で使おうとすると panic してしまうため、こいつの source code を参考に ON b105 の nge に手パッチ作業を実行!
さすが、Nevada だ。b99 ベースの source と b105 の source とで diff をとっても修正箇所多すぎてやってられないぜ(;´Д`)
やり方を変えて、MCP7x に絡みそうな部分をちょっとづつ追加して make の繰り返しで、最低限の修正でできたっぽい。
nge_chip.c の nge_init_dev_spec_param あたりが、その chip の機能を有効にしたり無効にしたりする処理っぽいが、nge_chip.h に定義されている id 以外は、default: の設定が使われてしまうらしく、これが遅い原因っぽい。
MacBook だと、MCP79 なのでそのあたりの定義をもってきて追加。
make して binary を作って配置完了!
お、load もできた。でも、plumb させた瞬間に panic する・・・むぅ
初期化周りがおかしいのかなと?と、もう一度、code を比べてみる。 なんで、nge_init_dev_spec_param を nge_chip_cfg_init の中で呼び出してるのかわかってないのですが、ベースの source がそうしているので、1 行追加。
おお、今度は、plumb しても panic しない!
dhcp で IP 割り当てられ通信もおk。速度も b99 ベースのものと同等っぽい(たぶん)
やったー゜・*:.。..。.:*・゜ヽ( ´∀`)人(´∀` )ノ・゜゜・*:.。..。.:*
とか思ってたら、Mac address がリバースしてる orz
ether xx:xx:xx:df:23:0スルーしていたが、MacBook Late 2008 もビンゴかぁ(´・ω・`)
workaround のコメントがついているので、対応箇所はすぐにみつけられたのだが、なにぶん処理の内容が理解できないw
nge_chip.h に定義された hex の情報を元にその処理に突撃しているのだけど、その値をどこからもってくればいいのやら・・・
と、最近 MacBook Late 2006 黒と Early 2008 黒に Nevada と OpenSolaris をつっこんで検証マシンにしている S さんに聞いてみる。
「これって、リバースした Mac address の vendor id じゃね?」
と神の一言が!
なるほど、ASUS とか ELITE とか GIGABYTE とかの名前がつけられ定義されているのだけど、言われたとおりに元に戻した値と vender をググってみると、ビンゴっぽい。
それなら話は早いと、すでにリバースしているので、ifconfig の出力から拾った vendor id を追加し、条件に付け加えてみると、見事に直りました!
というわけで、できあがった nge driver で dladm create-vnic -l nge0 vnic0 とかしてみたり。
$ ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
vnic0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 1500 index 28
inet 129.158.56.61 netmask ffffff00 broadcast 129.158.56.255
ether 2:8:20:53:33:be
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
inet6 ::1/128
nge0 は plumb せずに、作成した vnic0 を plumb して、DHCP で IP address ゲット。
通信できてますね。
このままいけそうな感じ。
まぁ、動けばいいのではないでしょうか( by Murayama-san) との言葉も頂いていたので、これでいっか。
そうして、できあがった patch は、5760 byte 。
さらしときます。
nge_snv105_MacBook51.patch
b99 ベースで定義されている MCP6x, MCP7x の code はつっこんでありますので、MacBook Late 2008 以外の機種で、b105 なら動作するかも。
Mac addres リバースの workaround は、MacBook Late 2008 用の定義を追加しているだけです。
あと、modinfo すると (nVidia 1Gb Ethernet MacBook5,1) なんてでてきてしまいふ(;´Д`)
binary は、こちら。
nge_MacBook51.tar.gz
patch も binary も ON b105 以降? 用なので注意してください。
さとうは、よくわかってないでやっているということにも注意してください(´・ω・`)
#もう、ここらへんまでが限界だなぁ・・
* 動いてから気づいたのですが、一部の chip では MAC address がリバースしてしまう問題があるようです。snv_105 に含まれる nge の source code をみたところ workaround が入っていますが、リバースした Mac address の Verndor code を見て一致すれば元に戻すという修正みたいです。MacBook Late 2008 も該当するようで nfo でも見事にリバースしていました orz
driver を修正しない workaround は、plumb 後に手動で MAC address を再設定*
Nevada b105 の SXCE リリースは、来年とのアナウンスがありましたが、ON b105 だけ先にリリースされていました。
ON (OS/Net) Consolidation - b105で、こいつを使って b105 相当にし、MCP79 対応の nge driver に入れ替え reboot をかけたら panic 発生。どうも MCP79 対応 nge driver が attach するとこでこけてるみたい。
http://dlc.sun.com/osol/on/downloads/b105/
nge がダメなら nfo があるさということで、Murayama-san's driver の nfo を build しようとしましたが、またしても error が!
gcc -c -O3 -D__INLINE__=inline -DGEM_GCC_RUNTIME -ffreestanding -U_NO_LONGLONG -D_KERNEL -U_ASM_INLINES -D_SYSCALL32 -D_SYSCALL32_IMPL -Dsun -D__sun -D__SVR4 -DC2_AUDIT -Wall -Wno-unknown-pragmas -Wno-missing-braces -Wno-sign-compare -Wno-parentheses -Wno-uninitialized -Wno-implicit-function-declaration -Wno-unused -Wno-trigraphs -Wno-char-subscripts -Wno-switch -Wno-format -Werror -Di86pc -DDEBUG -DDEBUG_LEVEL=1 -DGEM_DEBUG_LEVEL=0 -UTEST_TXDESC_FULL -UTEST_RX_EMPTY -UDEBUG_HANG -UTEST_BIGENDIAN -UTEST_FOVW -UTEST_FMT1 -UTEST_FMT2 -UTEST_NF3 -UDEBUG_TCP_CKSUM -UDEBUG_UDP_CKSUM -UDEBUG_TX_SINGLE -I /export/home/kazus/opensolaris_build/ws/usr/src/uts/common -DGEM_CONFIG_POLLING -DGEM_CONFIG_GLDv3 -DGEM_CONFIG_VLAN_HW -DGEM_CONFIG_CKSUM_OFFLOAD -DSOLARIS10 -Unotdef -UNEVER -UGEM_GCC_RUNTIME -UGEM_COMPAT -USANITY -UGEM_CONFIG_FMA -UMODULE -UGEM_CONFIG_RX_DIRECT -DGEM_CONFIG_TX_DIRECT -UOS_PUTBACK -UCONFIG_PM -UCONFIG_CKSUM_OFFLOAD -UCONFIG_LSO -DCONFIG_POLLING -DWA_TX16 -UWA_SHORT_FRAG -DVERSION='"2.6.2"' gem.c -o i386/gem.oぐふっ(吐血
gem.c:5884: error: syntax error before "mac_capab_t"
gem.c:5888: error: syntax error before "gem_m_callbacks"
gem.c:5888: warning: type defaults to `int' in declaration of `gem_m_callbacks'
gem.c:5889: error: `MC_RESOURCES' undeclared here (not in a function)
gem.c:5889: error: `MC_IOCTL' undeclared here (not in a function)
gem.c:5889: error: `MC_GETCAPAB' undeclared here (not in a function)
gem.c:5889: error: initializer element is not constant
gem.c:5889: error: (near initialization for `gem_m_callbacks')
今日は、シャントット様に会うべく(ry
じゃなくって、なんでこんなことになってしまっているんだぁぁぁぁぁああああ!
と、調べてみると、アレです。
(;゜∀゜)=3ハァハァしているアレです。
そうです、b105 で実装された Project Crossbow です!(;´Д`)
これにより、network 系の driver ががっつり修正かかっていました。
OpenSolaris ON (OS/Net) Nevada Changelog b105
http://dlc.sun.com/osol/on/downloads/b105/on-changelog-b105.html
Issues Resolved:さぁ、大変だ。
PSARC case 2006/357 : Crossbow - Network Virtualization and Resource Management
あたり参照で。がっつりだ。
やばい。
どうしよう。
試しに、myk driver も build してみましたが、同様に撃沈!
諦めの境地!ってやつですか?
でも、あれやこれやと、いろいろ見てると、なんとなく見えてきた!
説明できないけど見えてきた!
compiler の message に従い、error をつぶしていったところ、無事に driver ができあがりました。
すでに、GLDv3 対応であったため変更箇所も少なく(追加するか消すかだけw)。
myk-2.6.5 の b105 対応 patch
nfo-2.6.2 の b105 対応 patch
nfo では、plumb させて通信できることと dladm create-vnic -l nfo0 vnic0 とかして vnic0 を作成し、plumb させて dhcp にて IP address をもらえるところまでは確認しました。
myk は、テスト環境がないので試していませんが binary ができるのは確認しています。
(とりあえず動いたということで、動作の保証はできませんです。)
機能検証などしている方は、b104 と b105 の両方の環境をそろえておくとよいかと思います。
ちなみに、original archive に含まれる compile 済みの binary をつっこむと panic しますので注意です。
#ああ、今日は、OpenSolaris 2008.11 リリース記念セミナーが開催されますね。
#・・・いけない(´・ω・`)
32 bit host で 64 bit guest を動作させたり(Windows host のみ?)
Core i7 対応や、Full VMDK/VHD 対応(snapshot も可能に)とか、
image file のコンバート、iSCSI の修正、OpenGL hardware acceleration
の試験的対応などなど。。。
download は、こちらから。
http://dlc.sun.com/virtualbox/vboxdownload.html
Changelog:
This version is a major update. The following major new features were added:
* Support for hardware virtualization (VT-x and AMD-V) on Mac OS X hosts
* Support for 64-bit guests on 32-bit host operating systems (experimental; see user manual, chapter 1.6, 64-bit guests, page 16)
* Added support for Intel Nehalem virtualization enhancements (EPT and VPID; see user manual, chapter 1.2, Software vs. hardware virtualization (VT-x and AMD-V), page 10))
* Experimental 3D acceleration via OpenGL (see user manual, chapter 4.8, Hardware 3D acceleration (OpenGL), page 66)
* Experimental LsiLogic and BusLogic SCSI controllers (see user manual, chapter 5.1, Hard disk controllers: IDE, SATA (AHCI), SCSI, page 70)
* Full VMDK/VHD support including snapshots (see user manual, chapter 5.2, Disk image files (VDI, VMDK, VHD), page 72)
* New NAT engine with significantly better performance, reliability and ICMP echo (ping) support (bugs #1046, #2438, #2223, #1247)
* New Host Interface Networking implementations for Windows and Linux hosts with easier setup (replaces TUN/TAP on Linux and manual bridging on Windows)
In addition, the following items were fixed and/or added:
* VMM: significant performance improvements for VT-x (real mode execution)
* VMM: support for hardware breakpoints (VT-x and AMD-V only; bug #477)
* VMM: VGA performance improvements for VT-x and AMD-V
* VMM: Solaris and OpenSolaris guest performance improvements for AMD-V (Barcelona family CPUs only)
* VMM: fixed guru meditation while running the Dr. Web virus scanner (software virtualization only; bug #1439)
* VMM: deactivate VT-x and AMD-V when the host machine goes into suspend mode; reactivate when the host machine resumes (Windows, Mac OS X & Linux hosts; bug #1660)
* VMM: fixed guest hangs when restoring VT-x or AMD-V saved states/snapshots
* VMM: fixed guru meditation when executing a one byte debug instruction (VT-x only; bug #2617)
* VMM: fixed guru meditation for PAE guests on non-PAE hosts (VT-x)
* VMM: disallow mixing of software and hardware virtualization execution in general (bug #2404)
* VMM: fixed black screen when booting OS/2 1.x (AMD-V only)
* GUI: pause running VMs when the host machine goes into suspend mode (Windows & Mac OS X hosts)
* GUI: resume previously paused VMs when the host machine resumes after suspend (Windows & Mac OS X hosts)
* GUI: save the state of running or paused VMs when the host machine’s battery reaches critical level (Windows hosts)
* GUI: properly restore the position of the selector window when running on the compiz window manager
* GUI: properly restore the VM in seamless mode (2.0 regression)
* GUI: warn user about non optimal memory settings
* GUI: structure operating system list according to family and version for improved usability
* GUI: predefined settings for QNX guests
* IDE: improved ATAPI passthrough support
* Networking: added support for up to 8 Ethernet adapters per VM
* Networking: fixed issue where a VM could lose connectivity after a reboot
* iSCSI: allow snapshot/diff creation using local VDI file
* iSCSI: improved interoperability with iSCSI targets
* Graphics: fixed handling of a guest video memory which is not a power of two (bug #2724)
* VBoxManage: fixed bug which prevented setting up the serial port for direct device access.
* VBoxManage: added support for VMDK and VHD image creation
* VBoxManage: added support for image conversion (VDI/VMDK/VHD/RAW)
* Solaris hosts: added IPv6 support between host and guest when using host interface networking
* Mac OS X hosts: added ACPI host power status reporting
* API: redesigned storage model with better generalization
* API: allow attaching a hard disk to more than one VM at a time
* API: added methods to return network configuration information of the host system
* Shared Folders: performance and stability fixes for Windows guests (Microsoft Office Applications)
一人の勝手プロジェクトである Project: Solaris on MacBook Late 2008 なのですが、audio device が使えないことは前回ご報告したとおり。
で、USB audio device ならなんとかいけないかなぁーと物色してみると、CREATIVE Sound Blaster X-Fi Go! なる製品を発見。
Sound Blaster には、過去にいろいろと泣かされた経験があり、さらに X-Fi なんてついてたりするので専用 driver が必要なのかなぁとか頭の中でブツブツ言いながら見てると、廉価版?のような Sound Blaster PLAY! という製品を発見。しかも \2,480 とチャレンジにはちょうどいい価格。
お店で実際に見てみると、パッケージにはこう書かれていました。
「Sound Blaster Play! はパソコンのUSBポートに接続するだけ。ドライバやアプリケーションのインストール無しで、すぐにお使いいただけます。」これは、きっと、USB Audio Class 1.0 に準拠している汎用 audio device なんだ!
クル、きっとクル!
一方、CREATIVE Sound Blaster X-Fi Go! のパッケージには、そんなのは一言もなく。。。
なので、スルーしときました。
Sound Blaster PLAY! を購入し、まずは、Solaris 10 10/08 入りの Sun Fire V120 の USB ポートにブチ込んでみる。disk がカリカリいいましたよー。
/dev/sound みると、Sun Fire V120 にはないはずの 0 と 0ctl ができてる。
/dev/audio と /dev/audioctl もできてるね。
なにも考えずに、
$ audioplay /usr/demo/sounds/SOUND/sample.auで、音キタ━━━━━━(゜∀゜)━━━━━━ !!!!!
よし。
つづいて、Nevada b104 の MacBook Late 2008 にイーン。
こんな感じで認識。
Dec 16 22:57:31 macbook usba: [ID 912658 kern.info] USB 1.10 device (usb41e,30d3) operating at full speed (USB 1.x) on USB 1.10 root hub: device@1, usb_mid7 at bus address 4こちらも、なんなく driver が attach し利用することができました。
Dec 16 22:57:31 macbook usba: [ID 349649 kern.info] 081023000172
Dec 16 22:57:31 macbook genunix: [ID 936769 kern.info] usb_mid7 is /pci@0,0/pci10de,cb79@4/device@1
Dec 16 22:57:31 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci10de,cb79@4/device@1 (usb_mid7) online
Dec 16 22:57:31 macbook usba: [ID 912658 kern.info] USB 1.10 interface (usbif41e,30d3.config1.0) operating at full speed (USB 1.x) on USB 1.10 root hub: sound-control@0, usb_ac1 at bus address 4
Dec 16 22:57:31 macbook usba: [ID 349649 kern.info] 081023000172
Dec 16 22:57:31 macbook genunix: [ID 936769 kern.info] usb_ac1 is /pci@0,0/pci10de,cb79@4/device@1/sound-control@0
Dec 16 22:57:31 macbook usba: [ID 912658 kern.info] USB 1.10 interface (usbif41e,30d3.config1.1) operating at full speed (USB 1.x) on USB 1.10 root hub: sound@1, usb_as2 at bus address 4
Dec 16 22:57:31 macbook usba: [ID 349649 kern.info] 081023000172
Dec 16 22:57:31 macbook genunix: [ID 936769 kern.info] usb_as2 is /pci@0,0/pci10de,cb79@4/device@1/sound@1
Dec 16 22:57:31 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci10de,cb79@4/device@1/sound@1 (usb_as2) online
Dec 16 22:57:31 macbook usba: [ID 912658 kern.info] USB 1.10 interface (usbif41e,30d3.config1.2) operating at full speed (USB 1.x) on USB 1.10 root hub: sound@2, usb_as3 at bus address 4
Dec 16 22:57:31 macbook usba: [ID 349649 kern.info] 081023000172
Dec 16 22:57:31 macbook genunix: [ID 936769 kern.info] usb_as3 is /pci@0,0/pci10de,cb79@4/device@1/sound@2
Dec 16 22:57:31 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci10de,cb79@4/device@1/sound@2 (usb_as3) online
Dec 16 22:57:31 macbook usba: [ID 912658 kern.info] USB 1.10 interface (usbif41e,30d3.config1.3) operating at full speed (USB 1.x) on USB 1.10 root hub: input@3, hid8 at bus address 4
Dec 16 22:57:31 macbook usba: [ID 349649 kern.info] 081023000172
Dec 16 22:57:31 macbook genunix: [ID 936769 kern.info] hid8 is /pci@0,0/pci10de,cb79@4/device@1/input@3
Dec 16 22:57:31 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci10de,cb79@4/device@1/input@3 (hid8) online
Dec 16 22:57:31 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci10de,cb79@4/device@1/sound-control@0 (usb_ac1) online
音の再生だけが目的なので、録音とか音質(判別できないけど)とか細かなところは深く考えずに使うならお手軽でオススメです。

もちろん、音は出せないが、USB ポートは持っているマシンにね!(;´Д`)
でも、最近の銀色のやつらは audio interface を持っていないので、とにかく音を出したい!という用件にはいいかも。(ちょっとボリュームコントロールとか変かも)
もちろんサポート云々はおいといて。(Creative は、複数 CPU やサーバチップセットでの動作を保証しないと言ってたりします。)
audio 周りも Project Boomer の実装が予定されているので、これで MacBook Late 2008 の onboard から音を再生できるようになればいいなぁ・・・
PSARC 2008/318 Boomer: Next Generation Solaris Audio
http://opensolaris.org/os/community/arc/caselog/2008/318/
今年も残りわずかですが、SXCE のリリース・スケジュールが。
Due to the upcoming holidays, SXCE Build 105 will be released on Januaryというわけで、今年は b104 で終わり。
8th.
Build 106 is currently scheduled for January 23rd.
b105 は、来年ですね。
Crossbow (*´д`*)ハァハァ
Solaris Express Community Edition build 104 が、リリースされています。
b104 で新しく追加されたものなどは、こちらを参照。
http://www.opensolaris.org/os/community/on/flag-days/101-105/
まったく追えてないのですが・・・
iSCSI Boot きました。
でも、これって、iBFT (iSCSI Boot Firmware Table) capable NIC でのみ
利用可能となり、いまのところ Intel の server adapter のみ対応のようです。
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProductID=2249&DwnldID=12194&strOSs=All&OSFullName=All%20Operating%20Systems&lang=eng
詳細については、このあたりで。
http://www.opensolaris.org/os/community/on/flag-days/pages/2008120601/
あと、SPARC-Enterprise-T3120 とかみえますが、きにしないでおくのがよいのでしょう・・・
あと、/etc/driver_aliases に壊れたエントリが挿入されるバグがあります。
起動時に、こんなメッセージが出ます。
WARNING: Unexpected token '423' on line 983 of /etc/driver_aliases
WARNING: Missing " on line 983 of /etc/driver_aliases
/etc/driver_aliases に
iwh 423a"
というエントリがあるのが原因です。
iwh に心当たりのない人は、423a を " でくくってあげて、心当たりのある人は、 iwh "pciex8086,423a" に修正して reboot すれば解決です。
そのまま放置すると、以降のエントリが無効扱いになるので注意です。
download は、こちらで。
http://opensolaris.org/os/downloads/sol_ex_dvd_1/
http://opensolaris.org/os/downloads/sol_ex_dvd/
電源アダプタは、ジーニアスバーにて無事に無償交換となりました。
ふぅ。。。。
というわけで、愛用していた MacBook Late 2006 の電源アダプタとバッテリが逝ってしまったのを機に、思い切って MacBook Late 2008 を購入してみました。
2 年ぶりの新機種です。
ボーナス出なかったら、死亡フラグ!
購入したその日の夜中に、バーティション分けをすませ Nevada b103 を仕掛けて就寝。朝、起きて確認したところ全パーティションが Solaris になっていた不思議!
まぁ、Solaris 入りの MacBook Late 2006 は動かないわけではないので、MacBook Late 2008 は、2,3日このまま使って見ることに。
使ってみた感想は・・・
ちょ、Solaris 専用マシンでいけるんじゃね?と、錯覚させられました。
- MacBook Late 2006 より、ちょっと薄くて軽く(200g)なった
- 静かだ。高負荷になっても静かだ。高負荷時の MacBook Late 2006 がうるさすぎる
- nVidia GeForce 9400M で、Nvidia driver for Solaris (゜∀゜)キタコレ!!
Compiz ビュンビュン - Network Interface は、nge が attach!! でも、メチャクチャ遅いです。なので MCP79 用に modify した driver と入れ替える。Murayama-san の nfo driver でもおk
- Suspend/Resume (゜∀゜)キタコレ!! 復帰に少し時間かかるけど、作業の継続性うp!
- iSight (゜∀゜)キタコレ!! 左右反転してるぜっ!あれ?
強制 fastreboot もいける
Sun が AMD を採用したのは、今日この時この瞬間!このためだったんだ!
AMD platoform 採用により、随所に AMD chipset 対応のコードを埋め込まれて育った Solaris ・・・
Sun は、MacBook Late 2008 を OpenSolaris のリファレンスプラットフォームにしたらいいと思うよ?
そんな Solaris を動かすために生まれ(ry
自分でもいいかげんうざいので、がっかり砲でも。
- Airmac が、Broadcom 。なので、ndis wrapper driver が必要。でも、64 bit kernel で使えない罠。USB WiFi adapter で回避(;´Д`) suspend/resume できなくなるお
- Audio があいかわらず使えない。でも、MacBook Late 2006 では無音だったのが、激しいノイズまじりながらも音はでる。出るだけ(;´Д`)
- TrackPad がさらに使いにくく・・・Mac OS X では便利なんだけどね
冬場の朝は、激しく冷たい
WiFi と audio がいければ、かなり最強に近い環境になる。メモリ 4G + 2G で 6G いける。
Sun TechDays では、EeePC の(・(ェ)・)な人に宣戦布告っぽいことしてみたりw
一通り堪能した後、Mac OS X/Windows XP/Nevada b103 の triple boot 環境を構築し、いつもどおりの生活に。
でも、OpenSolaris 2008.11 がリリースされたので、それもいれておきたいなと。
Nevada b103 のパーティションに OpenSolaris 2008.11 をインストールし、zfs send で rpool/ROOT/opensolaris を backup。
Nevada b103 を再インストールして、OpenSolaris 2008.11 のバックアップを zfs recv し、Nevada
b103/OpenSolaris 2008.11 の dual boot 環境を構築してみるも OpenSolaris 2008.11
が起動せず panic 。むぅ
あっ! Nevada b103 は zpool version 14 で、OpenSolaris 2008.11 は zpool version 13 !
これかっ、これなのか!
悩んだ末に、Nevada b101 をインストールし、OpenSolaris 2008.11 を zfs recv して起動することを確認。
Nevada b101 を LiveUpgrade で Nevada b103 へ。
ふぅ。Nevada 環境のときに、zpool upgrade を間違ってたたかないようにしないと・・・
Mac OS X/WIndowsXP/Solaris(Nevada b103, OpenSolaris 2008.11) の環境ができあがったので、また、いつもどおりの生活へ。
EFI と SMC のアップデータがリリースされ、アップデートで Suspend/Resume できなくなったらどうしようとかガクガクブルブルしていたのですが、購入した MacBook Late 2008 はすでに適用済みで出荷されていた・・・(12/2 購入)
MacBook Late 2006 は、Solaris マシンとして稼働中。MagSafe 抜けたらチュドン(;´Д`)
* OpenSolaris 2008.11 は b101 ベースなので driver が含まれていません。
* ここから入手 http://opensolaris.org/os/community/laptop/wireless/rum/
Buffalo WLI-U2-KG54Lで撃沈してしまったのですが、このままだと昂ぶった気持ちが抑えられない!ということで、昂ぶりはそのまま気持ちは新たに、別な USB WiFi Adapter に挑戦してみました。
ということで、ural ものはあきらめ、Wireless Networking for OpenSolaris を舐めるようにみつつ量販店で売ってそうなものを探してみる。
途中、Project: Sierra: Intel WiFi Chipsets Support で、iwh/iwk SPARC binary が置かれているんだけど、どういうことよ?と、道をそれたくなりつつも、軽くスルー。
決めました。これに決めました。Ralink RT2501/2601/RT73USB 802.11a/b/g Chipset をサポートする rum driver を選択し、Planex GW-US54Mini2W に決めました。(rum driver は、Nevada b103 で統合されました)
でも、こちらも動作リストには Planex GW-US54Mini2 と W なしの名前となっており、また失敗するかも・・・という可能性に満ちあふれたものでしたが、Windows driver を download してみたところ、Ralink シリーズだったのは確かだったので迷っていながらも迷わず突撃。
WLI-U2-KG54L より、ちょっと高い値段でした。
さっそく、Solaris で device id の確認。
Dec 10 12:24:49 macbook usba: [ID 912658 kern.info] USB 2.0 device (usb2019,ab50) operating at hi speed (USB 2.x) on USB 2.0 root hub: device@1, usb_mid8 at bus address 3
Dec 10 12:24:49 macbook usba: [ID 349649 kern.info] Abocom 802.11 bg WLAN
Dec 10 12:24:49 macbook genunix: [ID 936769 kern.info] usb_mid8 is /pci@0,0/pci8086,7270@1d,7/device@1
Dec 10 12:24:49 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci8086,7270@1d,7/device@1 (usb_mid8) online
Dec 10 12:24:49 macbook usba: [ID 349649 kern.info] usba: no driver found for interface 0 (nodename: 'interface') of Abocom 802.11 bg WLAN
A, Abocom とかなんですか?Ralink とか出てこないんですか?と、失敗の悪寒に満ちあふれる中、device id を確認。
usb2019,ab50 とのことで、update_drv を実行。
# update_drv -a -i '"usb2019,ab50"' rum
※すでに、rum driver のエントリが /etc/driver_aliases に登録されているため add_drv ではなく、update_drv で追加。
あ、あきらかに WLI-U2-KG54L とは違う感触!
プロンプトの返り方が、軽快すぎる。
dmesg にも、
Dec 10 12:27:29 macbook mac: [ID 469746 kern.info] NOTICE: rum0 registered
と出力されている。
dladm でみると・・・
# dladm show-dev
LINK STATE SPEED DUPLEX
rum0 down 0Mb unknown
# dladm show-link
LINK CLASS MTU STATE OVER
rum0 phys 1500 down --
おし。
次に ifconfig で plumb と・・・
# ifconfig rum0 plumb
おお、軽快な反応だ!これは、いける!ここまできたらいける!
おそるおそるみてみると・・・
# ifconfig -a
lo0: flags=2001000849mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
rum0: flags=201000802mtu 1500 index 3
inet 0.0.0.0 netmask 0
ether 0:90:cc:c9:93:ca
lo0: flags=2002000849mtu 8252 index 1
inet6 ::1/128
キタ━━━━(゜∀゜)━━━━!!
やっと一つになれる、そんなキミと出会えた今日という日に(ry
あとは、適当に wificonfig で connet かまして dhcp start してみる。
# wificonfig scan
essid bssid type encryption signallevel
wifi 00:0x:0x:xx:xx:xx access point none 11
# wificonfig connect wifi
wificonfig: connecting to essid 'wifi'
# ifconfig rum0 dhcp start
# ifconfig -a
lo0: flags=2001000849mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
rum0: flags=201004843mtu 1500 index 5
inet 192.168.0.3 netmask ffffff00 broadcast 192.168.0.255
ether 0:90:cc:c9:93:ca
lo0: flags=2002000849mtu 8252 index 1
inet6 ::1/128
゜・*:.。..。.:*・゜ヽ( ´∀`)人(´∀` )ノ・゜゜・*:.。..。.:*
やりました。つながりますた。
これで、一安心です。くまーの人、安心してください。
ただし、ad-hoc な network が作成できなかったり WEP, WPA のみサポートだったりするので過度な期待は禁物です。
あと、この driver は、suspend/resume に対応していません。suspend/resume させたい場合は、suspend する前に ifconfig rum0 unplumb してから modunload で rum driver を unload (modunload -i 0 でいいかな?) してあげる必要があります。
さらに、挿す USB port の位置により instance 番号が変わります。dladm などで確認してから plumb するようにしましよう。
GW-US54Mini2W は、現在でも販売していたのと、WLI-U2-KG54 シリーズよりスリム(横幅がでかく、USB ポート直刺しだと隣のポートに干渉してしまう)だったのが決めてでしょうか。
でも、Planex の製品ページをみるとわかりますが、前後の製品がことごとく販売終了となり、N 対応の製品に移行していく中でポツーンと残っているカワイソウナ子です。
そのうち消えそうな感じなので、余裕のある方は購入しておくとよいかと思います。
日本発「Japanese Solaris」の意味を込めた OpenSolaris Distribution 発見!
OpenSolaris b98 ベース?で、wine などを組み込んだ日本人のためのディストリビューションを目指しているとのこと。
http://jaris.jp/
Windows と Mac OS X の Firefox では、Backspace key で表示しているページの履歴を戻ったり Shift+BackSpace で進んだりできるのですが、Solaris 版ではできません。長年放置していたりしたのですが、やっと解決できました。
about:config で、browser.backspace_action の値を 0 (default:2) にするだけ。
結構有名な話だったらしい orz
Nevada b103 で内蔵の WiFi が利用できないマシンのために、USB WiFi adapter を導入しようかと、某クマーな人も紹介していた Buffalo WLI-U2-KG54 ・・・ん? お店いっても KG54L しかないお?これかな?ということで、Buffalo WLI-U2-KG54L を購入しました。
WLI-U2-KG54AI というのもあったが、こちらは、Windows などでは driver の auto install に対応するため 64MB 程度の USB メモリ機能も搭載しているというもので、値段は KG54L の倍するということで却下。
クマーな人の情報では、ural driver で動作するとのことで driver を attach させるべく device id を探索。
Dec 7 00:13:17 macbook usba: [ID 912658 kern.info] USB 2.0 device (usb411,da) operating at hi speed (USB 2.x) on USB 2.0 root hub: device@1, usb_mid4 at bus address 3dmesg の出力から、usb411.da であることがわかる。
Dec 7 00:13:17 macbook usba: [ID 349649 kern.info] Buffalo USB2.0 WLAN
Dec 7 00:13:17 macbook genunix: [ID 936769 kern.info] usb_mid4 is /pci@0,0/pci10de,cb79@4,1/device@1
Dec 7 00:13:17 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci10de,cb79@4,1/device@1 (usb_mid4) online
Dec 7 00:13:17 macbook usba: [ID 349649 kern.info] usba: no driver found for interface 0 (nodename: 'interface') of Buffalo USB2.0 WLAN
#mdb の ::prtusb でも確認可能。
こいつに、ural driver を attach させるべく、
# update_drv -a -i '"usb411,da"' uralを実行。attach にちょいと時間がかかるが、プロンプトにエラーも表示されずにもどってくる。よしっ。
Dec 7 00:18:16 macbook mac: [ID 469746 kern.info] NOTICE: ural0 registered
dmesg には、このように出力されている。
続いて、ifconfig ural0 plumb で interface を plumb してみる。
プロンプトが返ってこない・・・こない・・・1 分経過・・・2 分経過・・・ 3分経過・・・いつまでたってもかえってこない orz
放置してお風呂入ってたら、返ってきてたー!
# ifconfig ural0 plumb
ifconfig: cannot open link "ural0": I/O error
orz
だめですか。そうですか。
おかしいなぁと思い、Buffalo のサイトから Windows 用の driver archive を入手し中の .inf file をのぞいてみると、こいつは、ZyDAS ZD1211 らしいことが発覚!
クマーの人から教えてもらった型番をちゃんと調べてみると、KG54 (無印)というのは確かに存在していたが、現在では販売されていないっぽいことも発覚。
なるほど。ちゃんと調べろよオレ。
気を取り直して、ZD1211 系の driver もあったなぁと調べてみると zyd driver なるもの発見。でも、こいつは binary 配布はなく source から build しなければいけない。
また、zyd の subversion repository へのリンクもあり、最新版を入手できるようだ。
というわけで、早速、trunk から最新の source code を入手。
Nevada b103 なら、svn コマンドが入っていまつ。
$ svn co http://svn9.cvsdude.com/kdesolaris/zyd/trunk/
むー、ON の source もいるのか。
ON consolidation b104 がリリースされていたので、それを持ってくる。
onbld tool とかいらなく、含まれる header file だけが必要みたい。
適当な場所に展開し、その PATH を zyd driver の Makefile の GATE に設定。
64 bit driver が欲しいので、ISA= amd64 を有効に。
$ gmakeぐふっ。
gcc -D_KERNEL -ffreestanding -fno-builtin -Wall -Werror -Wno-unknown-pragmas -m64 -mcmodel=kernel -mno-red-zone -I/export/home/kazus/zyd//usr/src/uts/common -c zyd.c
zyd.c:99:1: macro "DDI_DEFINE_STREAM_OPS" requires 10 arguments, but only 9 given
zyd.c:89: warning: type defaults to `int' in declaration of `DDI_DEFINE_STREAM_OPS'
zyd.c:89: warning: data definition has no type or storage class
zyd.c:105: error: `zyd_devops' undeclared here (not in a function)
zyd.c:105: error: initializer element is not constant
zyd.c:105: error: (near initialization for `zyd_modldrv.drv_dev_ops')
gmake: *** [zyd.o] Error 1
どっかでみたことあるエラーが。
ということは、fastreboot 対応されてずに放置されているのですか・・・
解決方法は、このリンクを参考に。
再度、gmake を実行し、無事に zyd driver の binary ができました。
後は、zyd driver を /kernel/drv/amd/64 に配置し、add_drv で登録。
# add_drv -i '"usb411,da"' zyd
そして、再起動!
・・・・・
あら?起動時に、大量に zyd driver から message が出力されていますよ?
Dec 7 01:28:07 macbook zyd: [ID 768731 kern.notice] NOTICE: zyd_attach: begin
Dec 7 01:28:07 macbook zyd: [ID 262384 kern.notice] NOTICE: zyd_hw_lookup: looking up chip type (ZD1211/ZD1211B) for usb411,da
Dec 7 01:28:07 macbook zyd: [ID 115713 kern.notice] NOTICE: zyd_usb_loadfirmware: firmware size = 5120
Dec 7 01:28:07 macbook zyd: [ID 147226 kern.warning] WARNING: zyd_usb_init: failed to set configuration 1, error -15
延々とメッセージが出力され、なかなか起動しないので WLI-U2-KG54L を抜く。
login 後、再度、WLI-U2-KG54L を装着。
Dec 7 01:39:39 macbook zyd: [ID 768731 kern.notice] NOTICE: _info: beginどうやら、キミとボクとは決して結ばれない運命にあるようだね。
Dec 7 01:39:39 macbook zyd: [ID 768731 kern.notice] NOTICE: _init: begin
Dec 7 01:39:39 macbook zyd: [ID 768731 kern.notice] NOTICE: zyd_attach: begin
Dec 7 01:39:39 macbook zyd: [ID 262384 kern.notice] NOTICE: zyd_hw_lookup: looking up chip type (ZD1211/ZD1211B) for usb411,da
Dec 7 01:39:39 macbook zyd: [ID 115713 kern.notice] NOTICE: zyd_usb_loadfirmware: firmware size = 5120
Dec 7 01:39:39 macbook zyd: [ID 668847 kern.notice] NOTICE: zyd_usb_open_pipes: begin zyd_usb_open_pipes
Dec 7 01:39:39 macbook zyd: [ID 128766 kern.notice] NOTICE: zyd_read_mac: read first part of mac
Dec 7 01:39:39 macbook zyd: [ID 800693 kern.notice] NOTICE: zyd_read_mac: read second part of mac
Dec 7 01:39:39 macbook zyd: [ID 177619 kern.notice] NOTICE: zyd_read_mac: exiting zyd_read_mac - MAC = 00:1d:73:5d:31:c2
Dec 7 01:39:39 macbook zyd: [ID 665093 kern.notice] NOTICE: zyd_read_eeprom: sc->fix_cr47 = 0x1
Dec 7 01:39:39 macbook zyd: [ID 939791 kern.notice] NOTICE: zyd_read_eeprom: sc->fix_cr157 = 0x0
Dec 7 01:39:39 macbook zyd: [ID 638671 kern.notice] NOTICE: zyd_read_eeprom: Found RF PV2000 chip, sc->rf_rev = 0xa
Dec 7 01:39:39 macbook zyd: [ID 243574 kern.notice] NOTICE: zyd_read_eeprom: regulatory domain 49
Dec 7 01:39:39 macbook zyd: [ID 253822 kern.warning] WARNING: zyd_hw_init: Unsupported RF PV2000, chip type 0xa
MAC address は正しいものをとってこれているけど、未対応のハードウェアを検知し、その先の初期化がうまくできてないみたい。
ダメだこりゃ。
Availability Suite の sndradm のやり方を書かないとと思っていたら・・・
MacBook に電源が入らなくなり・・・
気がついたら、電源アダプタがショートしてました。
火事にならなくてよかったね(;´Д`)
ちょっと、変色して皮膜が破れ、線などがむき出しに。
これの影響か、MacBook の内蔵バッテリーの最大容量が 10% 程度となり、もはやノートブックではなくデスクトップマシンとなってしまいました(;´Д`)
Apple Store にかけこんだところ、無償交換に値する壊れかたということで、後日、ジーニアスバーにて手続きをして交換と相成りました。
ついでに、思わぬ行動にでてしまったのですが、それは後日談ということで・・・
#朝目覚めたら、ハードディスクの全領域が Nevada b103 になっていた不思議!(謎
