フリーSolarisでここまでやれる!

山森丈範 YAMAMORI Takenori ●yamamori

さっそくブートしよう


CD-ROM が届いたら,何はともあれすぐ動かしたいと思うでしょう.ローカルな CD-ROM ドライブがあるならば,OS の入った CD-ROM を入れて ok プロンプトに boot cdrom と入力してブートしてみましょう. インストール用のミニルートですぐに立ち上がるはずです.

さて,筆者の場合は少し違う方法をとりました. かなり特殊な事例だと思いますが,筆者はふだん, SunOS4.1.4 をメインで使用していて,これを NFS/NIS を始めすべてのサーバにしています. そして,その他のマシンはすべてディスクレスマシンとして,しかも複数の OS をマルチブートするという方法をとっています. ディスクレスでマルチブートされる OS には,Solaris2.5.1/2.6 もあり,また NetBSD/sparc, OpenBSD/sparc, Linux/sparc, NetBSD/hp300 等もあります.

今回の Free Solaris 7 も,ディスクレスクライアントの一員になります. ディスクレスだからといって設定は難しくありません. トラブル時にはサーバ側からファイル操作できる等の利点があり, むしろローカルディスクでのブートよりも簡単です.


■ブートサーバを設定しよう

ここでは,実際の筆者の環境に沿って,SunOS4.1.4 をブートサーバにして Free Solaris 7 をディスクレスブートする方法を例にとって紹介します.もちろん,Linux, NetBSD, OpenBSD, FreeBSD など他の OS をブートサーバにすることもでき,その場合もやることは基本的には同じです. ただし,Linux の場合は rarpd が無く,RARP がカーネル自体に実装されているなど,ちょっと違う点があるので注意してください.

作業は以下の手順になります.


●ブートサーバと、Solaris 7 クライアント(ミニルート、本番)の設定情報
ブートサーバ Solaris 7(CD-ROMミニルート) Solaris 7(本番Diskless)
hostname server cdrominst client
IP address 192.168.1.3 192.168.1.252 192.168.1.65
Ethernet address --- 08:00:20:XX:XX:XX
NFS root --- server:/cdrom/Solaris_2.7/Tools/Boot server:/diskless/solaris2.7/root/client

machine さて,ここで今回のインストールのポリシーを御説明しましょう. ここまでの文章で気づかれたかも知れませんが,今回の (今回も) インストールでは,いわゆるインストーラを全く使用しません. (pkgadd コマンドは使う) すべて,自分で納得しながら手作業で進めます. この方が,OS そのものの構成や,そのブートの仕組みにじかに触れることができ,個人で趣味で使う OS としての Free Solaris の趣旨にも則ることができると思います.

さらに,もうひとつ条件を加えました. インストール対象のマシンは,モニターもキーボードも付いていないもので, Ethernet と RS-232C 以外は手足が無いマシンとします. (ただし,あとでモニターとキーボードを繋いで X11R6.4 を立ち上げたりはします)

○シリアルコンソールの接続

クライアントマシンの ttya からクロスケーブルで,ブートサーバのたとえば ttyb に接続します.そして,ブートサーバ上の xterm 内で tip を起動して,シリアルポートを開けば, これがクライアントマシンのコンソールになります.なお,Sun のマシンでは, NVRAM の設定を特に変更しなくても,本体にキーボードが繋がっていないと,自動的に ttya がシリアルコンソールになります.
(注:tip の使い方)

rarpd の設定

/etc/ethersに,
08:00:20:xx:xx:xx     cdrominst
#08:00:20:xx:xx:xx    client
と書きます.

左側のイーサネットアドレスは,これから Solaris 7 をインストールするクライアントマシンのものです. 同じアドレスで2行書き,まずは1行目のホスト名 cdrominst でブートして,その環境で本番 NFS ルート上にファイルを展開し,その後に,1行目の方をコメントアウトして, 本番のホスト名 client でブートします.

サーバマシン上で rarpd が動いていなければ

    # rarpd -a

で起動してください.

tftpd の設定

Solaris 2.x では,ネットワークブート時に tftp で読み込まれるファイルは inetbootという名 前のファイルで,これは Solaris 2.x の ELF 形式ではなく,SunOS 4.x の a.out 形式のファイルです.

まずはこのファイルを CD-ROM から取り出さなくてはなりません.Solaris 7 の OS の入った CD-ROM をブートサーバの /cdrom にマウントし,

    /cdrom/Solaris_2.7/Tools/Boot/usr/platform/sun4c/lib/fs/nfs/inetboot

から取り出します.(PATH 中の sun4c は,インストールするクライアントのカーネルアーキテクチャーによって 読み替えて下さい. 筆者の場合は SPARCstation2 なので sun4c です).なお,カーネルアーキテクチャを知るには uname -m または arch -k コマンドを実行します.詳細は man arch をご参照下さい.

inetboot をブートサーバの /tftpboot 以下にコピーし,クライアントマシンに割り当てる IP アドレスの16進名を用いたファイルとシンボリックリンクします (cdrominst,client の2つともシンボリックリンクします)

    # umask 22
    # mkdir /tftpboot
    # cd /tftpboot
    # cp -p /cdrom/Solaris_2.7/Tools/Boot/usr/platform/sun4c/lib/fs/nfs/inetboot .
    # chmod 444 inetboot
    # ln -s inetboot C0A801FD.SUN4C
    # ln -s inetboot C0A80141.SUN4C
(注:Intel版のネットワークブート)
inetd.conf の設定

/etc/inetd.conf の中の,

    tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -s /tftpboot

という行を見つけ,コメントアウトされている場合はそのコメントを外し, 次のように実行します.

    # kill -HUP <inetdのプロセスID>
bootparamd の設定

/etc/bootparams に,
cdrominst \
  root=server:/cdrom/Solaris_2.7/Tools/Boot \
  install=server:/cdrom
client \
  root=server:/diskless/solaris2.7/root/client
と書きます.

bootparamd が動いていなければ

    # rpc.bootparamd

で起動します.

hosts の設定

/etc/hosts に,ホスト名を設定します.
192.168.1.252   cdrominst
192.168.1.65    client

今回は NIS を使用しているので,NIS makeします.

    # cd /var/yp
    # make
○NFS の設定

/etc/exports を設定します.
/diskless -root=cdrominst:client
/cdrom -ro,root=cdrominst

必ず CD-ROM をマウントしてから "exportfs -a" します.

    # mount /cdrom
    # exportfs -a

■さっそくディスクレスブートしよう

これで,Solaris 7 がネットワーク越しに CD-ROM からブート可能です.クライアントマシンの電源を入れ,ok プロンプトから

  ok boot net -s

でブートします.

(なお,ここで -s を付け忘れると,下図のようなインストーラが起動してしまい,これを Control-C で抜けると, インストーラとシェルが標準入力を奪い合ったようなおかしな状態になります)

●インストーラが立ち上がると・・
Select a Language

 0) English
 1) German
 2) Spanish
 3) French
 4) Italian
 5) Swedish

?

また,boot net をデフォルトにしたい場合は,ok プロンプトで次のように操作します.
ok setenv boot-device net
boot-device =         net
ok

NFS ルートのインストール
To 『フリー Solaris でここまでやれる!』index


このページは、技術評論社 SoftwareDesign 1999年2月号、『フリーSolarisでここまでやれる!』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
yamamori