Solaris on ThinkPad A20m

Solaris 階層に戻る  |  ホームに戻る

1. 前口上

この機種を選んだことに、特に意味はない。単に会社の貸与マシンで、 自分専用機になっていたからである。Solaris をインストールする以前に すでに FreeBSD が稼働していたが、それだけではつまらない + 仕事の検証に使いたい、ということで Solaris をインストールすることを 思い立った。

この機種はいわゆる A4 ノートで、フロッピィ / CD-ROM ドライブ、 イーサネットアダプタまで内蔵であり、 インストールが楽なこともポイントである。 一般的な A4 ノートならば、以下の記述をそのままトレースすることで Solaris をインストールできるだろう。

2. ハードウェア / ソフトウェア諸元

CPU:            Intel Celeron 450MHz
Memory:         192MB (64MB + 増設128MB)
Disk:           12GB
Ethernet:       Intel PRO/100B+
Graphic:        ATI Mobility-M (VRAM 8MB)
Sound:          Crystal CS4280

OS:             Solaris 8 4/01 (Intel)
    

実際には、Windows 2000 Server (4GB) / Solaris 8 (8GB) のデュアルブートとなっている。

ラップトップマシンに Solaris をインストールする場合、関門となるのは 以下の2点である。

  1. Ethernet デバイスを使えるかどうか
  2. Sun 純正の X サーバ (Xsun) が、そのマシンのグラフィックチップに 対応しているかどうか

最近のノート PC は Ethernet デバイス内蔵のものが増えてきたので、 第一の条件を満たすことは比較的楽である。Intel のチップ (8255x) が内蔵されているモデルならば、そのまま iprb ドライバで使用することができる。

内蔵 Ethernet が無い場合は、Xircom Pocket Ethernet (パラレルポートに接続する Ethernet アダプタ) を利用するか、 PCMCIA コントローラを認識させて 3Com の PC カードを利用することになるが、 前者は Solaris 8 でサポートが打ち切られるようだし (そもそも物の入手が困難だ)、後者は Solaris で対応している PCMCIA コントローラが少ないため、非常に難しい。できるだけ Ethernet 内蔵のマシンを選ぶべきである。

第2の条件は、さほど問題ではない。 XFree86 をインストールすることもできるし、Sun からリリースされている Solaris XFree86 Video Drivers and Porting Kit を使って XFree86 のドライバを Xsun 上で使うことができるからだ。 XFree86 で対応していないチップではどうしようもないが。

3. Solaris のインストール手順

1. パーティションの準備

いきなりインストールすることも可能だが、ほかのパーティションを 万が一にも潰してもらっては困るので、あらかじめ FreeBSD のインストーラ (sysinstall) でパーティション ID 0x82 (Linux SWAP / Solaris Intel) のパーティションを用意した。Solaris のインストーラはこの ID のパーティションを自動的に認識して、そこへスライスを作成しようと するはずである。

2. ブート

A20m のような CD-ROM ドライブ内蔵モデルならば、Solaris 8 のインストールメディアから直接ブート可能である。私は、

  1. Web Start が好きではない
  2. Xsun が ATI Mobility-M に対応していないので、 そもそも Web Start は使えない

という理由で、Solaris 8 Software 1 of 2 のメディアからブートした。

ブート後、すぐに DCA (Device Configuration Assistant) の画面が現れる。 英語キーボードならそのままで良いが、 日本語キーボードを使用するならばここで設定しておく。 まず F4 キーを押して Device Tasks メニューに入り、 Set Keyboard Configuration にマークをつけて F2 キーで続行する。 使用可能なキーボードの一覧が現れたら、Japanese 106 を選択して F2 キーを押す。

DCA を含め、テキスト版インストーラで項目を選択するには、 Space または Enter キーを使う。

デバイスの設定後、F3 キーでデバイス一覧メニューまで戻ったら、F2 を押して ブートデバイス選択メニューへ進む。今回は CD-ROM から起動するので、 「CD」を選択して F2 で続行する。CD-ROM の駆動音がしてインストーラの ブートが始まるはずである。

3. インストール

コンソールの白い画面になったあと、最初に聞かれるのは 1. Solaris Interactive / 2. Custom Jumpstart の選択である。 ここでは1を選択する。

次に聞かれるのはインストール時の使用言語だが、今回は X ベースのインストーラが使えないので、英語を選択する。

次は再び赤青の画面に戻って X の設定 (kdmconfig) となる。 ThinkPad A20m のグラフィックデバイス (ATI Mobility-M) は Xsun で対応していないので、ここでは F4 (Bypass) とする。

あとは AnswerBook2、または docs.sun.com のブック Solaris 8 インストールガイド を読みつつ、CUI インストールするだけである。ポイントは、 リブートする度に出てくる kdmconfig の画面で毎回 Bypass を選ぶこと。 無理に設定しようとしても、Xsun が対応していなければ画面が壊れる だけになってしまう。

Software CD 1 of 2 のインストールが終了してリブートしたところで kdmconfig が現れるので、ここで F5 を選んでしまえば今後のリブート時に kdmconfig が現れることは無くなる。その後、2 of 2、LANGUAGE CD のインストールを行う。これが終了すればひとまずインストール完了である。

4. X のインストール

1. ソースからのコンパイル編

Xsun が対応していないグラフィックチップでは、X を動かそうとしても VGA (640x480, 4bit) しか表示できない。これではあまりにも不便なので、 XFree86 をインストールして動かすことにする。さいわい XFree86 はバージョン 3.3.6 から ATI Mobility チップに対応してくれている。 今回は、最新の 4.x (この稿を書いている時点では 4.1.0) を使用した。

XFree86 プロジェクトの配布する バイナリパッケージ をインストールしても良いのだが、個人的好みでソースからコンパイルした。 まずは Solaris を起動し、コンソールからログインした状態で 開発用プログラム各種をインストールする。詳細は 別ページにて示す。 ここでは、gcc、GNU make、GNU patch、bison、flex をインストールしておく。

開発環境が整ったら、いよいよ XFree86 のコンパイルである。 配布されているソースのうち、 X410src-1.tgz を取得しておく。X のフォントなどは OpenWindows 付属の物を使うため、 ソースとしてはこれだけで OK である。ただし、とにかく巨大 (約24MB) なため、ダイヤルアップ環境では注意が必要となる。

ソースが無事取得できたら、展開して Makefile などに パッチを当てる。

$ gzip -cd X410src-1.tgz | tar xf -
$ cd xc
$ patch -p1 < ../X410-sol8.patch
    

あとは make World && make install するだけである。

$ make World
$ su
Password:
# make install
    

次に、この XFree86 を標準の X サーバとして利用するための設定を行う。 /etc/dt/config というディレクトリを作り、その中に /usr/dt/config から Xservers というファイルをコピーする。

# mkdir -p /etc/dt/config
# cp /usr/dt/config/Xservers /etc/dt/config
    

Xservers は、実際に X サーバを起動するときのコマンドラインを 記述するファイルである。これを編集して、XFree86 の X サーバを呼ぶようにする。

   :0   Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner
         ↑この行を、下のように編集する↓
   :0   Local local_uid@console root /usr/X11R6/bin/X :0 -quiet
    

これで X サーバの設定は完了である。次は、肝心の XF86Config ファイルを作成する。

XF86Config の作成には苦労する。XF86Setup や各種 Linux ディストリビューションの如き設定ツールが無く、新しい設定ツール xf86cfg は何故か Solaris では動かないためだ。 そこで昔ながらの xf86config コマンドを使用してテンプレートを作成し、 それを編集して XF86Config を生成することとする。

# /usr/X11R6/bin/xf86config
    

私が ThinkPad A20m + Solaris 8 + XFree86 4.1.0 用に生成した XF86Config を置いておく。 XGA (1024x768) 24bit カラーの画面になる。 別の機種でも、同じようなディスプレイの場合 "Section Device" の中の Driver "ati" の部分をチップに合わせて変更するだけで利用できるはずである。

生成した XF86Config ファイルを /etc/X11 の下に置けば、 すべての設定が完了する。

# cp XF86Config /etc/X11
    

ここでリブートをかけても良いし、dtlogin を再起動してコンソールを ログアウトすれば、念願の X の画面が拝めることになる。

# /etc/init.d/dtlogin reset
# exit
$ exit
    

2. Solaris XFree86 Video Drivers and Porting Kit を使う

2001年8月下旬、待望の porting kit がリリースされた。これは XFree86 4.x のドライバがモジュール形式になっているのを利用して、 Xsun に組み込んで 動かしてしまうというものである。上述のように生の XFree86 を使う場合と違い、実際に動いている X サーバが Xsun なので、 CDE などのアプリケーションとの相性も良く、不便を感じることなく X を利用することができる。

まずは porting kit のページ からバイナリパッケージ (xf86_drv_port_bin_403_3.tar.gz) をダウンロードして展開する。

# tar xzf xf86_drv_port_bin_403_3.tar.gz
# ls
108653-30  109401-10  README  SUNWxf86r  SUNWxf86u  copyright
    

もし適用されていなければ、108653-30 と 109401-10 の2つのパッチを インストールしておく。以下のようにして、108653-30 以降と 109401-10 以降のパッチが当たっていれば、特に適用の必要はない。

# showrev -p | grep 'Patch: 108653'
Patch: 108653-34 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWxwfnt, 
SUNWxwice, SUNWxwplt, SUNWxwdxm, SUNWxwinc, SUNWxwman, SUNWxwpmn, SUNWxwslb
# showrev -p | grep 'Patch: 109401'
Patch: 109401-10 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWxwpls, 
SUNWxwscf
    

次に pkgadd コマンドによりパッケージをインストールする。

# pkgadd -d . SUNWxf86u
# pkgadd -d . SUNWxf86r
    

これでインストールは完了。X の設定に移る。ここまでの作業を X 上で 行っていたならば、ログアウトしてコンソールに移行する。 コンソールに root でログインし、kdmconfig コマンドを実行する。

# kdmconfig
    

最初の画面は kdmconfig についての説明なので、F2 キーを押して次に進む。 次の画面が設定メニューである。

[X] No changes needed - Test/Save and Exit
[ ] Change Video Device/Monitor
[ ] Change Keyboard
[ ] Change Pointing Device
    

下の選択肢3つ、すなわちビデオチップ/モニタ、キーボード、マウス についてこれから設定することになる。まずは Change Video Device/Monitor にカーソルを合わせ、スペースキーでチェックを付けて F2 キーで先に進む。

するとビデオチップドライバの選択画面になる。 ここで ThinkPad A20m の場合、"XF86-ATI VGAWonder, Mach8, Mach32, Mach64, Rage128, Radeon" を選んでチェックを付け、次へ進む。

次はモニタの選択画面である。ThinkPad A20m では順に "Notebook LCD XGA 48 kHz (1024x768 @ 60Hz)"、 "14-inch (36cm)"、 "1024x768 - 16777216 colors @ 60Hz"、 "1024x768" を選んでチェックを付けていく。

これで最初のメニューに戻ってきたので、次はキーボードの選択である。 Change Keyboard に印を付けて F2 キーで進み、 "Generic Japanese(106)" (日本語キーボードの場合) を選択して次に進めば、また最初のメニューに戻ってくる。

最後はマウスの選択である。Change Pointing Device にチェックを付け F2 で次に進む。A20m には3ボタンのポインティングデバイスが付いているので、 "Built-in PS/2 Mouse (3 Button)" を選択する。 外付けの USB マウスを使うのならば、一番下の選択肢 "USB Mouse" を選べばよい。

また最初のメニューに戻ってきたら、 "No changes needed - Test/Save and Exit" を選択して F2 を押す。さらに F2 を押して進むと X のテスト画面となるので、 きちんと表示されたことを確認して、Okay をクリックして終了である。

5. 日常的に使ってみる

CPU 能力 (Celeron 450MHz) 的にも、メモリ容量 (192MB) 的にも、 とくにハードウェアの能力不足は感じない。 必要にして十分といったレベルである。

PCCARD コントローラは Xi GraphicsPCMCIA Patch for Solaris x86 1.6 をインストールすることで使えるようになる。 1.5 まではダメだったのだが、ありがたいことである。 3Com 3C589 イーサネットカードの動作を確認したが、IBM Microdrive は何故か動作しなかった。

6. 参考文献

Solaris 階層に戻る  |  ホームに戻る

Copyright (C) 2001-2003
Last modified: Wed Aug 16 16:52:06 JST 2006
You are the 126699th visitor.