d.sunnyone.org
sunnyone.org

ページ

2011-08-30

OpenIndianaでvirtionetドライバを使ってみる

KVM (CentOS 5.x)の上でOpenIndianaを動かしているが、どうもネットワークがおかしい。
KVMのpara virtualドライバであるところのvirtioドライバがあればきっといいのだろうと思って探してみると、それっぽいものを発見。
https://github.com/grigale/solaris-virtio

一昨日pkgコマンドを触ったばかりの人間には妙にハードルが高いが、さっそく入れてみる。
Linuxでいうところのmakeしてinsmodするくらいのノリでいけるんだろうと期待。

まずコンパイラがないので入れる。きっとSun Studioとやらが必要だ。

$ pkg search sun studio

sunstudio12u1というのが見つかったので、インストール。

$ pkg install sunstudio12u1

ccコマンドが使えるようになった。

そしてコンパイル。

$ tar zxvf grigale-solaris-virtio-07c22ec.tar.gz # Solarisのくせにzオプションが使える

$ cd grigale.../usr/src/uts/common/io/virtio/

$ make

$ make install


あっさり/usr/kernel/drv/amd64とかに入った感。

しかしドライバをシステムに認識させないといけない。
http://kohju.justplayer.com/Tips_Solaris_OpenSolarisOS_forlinuxuser_adddevice.html

virtioのNICのIDがなんだかわからなかった(prtconfの結果を読むのが面倒だった)ので
他のLinuxマシンでlspciするというチートを使った。
# lspci

~~

00:03.0 Ethernet controller: Red Hat, Inc Virtio network device

~~

# lspci -n

~~

00:03.0 0200: 1af4:1000

~~

きっとpci1af4,1000でいけるに違いない。
# sudo /usr/sbin/add_drv -n -v -i "pci1af4,1000" virtionet

Reboot client to install driver.

Driver (virtionet) installed.

リブートしろと言われたのでリブートする。

$ sudo dladm show-link

LINK CLASS MTU STATE BRIDGE OVER

e1000g0 phys 1500 up -- --

e1000g1 phys 1500 up -- --

virtionet0 phys 1500 unknown -- --


キター!

$ sudo ifconfig virtionet0 plumb

ifconfig: cannot plumb virtionet0: Could not open DLPI link


だめでした。

ちなみにprtconf -vの当該部分


2011-08-28

OpenIndianaを148から151にアップグレードする

OpenIndianaを148から151にアップグレードする手順です。

まずはpkg publisherで確認すると、openindiana.orgのURIがhttp://pkg.openindiana.org/dev/になっています。


これを、pkg set-publisherでdevのところをdev-ilにして、pkg image-updateします。
すると、package/pkgが古いと言われるので、指示通り更新します。


package/pkgを更新すると、pkg image-updateできるようになります。
終わったら、再起動します。


アップグレードされました。