10.ネットワークカードを認識しないよ、どうすりゃいいんだ?
一番、問題だったのはこのネットワークカードの認識です。インストール作業の7割方はこの作業にかかった時間です。
結果的にはオンボードのSiSはあきらめて、corega CG-LAPCITX(チップはRealTekのRTL8139Dです)を購入して来ました。
驚いたことにRealTekはSolaris用のドライバーを配布しています。
カードをパソコンに挿して、起動します。この時点ではネットワークカードは自動認識できません。コンソールから
ifconfig -a
としてやってもlo0しかなく、rtls0が見あたりません。ここからドライバーのインストール作業に入ります。
まず、他のパソコンを使用してRealTekのホームページからRTL8139DのSolaris10用ドライバーをインストールしてきます。これを普通なら?フロッピーディスクなりに落として、Solarisをインストールしたパソコンに持ってくるのでしょうが、あいにく、我が家のWindowsパソコンにはフロッピーディスクがありません。しょうがないのでもったいないですが、CD-ROMに焼いてSolarisパソコンに持って来ました。
(もちろんダウンロードしたファイルはWindowsパソコンで解凍してからCD-ROMに焼きました。)
メーカーの専用ドライバーがあるので、ここからの作業は安心です。ドライバーファイルのディレクトリにあるsolaris_.txtにインストール方法が書いてあります。
要はシェルスクリプトInstall内の
add_drv -v -i '"pci1186,1301"' ${drvname}
のpci1186,1301を自分の環境に合わせて書き替えて実行しなさいということです。
自分の環境にあったpci1186,1301の部分とは、コンソール画面からprtconf -pvを実行して調べます。
prtconf -pv を実行すると各Node別にデバイス情報が表示されます。
最後の方にEthernet controllerという部分があります。既存のオンボードのEthernet controllerとは別に追加したPCIカードのEthernet controllerというNodeがあります。特にRealTekと明記されていないのですが、compatibleの行に8139という今回追加したPCIカードのRTL8139Dに符号する数字が記載されているのでわかります。このNodeのnameとしてpci1269,c10fとなっていて、これがシェルスクリプトInstall内の"pci1186,1301"に相当する部分です。
シェルスクリプトInstallを
add_drv -v -i '"pci1259,c10f"' ${drvname}
と書き替えて実行します。
これで、ifconfig -aを実行すると、rtls0が見えるようになります。ここまで来たらあとは設定ファイルをつくるなり、書き替えるだけです。
下記を変更ないし、作成しました。
/etc/hostname.rtls0(新規作成)
このパソコン(NIC)に割り当てるIPアドレスを記入します。
ホストネームを書けば良いように書いてあるホームページもありましたが、IPアドレスを直接書かないと起動時にエラーになりました。
/etc/nodename(さわらず)
これはSolarisのインストール時にホスト名を入力していれば特にさわる必要はありません。
/etc/hosts(修正)
これはLinuxの場合と同じで、最初は(Linuxの場合、loghostはないけどね)
127.0.0.1 localhost loghost hostmei
となっていますが、
127.0.0.1 localhost
192.168.11.156 hostmei loghost
と書き替えました。IPアドレスは自分の環境でのパソコンのIPアドレスです。
また、hostmeiも同様に自分の環境でのホスト名です。
/etc/netmasks(新規作成)
これはこう書きました。
192.168.11.0 255.255.255.0
これも自分の環境に合わせてください。
私の場合はIPアドレスの3番目は11を使用しており、24ビットマスクです。
/etc/defaultrouter(新規作成)
ルーターのIPアドレスを書きます。
192.168.11.1
/etc/nsswitch.conf(修正)
最初からあるファイルの下記を修正しました。
hosts: files dns
dnsを追加しました。
/etc/resolv.conf(新規作成)
これもLinuxの場合と同様ですが、
nameserver 192.168.11.1
としました。自分の環境のDNSのIPアドレスを記入して下さい。
以上を設定を行って、
touch /reconfigure
shutdown -i5 -g0
としてリブートします。(Readmeの記載通りです。)
これでifconfig -aとすると、lo0とIPアドレスの設定されたrtls0が見えるはずです。
---------------------------------------------------------
しかし、ネットワークカードを認識させるだけでこの手間のかかりよう。よくビデオカードが認識されたと思います。もし、ビデオカードが認識されなかったらと思うとゾッとします。LinuxのようにrootでGUI無しで編集できないので、ビデオカードが認識されなかったら、どうにもなりません。
それにしてもRealTekがSolarisのドライバーを提供していて本当に良かった。これがなかったらSolarisの導入はあきらめていました。いやはやきつい環境です。
一番、問題だったのはこのネットワークカードの認識です。インストール作業の7割方はこの作業にかかった時間です。
結果的にはオンボードのSiSはあきらめて、corega CG-LAPCITX(チップはRealTekのRTL8139Dです)を購入して来ました。
驚いたことにRealTekはSolaris用のドライバーを配布しています。
カードをパソコンに挿して、起動します。この時点ではネットワークカードは自動認識できません。コンソールから
ifconfig -a
としてやってもlo0しかなく、rtls0が見あたりません。ここからドライバーのインストール作業に入ります。
まず、他のパソコンを使用してRealTekのホームページからRTL8139DのSolaris10用ドライバーをインストールしてきます。これを普通なら?フロッピーディスクなりに落として、Solarisをインストールしたパソコンに持ってくるのでしょうが、あいにく、我が家のWindowsパソコンにはフロッピーディスクがありません。しょうがないのでもったいないですが、CD-ROMに焼いてSolarisパソコンに持って来ました。
(もちろんダウンロードしたファイルはWindowsパソコンで解凍してからCD-ROMに焼きました。)
メーカーの専用ドライバーがあるので、ここからの作業は安心です。ドライバーファイルのディレクトリにあるsolaris_.txtにインストール方法が書いてあります。
要はシェルスクリプトInstall内の
add_drv -v -i '"pci1186,1301"' ${drvname}
のpci1186,1301を自分の環境に合わせて書き替えて実行しなさいということです。
自分の環境にあったpci1186,1301の部分とは、コンソール画面からprtconf -pvを実行して調べます。
prtconf -pv を実行すると各Node別にデバイス情報が表示されます。
最後の方にEthernet controllerという部分があります。既存のオンボードのEthernet controllerとは別に追加したPCIカードのEthernet controllerというNodeがあります。特にRealTekと明記されていないのですが、compatibleの行に8139という今回追加したPCIカードのRTL8139Dに符号する数字が記載されているのでわかります。このNodeのnameとしてpci1269,c10fとなっていて、これがシェルスクリプトInstall内の"pci1186,1301"に相当する部分です。
シェルスクリプトInstallを
add_drv -v -i '"pci1259,c10f"' ${drvname}
と書き替えて実行します。
これで、ifconfig -aを実行すると、rtls0が見えるようになります。ここまで来たらあとは設定ファイルをつくるなり、書き替えるだけです。
下記を変更ないし、作成しました。
/etc/hostname.rtls0(新規作成)
このパソコン(NIC)に割り当てるIPアドレスを記入します。
ホストネームを書けば良いように書いてあるホームページもありましたが、IPアドレスを直接書かないと起動時にエラーになりました。
/etc/nodename(さわらず)
これはSolarisのインストール時にホスト名を入力していれば特にさわる必要はありません。
/etc/hosts(修正)
これはLinuxの場合と同じで、最初は(Linuxの場合、loghostはないけどね)
127.0.0.1 localhost loghost hostmei
となっていますが、
127.0.0.1 localhost
192.168.11.156 hostmei loghost
と書き替えました。IPアドレスは自分の環境でのパソコンのIPアドレスです。
また、hostmeiも同様に自分の環境でのホスト名です。
/etc/netmasks(新規作成)
これはこう書きました。
192.168.11.0 255.255.255.0
これも自分の環境に合わせてください。
私の場合はIPアドレスの3番目は11を使用しており、24ビットマスクです。
/etc/defaultrouter(新規作成)
ルーターのIPアドレスを書きます。
192.168.11.1
/etc/nsswitch.conf(修正)
最初からあるファイルの下記を修正しました。
hosts: files dns
dnsを追加しました。
/etc/resolv.conf(新規作成)
これもLinuxの場合と同様ですが、
nameserver 192.168.11.1
としました。自分の環境のDNSのIPアドレスを記入して下さい。
以上を設定を行って、
touch /reconfigure
shutdown -i5 -g0
としてリブートします。(Readmeの記載通りです。)
これでifconfig -aとすると、lo0とIPアドレスの設定されたrtls0が見えるはずです。
---------------------------------------------------------
しかし、ネットワークカードを認識させるだけでこの手間のかかりよう。よくビデオカードが認識されたと思います。もし、ビデオカードが認識されなかったらと思うとゾッとします。LinuxのようにrootでGUI無しで編集できないので、ビデオカードが認識されなかったら、どうにもなりません。
それにしてもRealTekがSolarisのドライバーを提供していて本当に良かった。これがなかったらSolarisの導入はあきらめていました。いやはやきつい環境です。