2009年3月アーカイブ

OpenSPARC Internals

| トラックバック(0)

OpenSPARC Intrnals という PDF が配布されています。
#入手には、Sun Online account が必要。

約 400 ページと結構なボリュームです。
   

http://www.sun.com/offers/details/OpenSPARC_Internals_Book.html

OpenSPARC-T1 は、UltraSPARC Architecture 2005 をベースに。
OpenSPARC-T2 は、UltraSPARC Architecture 2007 をベースにしているので、UltraSPARC-T1/T2 と読み替えても役に立つかと思います。
#たぶん(;´Д`)よくわかってないので、適当なことを言っているかもしれませぬ

Evince で読むと、目次なし。
Adobe Readerでは、きちんと表示されるもで、Adobe Reader 推奨です。


onnv-notify と ARC case log

| トラックバック(0)

いままでの Solaris や、これからの Solaris にどんな機能が追加されたか/追加しようとしているのかを確認することができる ARC case log が独立した URL で公開されるようになりました。
ちょっと前のメンテ以降、見れなかったのですがこんなことになっていたのですか。

http://arc.opensolaris.org

英語なので、ちょっと辛いですが、いろいろとおもしろい情報を手に入れることができるので、激しくオススメです。
PSARC/2009/177 Solaris support for Rainbow Falls platforms とか気になる。

そして、余裕があれば onnv-notify discuss を購読してみてください。
ON Repository に commit された bug fix や新機能を即座に知ることができます。

http://mail.opensolaris.org/mailman/listinfo/onnv-notify

notify の summary は、bug id (7 桁の数字)ではじまるので、bugs.opensolaris.org で検索しながら wktk するのも一興。
眺めるだけでも楽しい人には楽しいはずっ!
うん、絶対そう!

(´・ω・`)

Adobe Reader 9.1 for Solaris x86 available now!

| トラックバック(0)

まだ動かしていませんが・・・

ついに、Adobe Reader 9.1 for x86 がリリースされました!

http://get.adobe.com/jp/reader/

あるいは、

    英語版
    ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.1/enu

    日本語版
    ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.1/jpn/

から、.bin, .tar.bz2 or .pkg.bz2 が入手できます。
今度は、SPARC 版が置き去りに・・・


VirtualBox 2.2 Beta 1 がリリース

| トラックバック(0)

VirtualBox 2.2 Beta 1 がリリースされました。

http://download.virtualbox.org/virtualbox/2.2.0_BETA1/

Experimental ではありますが、OpenSolaris host において USB をサポートしましたが、これを利用するには、b109 以降が必要となります。
VBoxUSBHelper が、裏でこんなことをやっているため。

VBoxUSBHelper: /usr/sbin/update_drv -d -i pci10de,cb79@4/miscellaneous@1 ugen

このため、下記の修正が必須となり、この修正は ON b109 に入っています。 

changeset:   8831:4b58222260b7
user:        Jerry Gilliam <Jerry.Gilliam@Sun.COM>
date:        Mon Feb 16 12:06:27 2009 -0800
files:       usr/src/cmd/devfsadm/devfsadm.c usr/src/cmd/devfsadm/message.h usr/src/cmd/modload/addrem.h usr/src/cmd/modload/drvsubr.c usr/src/cmd/modload/errmsg.h usr/src/cmd/modload/update_drv.c usr/src/cmd/truss/print.c usr/src/uts/common/os/devcfg.c usr/src/uts/common/os/modctl.c usr/src/uts/common/os/modsubr.c usr/src/uts/common/sys/autoconf.h usr/src/uts/common/sys/ddi_implfuncs.h usr/src/uts/common/sys/modctl.h
description:
4854243 update_drv -d requires reboot

あと、shared folder は、Solaris/OpenSolaris で利用可能のようです。
#一番下に、VBoxManage list usbhost の出力結果をはっておきます。

Windows 7 guest で emobile S11HT 使ってみようとがんばっていますが、かたまる・・・ 


This version is a major update. The following major new features were added:

   * OVF (Open Virtualization Format) appliance import and export
   * Host-only networking mode
   * Hypervisor optimizations with significant performance gains for
     high context switching rates
   * VT-x/AMD-V are enabled by default for newly created virtual machines
   * USB (OHCI & EHCI) is enabled by default for newly created virtual
     machines (Qt GUI only)
   * Experimental USB support for OpenSolaris hosts
   * Shared folders for Solaris and OpenSolaris guests
   * OpenGL 3d acceleration for Linux guests
   * Experimental support for OS X 10.6 (Snow Leopard) hosts running
     both the 64-bit and the 32-bit kernel


In addition, the following items were fixed and/or added:

   * VMM: FreeBSD guest related fix for V86 flags (bug #2342)
   * VMM: Fixed guru meditation when booting an AsteriskNow Linux VM
     (bug #2342)
   * VMM: Fixed PGMPOOLKIND_FREE guru meditation (bugs #3356, #3431)
   * VMM: Fixed Windows XP boot hang (guest PAE + nested paging only)
   * VMM: Allow mixing of VT-x/AMD-V and software virtualization
   * VMM: fixed extremely slow safe mode booting in e.g. Windows 2008
     (VT-x/AMD-V only)
   * VMM: significant speedup of certain Grub boot loaders (e.g.
     Solaris) (VT-x/AMD-V only)
   * VMM: real-mode IOPL fix for DOS guests (VT-x only)
   * VMM: fixed VT-x detection with certain BIOSes that enable VT-x,
     but don't set the lock bit in MSR_IA32_FEATURE_CONTROL
   * NAT: Truncated downloads with NAT (ftp) (bug #3257)
   * NAT: Blocked UDP packets cause crash (bug #3426)
   * USB: further reduced host CPU utilization for OHCI and EHCI; the
     "VBoxInternal/Devices/usb-ohci/0/Config/FrameRate" CFG key is no
     longer necessary and no longer supported
   * VRDP: fixed hangs when VRDP server is enabled or disabled in runtime
   * X11 guests: show the guest mouse pointer at the right position if
     the virtual desktop is larger than the guest resolution (bug #2306)
   * Solaris guests: added xpg4/xcu4 dependency to the guest additions
     installer (bug #3524)
   * Linux hosts: do proper reference counting to prevent unloading the
     vboxnetflt module as long as this code is in use
   * Linux installers: fixes for Slackware, Arch Linux and Linux from
     Scratch systems
   * Windows installers: Combined installer executable which contains
     both (32- and 64-bit) architectures
   * VBoxManage: less cryptic command-line error messages
   * VBoxManage: 'list vm' commands now default to compact format
   * Hard disks: improved immutable disk support to auto-reset diff
     file at VM startup
   * GUI: enable the audio adapter by default for new VMs
   * GUI: warn if VT-x/AMD-V is not operational when starting a 64 bits
     guest
   * GUI: deactivate 64 bits guest support when the host CPU does not
     support VT-x/AMD-V
   * GUI: removed floppy icon from the status bar
   * GUI: show build revision in about dialog
   * GUI: fixed sticky status bar text
   * GUI/Mac OS X: fixed disabled close button
   * GUI: improved error dialogs
   * 3D support: added opengl select/feedback support (bug #2920)
   * 3D support: close opengl subsystem for terminated guest
     applications (bug #3243)
   * 3D support: fixed VM hangs when starting guests with 3D
     acceleration enabled (bug #3437)
   * PXE: fixed boot hangs when hardware virtualization is used (bug #2536)


--
$ /opt/VirtualBox/VBoxManage list -l usbhost
VirtualBox Command Line Management Interface Version 2.2.0_BETA1
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

Host USB Devices:

UUID:               339bc5fb-5391-449d-92c0-149d0524604a
VendorId:           0x05ac (05AC)
ProductId:          0x0236 (0236)
Revision:           0.119 (00119)
Manufacturer:       Apple, Inc.
Product:            Apple Internal Keyboard / Trackpad
Address:            /dev/usb/5ac.236/0|/pci@0,0/pci10de,cb79@4/device@6
Current State:      Busy

UUID:               7b75ccd7-0b5b-4c5d-9398-e5dbf28465da
VendorId:           0x05ac (05AC)
ProductId:          0x820a (820A)
Revision:           1.0 (0100)
Address:            /dev/usb/5ac.820a/0|/pci@0,0/pci10de,cb79@6/hub@1/keyboard@2
Current State:      Busy

UUID:               7a4ac3c1-ebcd-4913-9c18-dc0d9d6b1e58
VendorId:           0x05ac (05AC)
ProductId:          0x820b (820B)
Revision:           1.0 (0100)
Address:            /dev/usb/5ac.820b/0|/pci@0,0/pci10de,cb79@6/hub@1/mouse@3
Current State:      Busy

UUID:               20a09044-6cda-4abf-ad17-94e670400bed
VendorId:           0x05ac (05AC)
ProductId:          0x8213 (8213)
Revision:           0.7 (0007)
Manufacturer:       Apple, Inc.
Product:            Bluetooth USB Host Controller
SerialNumber:       00236CA19318
Address:            /dev/usb/5ac.8213/0|/pci@0,0/pci10de,cb79@6/hub@1/device@1
Current State:      Busy

UUID:               f898da58-9832-4c90-ac5a-20757c8756eb
VendorId:           0x05ac (05AC)
ProductId:          0x8242 (8242)
Revision:           0.22 (0022)
Manufacturer:       Apple Computer, Inc.
Product:            IR Receiver
Address:            /dev/usb/5ac.8242/0|/pci@0,0/pci10de,cb79@4/input@5
Current State:      Busy

UUID:               36ddabd5-21fa-431b-b3d0-1af40ece14f1
VendorId:           0x1267 (1267)
ProductId:          0x0213 (0213)
Revision:           81.21 (8121)
Product:            PS/2+USB Mouse
Address:            /dev/usb/1267.213/0|/pci@0,0/pci10de,cb79@6/mouse@2
Current State:      Busy

macbook(i86pc):/export/home/kazus
$ /opt/VirtualBox/VBoxManage list -l usbfilters
VirtualBox Command Line Management Interface Version 2.2.0_BETA1
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

Global USB Device Filters:

<none>


Re: defect.opensolaris.org [Bug 7055] [Bug 7160]

| トラックバック(0)

というわけで、defect.opensolaris.org に登録した [Bug 7055] [Bug 7160] が、OpenSolaris の bug として登録された通知がきました。

割り当てられた CR 番号と URL が送られてきましたが、まだ、見ることができませんね。

[7055] http://bugs.opensolaris.org/view_bug.do?bug_id=6818983
[7160] http://bugs.opensolaris.org/view_bug.do?bug_id=6818975

修正の対象となったのはいいのですが、これがいつ取り込まれるのか・・・



iPhone がなくたって、avahi で Zeroconf networking

| トラックバック(0)

Brifecase Lite 絡みで出てきた Avahi ですが、iPhone なくても楽しめます。
楽しいというか、ちょっと Zeroconf networkig を体験してみることができます。
それだけです(´・ω・`)

まぁ、Avahi で ssh service を設定すると、もれなく、Avahi SSH Server Browser が利用できるようになります。



Java ロゴから、すべてのアプリケーション -> インターネット -> Avahi SSH Server Browser がそれ。
なんのことはない、単に Zeroconf でサービスを提供しているホストの中から ssh による remote login service を提供しているホスト一覧を表示、選択されたホストへ remote login できるというアプリです。



なんか、iPhone も表示されてますね。
ログインに利用する user 名は選択できないので注意。
#iPhone のほうは、/etc/master.passwd をいじって mobile user エントリそのまま使い user 名だけを変更したものを登録してある。

そのほかに、Avahi VNC Server Browser なんてもの用意されています。

まぁ、こんな遊び方もあるよということで。


タイトル見ると、Solaris を有効活用するための iPhone App がリリースされたかのようですが、そんなことはありません( ´_ゝ`)フーン

iPhone のアプリケーションである Briefcase Lite なるものがあるのですが、無料でありながらも ssh protocol を利用し、同一セグメント上のホスト間でのみではありますがファイル転送することができるがアプリケーション。
ホストを直接指定することはできないけど、なんらかの自動認識機構を利用してホストを識別している。
有料の Briefcase は、さらに任意のホストを直接指定しアクセスできる。

そのため、Mac OS X と Linux に対応していると謳っているが、Windows には対応していない。
Windows に ssh 入れればつかえるっぽいけど。
で、ssh 使ってるなら、Solaris でいけないのおかしいでしょ?と、チャレンジしてみるがリストに出てこない。

うーむ。。。何でホストを判別しているんだ。。。
と、snoop 仕掛けたらなんとなくわかりますた。
MDNS なるもので問い合わせをおこなっているのですが、これって multicast DNS ですよね。
あれだ、最近は、multicast DNS でゴニョゴニョっていったら、Zero Configuration Networking で、Zeroconf と Apple と言えば、Bonjour じゃないですか。
というわけで、Bonjour 使って探してるのですね。

Bonjour というと、Avahi なる実装がありますが、幸いなことに最近の Nevada には含まれています。
SMF で言うと、これになります。

svc:/system/avahi-bridge-dsd

となると、こいつをどうにかすれば iPhone から Solaris マシンを Wifi storage として利用することができるかもしれませんね。
同一セグメント限定ですが。

で、こいつは一見、online で動いているかのようですが、service が何も提供されていません。
/etc/avahi/services が空だから。

network 上で、どのような Zeroconf service が動いているかは、avahi-browser-domains コマンドで確認できます。
素の Nevada で実行してみましたが、自分自身では何もサービスを提供していません。
(もし、何か表示される場合は、同一 network に何かサービスを提供しているマシンがいたりするかも)

$  avahi-browse-domains -a

Briefcase Lite を使うには、ssh で接続するための ssh service を登録してあげる必要がありますね。
service を定義するファイルは、/etc/avahi/services に放り込み、ssh のサービスを登録するには、下記のような内容の ssh.service という名前のファイルを作成します。
*.service というファイルで探しにいくためファイル名を間違うと悲しいことになるので注意です。

/etc/avahi/service/ssh.service

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>
    <name replace-wildcards="yes">Solaris: %h ssh-server</name>
    <service>
        <type>_ssh._tcp</type>
        <port>22</port>
    </service>
</service-group>


<name replace-wildcards="yes"></name> で囲まれた文字列が、Briefcase 上に表示されます。
Solaris: %h ssh-server の場合は、%h には hostname が入るので Solaris: macbook ssh-server と表示されます。

そして、daemon を restar させて、

# svcadm refresh avahi-bridge-dsd
# svcadm restart avahi-bridge-dsd

もう一度、avahi-browse-domains コマンドを実行すると、

$ avahi-browse-domains -a
+ rum0  n/a Solaris: Solaris: macbook ssh-server                   _ssh._tcp.           local.

でてきますた。

この状態で、iPhone と Solaris マシンが同一ネットワーク上にいることを確認し、iPhone 上で Briefcase Lite を起動、接続を tap すると・・・
おお、ちゃんと設定した文字列が出てきました。
こいつを tap すると・・・

   

接続でキタ━━━━(゜∀゜)━━━━!!

  

ブラウズも、home directory か volume (すなわち / から) の選択が可能で、隠しファイルも見ることができる。
ダウンロードした PDF も内蔵の viewer で参照可能。
おお、bookmark には好きなタイトルが付けられるのですか。
無料の割には、使えるやつっぽいですね。



GRUB から driver module を無効化して起動する

| トラックバック(0)

/rpoo/boot/grub/menu.lst なんか見てると、いろいろなオプションを unix に渡していたりしますが、指定された driver module を無効にして起動するオプションが隠されていました。

できるんじゃないかよ orz

GRUB menu (/rpool/boot/grub/menu.lst) のエントリにこんな行があるかと思います。

kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS

例えば nge driver を load させたくない場合は、-B $ZFS-BOOTFS の後ろに、

-B disable-nge=true

をつけてください。
起動時に、

NOTICE: driver nge disabled

と、指定された driver module を無効にしたというメッセージが出力されます。

複数指定することも可能です。

-B disable-nge=true,disable-audiohd=true,disable-rum=true

こんな感じです。
起動後、強制ロードする手段はないようなので、使いたくなった場合は再起動してください。

この部分の実装は、下記 source code の check_driver_disable になります。
公開当初の source coed にはすでに実装されているので、かなり昔から使えていたっぽいですね。。。
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/i86pc/os/ddi_impl.c

他にもいろいろ隠しオプションがあるかと思うので、みなさん見つけてください!


btms_installer.sh が Ver2.0 となったようで、こっそり入れ替わってます。

デバイスの再接続について、開発者に問い合わせたのですが、その延長で、下記のことを教えてもらいました。

まずは、再接続について。

  1. 1 度のペアリングで、Apple hardware のように電源入れたら接続するなんてことはできない。やろうと思ったらそれは長い道のりになるだろう。
  2. しかし、システムは動作し続けているなら、例えば地球上の消費電力をささやかながらも減らすために利用していない時は、マウスの電源を落とし、使いたくなったら電源オンで接続することはできる。
    1. btconfig ubt0 up pscan switch
    2. ..... pair with your bluetooth mouse.
    3. power off your bt mouse for a while or half hour as you wished(save power).
    4. power on your bt mouse.
    5. your mouse should be able to work in 10 seconds with the running system.
  3. suspend/resume はサポートしてないので、復帰後、ubt driver はハングする
  4. 現時点では、HID のみサポート。
  5. DUN もサポートしたいのでスケジュールしたいが、いかんせんそれより優先度の高い仕事があるのではっきりとは言えない。でも、そこにものすごいビジネスチャンスが潜んでいるのであれば優先度は逆転するから教えてくれw
  6. btconfig をオプションなしで実行したとき、出力にゴミが入る bug は直す予定。
  7. マニュアルは、NetBSD のものを参照してね。でも、全部のコマンドをサポートしていないしテストしていない。

    http://netbsd.gw.com/cgi-bin/man-cgi?btconfig+8+NetBSD-current
    http://netbsd.gw.com/cgi-bin/man-cgi?btdevctl+8+NetBSD-current
  8. - Have fun!

とのことで、マウスの電源 on/off 時の再接続方法を教えてもらえたのはよかった。

で、MacBook 以外の環境でも利用できるか、適当な USB Bluetooth アダプタを試してみました。

SANWA SUPPLY Bluetooth USBアダプタ(Class2)
MM-BTUD11
http://www.sanwa.co.jp/product/syohin.asp?code=MM-BTUD11&cate=1&keyword=MMBTUD11

Princeton PTM-UBT5
http://www.princeton.co.jp/product/network/ptmubt5.html

どちらも、つかえますた。
MacBook で検証したので、ubt1 がそれになります。(ログは MM-BTUD11)

Mar  4 14:10:57 macbook usba: [ID 912658 kern.info] USB 2.0 device (usba12,1) operating at full speed (USB 1.x) on USB 1.10 root hub: device@1, ubt1 at bus address 4
Mar  4 14:10:57 macbook genunix: [ID 936769 kern.info] ubt1 is /pci@0,0/pci10de,cb79@4/device@1
Mar  4 14:10:57 macbook genunix: [ID 408114 kern.info] /pci@0,0/pci10de,cb79@4/device@1 (ubt1) online

--
> ::prtusb -t -i d
INDEX   DRIVER      INST  NODE            VID.PID     PRODUCT            
d       ubt         1     device          0a12.0001   No Product String

usba_device: 0xca652ac0
mfg_prod_sn: NULL - NULL -NULL

device, instance #1 (driver name: ubt)
  /pci@0,0/pci10de,cb79@4/device@1
  dip: 0xbdeb4020
  ubt_statep: 0xd19e7a00

# btconfig -l
ubt0 ubt1


# btconfig
ubt0: bdaddr 00:00:00:00:00:00 flags   UP RUNNING XMIT_CMD XMIT_ACLXMIT_SCO  INIT_BDADDRINIT_BUFFER_SIZINIT_FEATURES
ubt1: bdaddr 00:02:72:d2:44:e8 flags      
  UP RUNNING XMIT_CMD XMIT_ACLXMIT_SCO INIT_BDADDRINIT_BUFFER_SIZINIT_FEATURES

--
# btconfig ubt1 inquiry
Device Discovery from device: ubt1 ...... 1 responses

  1: bdaddr 00:02:76:10:27:91 (Slimblade)
   : name "Kensington SlimBlade Trackball Mouse"
   : class: [0x002580] Peripheral Mouse <Limited Discoverable>
   : page scan rep mode 0x01
   : clock offset 22145

# btdevctl -a slimblade -d ubt1 -m none -s HID -A
descriptor_type: 34
descriptor_length: 0x78
--


defect.opensolaris.org [Bug 7055] [Bug 7160]

| トラックバック(0)

MacBook Late 2008 は、ahci driver を利用できることがわかり、インストール時に認識してくれるようになるとうれしいので Bug 登録をしてみた。
Bug を登録するには、下記のサイトでアカウントを取得した後に bug を submit するだけ。

Bugzilla – OpenSolaris Defect Tracking
http://defect.opensolaris.org/

登録だけなら簡単でつ。
英語が壁ですが、エキサイト翻訳でも翻訳こんにゃくでもなんでも使えるものは使って、通じなさそうな文がでてきても思い切って貼り付ける勇気を持つだけw

カテゴリが間違っていれば、中の人が適当なカテゴリに割り当てなおしてくれます。
あとは、内容に応じて中の人に割りふれられ Status が Accepted になるのを待つのみなのかな。

経験者曰く、Description に詳細を書きすぎるのも良くなく、情報のコントロールが必要とのこと。

さとうが関係しているのは 2 つ。

一つは自分で登録した[Bug 7055] となるが、解決方法までわかってるんだからそれでいいやんということに持って行かれるかもとのこと。なるほど。
まだ、コメントはないw

もう一つ、nge driver の MCP79 対応について、中の人がコンタクトしてきたのだが、それを [Bug 7160] として登録してくれた。
#いきなり mail が飛んできて焦ったのは内緒

Please support ahci driver with nvidia MCP79.
http://defect.opensolaris.org/bz/show_bug.cgi?id=7055

nge driver should support MCP79 ethernet
http://defect.opensolaris.org/bz/show_bug.cgi?id=7160

オレ、これが fix されたら New Mac mini で OpenSolaris な home server 作るんだ。。。


開発者の uid/gid が / ディレクトリにセットされてしまう問題を修正した、新しい bluetooth stack package が公開されました。
package archive の変更は、表には見えないので、手動で wget するなり script を再実行する作業が必要になります。
というわけで、Nevada b109 までは大丈夫ですね。

現在、ON repository は、b110 ベースとなっていますが、こちらを build して bfu してから bluetooth package を適用すると genunix が入れ替わってしまうため起動することができないので注意です。

また、現在、接続が切れても自動的に再接続する機能は実装されていないとのことです。
再接続手順は、

1. マウスをペアリングモードにする。
2. btconfig ubt0 down
3. btconfig ubt0 up
4. bdevctl ...

の操作が必要になります。

ON consolidation への統合も、真剣に考えているということなので、そのうち標準機能になるのかな?

: Twitter Updates

    follow me on Twitter

    ウェブページ

    タグクラウド

    Techonrati

    Technorati search

    » リンクしているブログ

    Powered by Movable Type 4.23-ja