NetBSD 1.3.2をSparcにインストールする


竹岡 尚三 (AXE, Inc.)

Copyright (c) 1996-1999 AXE, Inc. All rights reserved.

目次

  1. はじめに
  2. NetBSD/Sparcの稼働するハードウェア
  3. 本稿で使用したSun4について
  4. シリアル・ポートをコンソールにする
  5. 各種サービスを提供するマシン
  6. インストール方法について
  7. インストール1 サーバの設定
  8. インストール2 ディスクレス・マシンのためのファイルの展開
  9. Ethernet MACアドレスの調べ方
  10. sun4のブート
  11. NetBSD/Sparcの設定
  12. X window
  13. おわりに
  14. 参考URL
  15. SparcStation豆知識

インデックス・ページへ

はじめに
目次へ次の章へ

NetBSD/Sparcは MPUにSparcを使用したSun4シリーズのためのNetBSDである。

本文書は、NetBSD-1.3.2をSparcにポーティングした

NetBSD1.3.2/sparc
について述べる。
本文書では、NetBSD/sparcのインストール方法を紹介する。

3Mips程度の680X0等のCISCマシンが全盛の時代に、Sparcは10Mipsを越える RISCとして登場した。
Sparcの登場によって、メインフレーム(大型機)、ミニコンなどの性能は完全に 時代遅れとなった。絶対性能でミニコンを、コストパフォーマンスでハイエンド・ メインフレームを駆逐してしまった。
Sparcアーキテクチャはレジスタウインドウを持ち、そのアーキテクチャのタチ の悪さは衆目の一致するところである。しかし、Sparcの高いコストパフォーマ ンスと、 SunOS 4.Xの優れた使用感よりSun4は広く使用された。
NetBSD/SparcはそのSun4にNetBSDをポーティングしたものである。

なお、本文書で紹介するインストール方法は、 FreeBSD の動作するマシンを必要とする。
BSD UNIXのネットワーク管理に慣れた読者なら、FreeBSDではなく、他のOSでも代 替できる。


NetBSD/sparcの稼働するハードウェア
目次へ前の章へ次の章へ

NetBSD1.3.2/sparcのインストールには、

が必要である。

実用的に使うには、少なくとも16MB以上のメモリが必要だとされている。

NetBSD/sparc 1.3.2のサポート機種は

        sun4c (SS1, SS1+, SS2, IPC, ELC, IPX, SLC)
        sun4  (4/100, 4/200, and 4/300. (4/400のサポートは不完全である))
        sun4m (Classic, LX, SS4, SS5, SS10, SS20)
 
である。
サポートされていない機種は
        - sun-4/400 (lacking support for the I/O cache, and has ethernet problems)
        - sun4d (sparc center 2000)
        - sun4u (Ultrasparcs)
 
である。

NetBSD/sparcでのサポート・デバイス:

sun4c/sun4m sbus ビデオ:
cgsix, cgthree, bwtwo
cgfourteen, tcx フレームバッファ (制限付きの"emulation"モード)
sun4 ビデオ (not thoroughly tested?):
P4 on-board bwtwo, VME cgtwo カード
シリアル・ポート:
ttya, ttyb (必要ならばコンソールにできる)
ethernet:
オンボードの AMD Lance ethernet ("le0")
Sbus AMD Lance ethernet カード
オンボードのIntel 82586 ethernet (4/100や4/200のie0)
VME Intel 82586 ethernetカード
SCSI:
オンボードの"esp" SCSI コントローラ (sun4c, sun4m, 4/300)
sbus "esp" SCSIコントローラ
Sun "SUN-3"/"si" VME SCSI コントローラ (ポーリング・モードのみ。遅し)
Sun "SCSI Weird"/"sw" オンボード・コントローラ(4/110のみ,ポーリング)
VME disks:
Xylogics 7053 VME/SMD ディスク・コントローラ ("xd")
Xylogics 450/451 VME ディスク・コントローラ ("xy")
[注意: VME/IPI ディスクはサポートされない]
sun floppy disk drive
sun キーボード、マウス
sun4c オーディオ
SparcStation Classicのsun4m オーディオ
現在サポートされないハードウェア
マルチプロセッサの sun4m マシン
SparcStation Classic以外のsun4m マシンのためのオーディオ・ドライバ
sun-4/100, sun-4/200のための割り込み駆動のSCSIドライバ


本稿で使用したSparcについて
目次へ前の章へ次の章へ

本稿のために筆者が使用したSparcは

SparcStation IPX (4/50)
である。
SparcStationcIPXはsun4cアーキテクチャである。
今回使用した構成は、
本体
SparcStation IPX (4/50)
メモリ
64MBytes
キーボード
なし
マウス
なし
ビデオ・アダプタ
なし

今回は、変則的だが、シリアル・ポートに端末を接続しシリアル・コンソール でインストールを行った。

Sunはキーボードやディスプレイ・ユニットが無くても、シリアル・ポー トにキャラクタ端末を接続することで使用することができる。 (参照:シリアル・ポートをコンソールにする)


シリアル・ポートをコンソールにする
目次へ前の章へ次の章へ


Sunはキーボードやディスプレイ・ユニットが無くても、シリアル・ポー トにキャラクタ端末を接続することで使用することができる。
まずRS232CのAポートに

のシリアル・キャラクタ端末を接続する。
端末としてPCを使用する場合は、接続ケーブルにクロスケーブルを使用する。

ttya(RS232CポートのA)にキャラクタ端末を接続し、 Sun4の電源を入れる。
キーボードが接続されていないと、自動的にシリアル・ポートがコンソールと なる。

ケーブルの接続方法については SparcStation豆知識を参照
各種サービスを提供するマシン
目次へ前の章へ次の章へ

Sun本体以外に、ファイル・サービス、その他各種サービスを提供するサーバ 機として、

FreeBSD 2.2.7
の稼働する80X86マシンを使用した。
ファイルサービス以外に、大した負荷がかかるわけではないので、 旧型マシンでも充分に使用に耐える。

具体的には、 RARP, tftp, bootparamd, NFS をサービスする。


インストール方法について
目次へ前の章へ次の章へ

NetBSD/sparcのインストール方法には

の3通りがある。

ここでは、インストールとしては多少変則的ではあるが、ディスク・レスでの 使用を具体例とする。
NetBSD/sparcをメインマシンとしない多くのユーザに取っては、ディスクレス が便利だと思われる。


インストール1 サーバの設定
目次へ前の章へ次の章へ

ここで設定するインストールするSparcは
ホスト名sun4
IPアドレス192.47.224.226
Ehternetアドレス8:0:20:a7:f5:e6
とする。

サーバであるFreeBSDマシンは
ホスト名gigi
IPアドレス192.47.224.156
とする。

Sun4のためのファイル・システムはFreeBSDマシンの

/usr/home/export/sun4/root
以下にもつこととする。

今回、スワップはネットワークで行うこととする。
スワップのための領域は

/usr/home/export/sun4/swap
というファイルとして持つ。

よって、sun4 のためのすべてのファイルは/usr/home/export/sun4/ 以下に入る。

以下、サーバとなるFreeBSD/x86マシンの設定を列挙する。


インストール2 ディスクレス・マシンのためのファイルの展開
目次へ前の章へ次の章へ

今回は、ディスクレスでの使用であるから、ファイルの展開はサーバとなる FreeBSDマシンで行ってしまう。

base, etcをまず展開し、続いてcomp, man, misc, text, games を展開する。
実用的な使用には、base,etc,compを展開するべきだろう。

なお、tgzファイルの展開はrootで行わなければ、ownerなどが正しく設定され ない。
必ず、rootで行おう。

# cd /usr/home/export/sun4/root
# tar xvzpf NetBSDの収めてあるディレクトリ/sparc/binary/sets/base.tgz
とする。同様に、etc,compなどを展開する。

カーネルファイルを展開する。

# gunzip < NetBSDの収めてあるディレクトリ/sparc/binary/kernel/netbsd.GENERIC_SCSI3.gz > netbsd

今回は、ネットワークでスワップを行うこととした。

クライアントにおいて /swap となるべきディレクトリを作成する。

# mkdir swap
 

スワップの準備としてswapファイルを最大サイズで作っておく。(ここでは、16MB)

# cd /usr/home/export/sun4/
# dd if=/dev/zero of=swap bs=16k count=1024
1024+0 records in
1024+0 records out
16777216 bytes transferred in xxx secs (yyy bytes/sec)
 

その後、デバイスも作ってしまう。

# cd /usr/home/export/sun4/root/dev
# sh MAKEDEV all

次に、sun4の/etc/fstabを設定する。

# cd /usr/home/export/sun4/root/etc
# vi fstab

/etc/fstabに次の様に記述する。
今回は、スワップはネットワークでスワップを行うので、それも記述する。

192.47.224.156:/usr/home/export/sun4/root /	nfs	rw 0 0
192.47.224.156:/usr/home/export/sun4/swap none	swap	sw,nfsmntpt=/swap

以上で準備完了である。


Ethernet MACアドレスの調べ方
目次へ前の章へ次の章へ

SunのEthernet MAC addressを調べ方法は、主に次の2つがある。
  • マシン起動時の表示を見る
    
    	SPARCstation IPX, No Keyboard
    	ROM Rev. 2.9, 64 MB memory installed, Serial #6366287.
    	Ethernet address 8:0:20:a7:f5:e6, Host ID: 5761244f.
         
  • NewMonitorで確認
    
    	>n
    	ok .idprom
    	Format/Type: 1 57 Ethernet: 8 0 20 a7 f5 e6 Date: 0 0 0 0
    	Serial: 61 24 4f Checksum: c0 Reserved: d8 b9 d5 79 f7 6d 53 dd 7 6 5
    	4 3 2 1 0
         
    以上から8:0:20:a7:f5:e6であるとわかる



    sun4のブート
    目次へ前の章へ次の章へ

    Sparcの電源を投入する。

    通常は、自動的にHDDからのブートを行おうとするので、「L1」キー と「A」キーを同時に押下し、モニタへ戻す。
    シリアル・コンソールでは、Breakの送出(tipコマンドを使用しているなら「 ~#」)で、同様の効果がある。
    Sparcのモニタ、SunOSでは、いかなる場合も、L1+Aの押下(またはシ リアル・コンソールからのBreak)でモニタへ戻るようになっている。

    モニタに戻ったら、NewMonitorに入り次のように設定する。

    	ok setenv sunmon-compat? false
    	sunmon-compat? =      false
    	ok setenv security-mode none
    	security-mode =       none
     
    newMonitorならば、
    	ok boot net netbsd
     
    で、ネットワーク・ブートがはじまる。

    今までの設定が正しければ。問題無くブートが完了し、シングルユーザモード で NetBSD/sparcが起動するだろう。


    NetBSD/sparcの設定
    目次へ前の章へ次の章へ

    シングルユーザモードで起動したら、sparcが使用可能である。

    /etc/rc.confを編集してみよう。

    # vi /etc/rc.conf
    以下はNetBSD/sparcの/etc/rc.confである。
    (前略)

    # If this is not set to YES, the system will drop into single-user mode.
    rc_configured=YES

    # Basic network configuration
    hostname="sun4" # if blank, use /etc/myname

    (中略)

    # Set this to YES if you have purposefully setup no swap partitions and
    # don't want to be warned about it
    no_swap=""

    (後略)
    まずは、この3項目の設定するのみでよいだろう。

    BSDの場合、シングルユーザ・モードのshellをexitすると、自動的にマルチユー ザモードへ移行する。
    メモリが少ない場合は、非常に時間を要するが、問題は出ないだろう。

    なお、ネットワーク設定のコマンド等は、通常のBSD系OS とまったく同じである。

    この後次の各種設定などを行うとよい。


    X window
    目次へ前の章へ次の章へ

    NetBSD/sparcでは、X windowが動作する。

    本章では、X windowを動作させる方法を述べる。

    1. X windowのバイナリ・アーカイブの展開

      NetBSD-1.3.2/sparc/binary/sets/中の

      xbase.tgz
      X windowの基本的なクライアントのバイナリや設定ファイル等
      xcontrib.tgz
      X windowのクライアントのコントリビュート・ソフトウェアのバイナリ
      xcomp.tgz
      X windowクライアントを開発する時に必要なライブラリ等
      xserver.tgz
      X windowサーバ
      • Xsun : CG2/CG3/CG4/CG6用8-bitカラー・サーバ
      • XsunMono : BW2用 白黒・サーバ
      • Xsun24 : CG8用 24-bitカラー・サーバ
      が含まれる。
      xfont.tgz
      フォント。サーバを動作させる時のみ必要
      を展開する。

      SunのコンソールでXサーバを動作させないならば、xserver.tgz, xfont.tgzの 展開は不要である。
      また、X クライアントの開発(コンパイル、リンク)を行わないなら、xcomp.tgz の展開は不要である。

    2. サーバの選択

      展開直後は /usr/X11R6/bin/X が Xsun へのシンボリック・リンクになってい る。
      本稿ではSparcStationIPXのCG6を使用するので、そのまま使用した。
      ハードウェアに応じて

      XsunMono(BW2用)
      Xsun24(CG8用)
      へとシンボリック・リンクである/usr/X11R6/bin/Xを変更する。
      # rm /usr/X11R6/bin/X
      # ln -s /usr/X11R6/bin/XsunMono /usr/X11R6/bin/X
       

    3. シェアード・ライブラリの設定

      X windowのバイナリは、/usr/X11R6/lib中のシェアード・ライブラリを使用し ている。
      従って、シェアード・ライブラリの設定を行わなければならない。

      /etc/rc* などの中で、

                      ldconfig /usr/X11R6/lib /usr/local/lib
        
      とする。

    4. 各ユーザ個別の設定

      各ユーザの.cshrc等の中で、path に /usr/X11R6/bin を追加。
      必要に応じてホーム・ディレクトリに .xinitrc .twmrc 等を作成し、設定する。

    SparcStationIPXでは、1152×900で問題無くX windowサーバが動作した。


    おわりに
    目次へ前の章へ次の章へ

    NetBSD 1.3.2/sparcは、実用的に使える。

    ソースのあるBSD系OSがかなり新しいSparcマシンで使用できるのは、非常に楽 しい。



    参考URL
    目次へ前の章へ

    本稿を書くにあたって、参考にしたWWWページのURL を以下に挙げる。
    これらに注目しておけば、 NetBSD/Sparcのバージョンアップ情報などが得られ るであろう。

    http://www.netbsd.org/
    NetBSD.orgの公式ホームページ
    http://www.netbsd.org/Ports/sprac/
    NetBSD/sparcの公式WWWページ

    (たけおか しょうぞう AXE, Inc.)



    目次へ前の章へ
    インデックス・ページに戻る