NetBSD/sun3 よくある質問
NetBSD/sun3 よくある質問
全般的な質問
- マルチキャストや IPv6 が使えない - "le0: not multicast capable"
- ESP ドライバーを使った 3/80 をディスクレスで動かす - "esp: SCSI bus reset."
- SunOS 4.1 互換機能
- 異なるターゲットの SCSI デバイスからブートする
- NetBSD/sun3x の歴史
他の情報源
- SunHELP
- Sun Hardware Reference FAQ
- Sun NVRAM/Hostid FAQ
- Sun CD-ROM FAQ
- NetBSD 6.0.1 インストールノート
- port-sun3 メーリングリスト
- Diskless NetBSD HOW-TO
- Sun3 Archive
- Techrat's Sun 3/160 pages
- 一般的な NetBSD ドキュメンテーション
全般的な質問
マルチキャストや IPv6 が使えない - "le0: not multicast capable
" (トップ)
一部の sun3s (sun3x は含まず) で使われている LANCE revision C チップにはバグがあり、最初のビットにゴミを入れ、 本来のビットを後ろにずらしてしまうことがあります。このため、 MAC アドレスが本来の行き先のものではなく、 デタラメに見えることがあります。
次善策として、パケットの冒頭を検証して、自分宛 (自分の MAC またはブロードキャスト) 以外のものは捨てるという手があります。 困ったことに、こうするとマルチキャストが使えなくなります。
おそらく、 LANCE Rev. C チップは 3/50 だけで使われていますので、 他の sun3 マシンでは、次の行を外してカーネルを 構築することができるはずです:
options LANCE_REVC_BUG
ESP ドライバーを使った 3/80 をディスクレスで動かす - "esp: SCSI bus reset."
(トップ)
このメッセージは、ディスクレスシステムでの esp ドライバーのバグの症状です。 NetBSD/sun3x の ESP (Emulex SCSI Processor) ドライバーにはバグがあり、 空の SCSI バスをプローブすると無限ループに陥ります。 この問題を回避するためには、 esp デバイスドライバーを含まないカーネルを使うか、 または何か動いている SCSI デバイスをバスに挿します。
SunOS 4.1 互換機能 (トップ)
NetBSD/Sun3 には、 SunOS 4.1.x のプログラムの実行バイナリーとの 互換機能があります。スタティックな実行バイナリーは特別な設定なしに動作します。
ダイナミックな実行バイナリーの実行には、 SunOS からダイナミックライブラリーを持ってくる必要があります。 動作しない SunOS プログラムとしては、SunOS kvm ライブラリーを 使うものや、ある種の (低レベルの) ディスク操作ユーティリティーや、 Sun STREAMS サブシステムを明示的に使うプログラムなどがあります。 より詳しくは、 compat_sunos(8) マニュアルページを確認してください。
異なるターゲットの SCSI デバイスからブートする (トップ)
すべての sun3 と sun3x のモニターは、 SCSI デバイスからのブートに
対応しています。ほとんどのユーザーにとっては、モニターデバイス
sd(0,0,0)
、つまり SCSI デバイスのターゲットゼロからブートするのが普通でしょう。
それ以外の SCSI デバイスのターゲットからブートするように
モニターデバイス名を指定するのは、わかりにくいことかもしれません。
モニターブートデバイスは
dev(
cntrl,
unit,
part)
のような形式で指定するようになっています。
dev は 2 文字、 cntrl,
unit, part
は十六進数です。
SCSI ディスクと CD-ROM では dev は sd
、
SCSI テープでは dev は st
です。
どの SCSI デバイスでも、 cntrl は、そのデバイスがアタッチされている
SCSI コントローラーの番号です。 SCSI コントローラーが 1 個だけのマシンでは
cntrl は 0
になります。
どの SCSI デバイスでも、 unit は SCSI ターゲットとデバイスの論理ユニット番号を表します。 より厳密にいえば、 SCSI ターゲットと論理ユニット番号をもとに unit という一つの数にしたもので、この数の決め方は、マシンの機種、 ROM リビジョン、 デバイスがディスクか CD-ROM かテープのどれか、によって決まります。 お使いのマシンで unit がどうなるかは、下記の表で調べてください。
SCSI ディスクと CD-ROM では、 part はそのディスクや CD-ROM のどの
パーティションかを示します。 1 個目のパーティションは 0
、
2 個目は 1
、…、です。
普通は、最初のパーティションがブート可能になっているので、
part は 0
になります。これの例外としてありがちなのは、
swap パーティションに書かれた miniroot からブートする場合です。
この場合は part は 1
になります。別の例外としては、
CD-ROM に他のアーキテクチャーのブート用のパーティションが入っている場合で、
この場合はどのパーティションからブートするのかを調べておく必要があります。
SCSI テープでは、 part はブートに使うテープのセグメント ("テープファイル"
とも呼びます) を示します。最初のテープセグメントは 0
、
2 個目のテープセグメントは 1
、…、です。適切な part
を指定するために、どのテープセグメントがブート可能なのか調べておく必要があります。
最後に、様々なマシンで unit が実際にどうなるかの一覧表を載せておきます。
ディスクと CD-ROM の sd
とテープ用の st
モニターデバイスを、全 SCSI ターゲット毎に掲げました。
この表では、 SCSI コントローラーは 1 個目の 0
とし、
最初のパーティションまたはテープセグメントの 0
を使うものとしています。 Sun 3 の多くの機種では同じ CPU ボードを使っているので、
以下の表では、できるかぎり、
単に Sun の CPU ボードのコードネームを使うようにしてあります。
CPU/rev ROM | ディスクおよび CD-ROM からブートする場合のモニターデバイス (ターゲット別) | |||||||
---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
3/60 rev 1.9 Carrera rev 2.7 |
sd(0,0,0)
|
sd(0,4,0)
|
sd(0,8,0)
|
sd(0,C,0)
|
sd(0,10,0)
|
sd(0,14,0)
|
sd(0,18,0)
|
N/A |
3/80 rev 2.9.2 |
sd(0,0,0)
|
sd(0,8,0)
|
sd(0,10,0)
|
sd(0,18,0)
|
sd(0,20,0)
|
sd(0,28,0)
|
sd(0,30,0)
|
N/A |
CPU/rev ROM | テープからブートする場合のモニターデバイス (ターゲット別) | |||||||
---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
3/60 rev 1.9 | ??? |
st(0,8,0)
|
st(0,10,0)
|
st(0,18,0)
|
st(0,0,0)
|
st(0,28,0)
|
st(0,30,0)
|
N/A |
3/80 rev 2.9.2 | ??? |
st(0,8,0)
|
st(0,10,0)
|
st(0,18,0)
|
st(0,0,0)
|
st(0,28,0)
|
st(0,30,0)
|
N/A |
この表では、 SCSI 論理ユニット番号はゼロとしてあります。 SCSI の仕様上は、ひとつの SCSI ターゲットが複数の論理ユニット (LUN とも呼ばれる) を持つことができます。ですが、事実上、どの SCSI デバイスもこの機能を使ってはおらず、 LUN 番号ゼロのものを持っているだけです。なお、ゼロ以外の LUN のディスク (初期の Sun SCSI ディスクはそうなっています) の場合は、 unit に LUN 番号を足せばよいです。なお、 unit は十六進数です。
NetBSD/sun3x の歴史 (トップ)
NetBSD の sun3x ポートは、二つの独立した開発者グループによって始まりました。 第一のグループは Gordon Ross と Jeremy Cooper らによるもので、 1996 年 3 月に current (当時) の sun3 ポートをもとに作業を始め、 hp300 m68k コードに基づかない新しい pmap システムの作成に集中しました。 彼らの成果は、公式にサポートされた NetBSD/sun3x のバージョンとなりました。
第二のグループは椿井政成らによるもので、こちらも sun3 をもとにしていましたが、 こちらは伝統的な hp300 m68k pmap を採用しました。 この手法により、彼らは数週間で完全に動作するシステムを作ることができました。 彼らは、 SPARC 拡張 SCSI プロセッサードライバーをカーネルに統合することに 初めて成功し、 Sun3x が確かに SPARC と Sun3 の中間的存在であることを 証明しました。
現在のサポートされている NetBSD/sun3x は Gordon と Jeremy らの作業をもとに していますが、彼らの前進は第二のグループの恩恵によるものです。
NetBSD 1.3 から 1.4 の間に、 NetBSD/sun3x は NetBSD/sun3 にマージされました。 これらは別々にカーネルを構築しますが、ユーザーランドとカーネルビルドツリーは 同じものを共有しています。
他の情報源
SunHELP (トップ)
- SunHELP - sun 関連の膨大な情報
Sun Hardware Reference FAQ (トップ)
- Sun Hardware Reference FAQ - 数年にわたる Sun のハードウェアの概観
Sun NVRAM/Hostid FAQ (トップ)
- Sun NVRAM/Hostid FAQ - あなたのマシンのPROM のバッテリーがきれた時に
Sun CD-ROM FAQ (トップ)
- Sun CD-ROM FAQ - Sun をブート可能な CD-ROM ドライブの一覧
NetBSD 6.0.1 インストールノート (トップ)
- NetBSD 6.0.1 インストールノート - 対応ハードウェアとインストール方法。
port-sun3 メーリングリスト (トップ)
- port-sun3 メーリングリスト - もし、何か質問があれば、ぜひ参加してください。
Diskless NetBSD HOW-TO (トップ)
Sun3 Archive (トップ)
- The Sun3 Archive には、 Sun3 ハードウェア、 PROM イメージその他の多くの情報があります。
Techrat's Sun 3/160 pages (トップ)
- Techrat's Sun 3/160 pages には、Techrat 3/160 の情報、ハードウェア情報、沢山の古い Sun ハードウェアの写真、様々な FAQ などへのリンクがあります。
一般的な NetBSD ドキュメンテーション (トップ)
- 一般的な NetBSD ドキュメンテーション - NetBSD/sun3 固有でない質問。
Back to NetBSD/sun3 ポートのページ