NetBSD/sgimips: よくある質問
全般的な質問
- Indy のシリアルコンソールに関して知っておく価値のある事柄
- IP22 その他で $eaddr をリセットする方法は ?
- PROM tftp クライアントがデフォルトの設定の NetBSD の tftpd との組み合わせでうまく動きません
- このほかにありそうな PROM の問題
- ブートローダーを (sgivol を使って) 更新する
他の情報源
全般的な質問
Indy のシリアルコンソールに関して知っておく価値のある事柄 (トップ)
この情報は他の機種にも適用できるかもしれないことに留意しておいてください。 マシンをシリアルコンソールでブートできるようにするため、 マシンを立ち上げるときはキーボードを外しておいてください。 シリアルコンソールは、デフォルトでは serial #1 で、 9600、 8N1 で動作します。
PROM モニターで "setenv console d
" とすることでコンソールを
serial #1 に、 "setenv console d2
" とすることで serial #2
にすることもできます (デフォルトは "g
" です) 。また、
コンソールの速度は "setenv dbaud <bps>
" で設定できます。
これらの PROM 変数を設定した後は、 "init
" するか、マシンを
リブートします。
IRIX をコンソールからブートした場合、シリアルコンソール上でのログインが できなくなります。 /etc/inittab を編集して下記の行を追加することで、 ログインできるようになります。
st:23:respawn:/sbin/getty systty co_9600 # serial console - HF
このあと、忘れずに "init q
" して inittab を再読み込みしてください。
シリアルポートのピン配置は SPARC システムのシリアルポートと同じですので、 ハードウェアハンドシェーキング線を使わない用途に限れば、 Macintosh のシリアルケーブルはシリアルコンソール用のケーブルとしてしっかり使えます。 詳細については、 NetBSD シリアルポート入門を参照してください。
IP22 その他で $eaddr をリセットする方法は ? (トップ)
ここに示すのは、少なくとも Indy と、おそらく HPC3 を持つ他のマシンでも 使える、イーサネットアドレスの設定方法です。
一切の責任を持たないので…以下省略。
PROM プロンプトで:
dump -w -x 0xbfbe04e8
この出力の妥当性チェックとして、 'ec0: bad ethernet address' エラーメッセージで示されるアドレスと一致するかどうか調べます。 もし一致していなければ、なにも上書きすべきではないでしょう。
fill -w -v 0xGG 0xbfbe04e8 fill -w -v 0xHH 0xbfbe04ec fill -w -v 0xII 0xbfbe04f0 fill -w -v 0xJJ 0xbfbe04f4 fill -w -v 0xKK 0xbfbe04f8 fill -w -v 0xLL 0xbfbe04fc
ここで、 GG:HH:II:JJ:KK:LL が、予定しているイーサネットアドレスになるように します。マシンに附属してきたアドレスを使うのがよいでしょう。 わからなければマシンの背面を調べてください。
電源を落とし、一分間待ってから電源を入れます。これで、 $eaddr 以外の すべての変数は、 resetenv コマンドを使ったときのようにリセットされています。
PROM tftp クライアントがデフォルトの設定の NetBSD の tftpd との組み合わせでうまく動きません (トップ)
SGI マシンの PROM tftp クライアントは、デフォルトの設定の NetBSD の tftpd との組み合わせで、うまく動作しないことがあります。そのマシンの PROM が 符号ビットの立ったポート番号に対応していないせいかもしれません。 これに対する次善策は、匿名コネクション用のポート番号の上限を 32767 にすることです。次のように調整すると解決するはずです:
# sysctl -w net.inet.ip.anonportmin=20000 # sysctl -w net.inet.ip.anonportmax=32767
このほかにありそうな PROM の問題 (トップ)
PROM バージョンやインストールされた OS (SASH) バージョンによる、 いくつかの問題があります:
- 古いバージョンの SASH には、メモリーマップを誤って報告するという 問題があります。ブート (copyright message 以前でも) 時に、カーネルが UVM 絡みのメッセージとともに panic する場合は、 sash を介さずに PROM から直接カーネルをブートしてみてください (IRIX 6.x にアップグレード前の (5.3 が動作している) I2 にもこの問題があります) 。
- もうひとつの古い PROM の問題 -- 古い PROM は ELF を扱えないため、 ECOFF カーネルが必要かもしれません。これの回避策は sash (IRIX 5.x においてでも ELF を理解するようです) を使うことですが、 問題 #1 を見てください。
ブートローダーを (sgivol を使って) 更新する (トップ)
sysinst を使って NetBSD をインストールすると、ディスクの先頭部分が、
PROM がブートローダーを読み込むためなどのパーティション用として確保されます。
このパーティションは、ボリュームヘッダーと呼ばれます。
このパーティションには、最低限 3135 ブロックが必要です (/usr/include/sys/bootblock.h
の SGI_BOOT_BLOCK_SIZE_VOLHDR を参照)。disklabel の例を以下に示します。
パーティション i
がボリュームヘッダーとなっており、
これは SGI の流儀 (パーティション 8 を使う) と同様です。
sgimips# disklabel sd0 # /dev/rsd0c: type: SCSI disk: mydisk label: fictitious flags: bytes/sector: 512 sectors/track: 135 tracks/cylinder: 8 sectors/cylinder: 1080 cylinders: 4078 total sectors: 4404240 rpm: 7200 interleave: 0 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 3377306 3183 4.2BSD 1024 8192 45640 # (Cyl. 2*- 3130*) b: 1024000 3380489 swap # (Cyl. 3130*- 4078+) c: 4404489 0 unknown # (Cyl. 0 - 4078+) i: 3183 0 unknown # (Cyl. 0 - 2*)
NetBSD のインストール後、sgivol ユーティリティー (/usr/mdec にあります) を使って、このパーティションを操作することができます。まだセットアップされていない場合は、 以下のようにして、初期化する必要があります (注意: sysinst は適切にセットアップをおこないます)。
sgivol -i sd0
ブートローダーを更新する (あるいは、別機種のマシンにディスクを移した場合に変更する) ためには、まず、既存のファイルを消去します。
sgivol -d boot sd0
次に、新しいブートローダーを、ボリュームヘッダーに 'boot' というファイル名でコピーします。
sgivol -w boot /usr/mdec/ip2xboot sd0
複数のブートローダーを (別々の名前にして) 置いておくこともできます。 別バージョンの NetBSD をブートする場合 (たとえば、新しい INSTALL カーネルを使って NetBSD 3 から 5.0 にアップグレードする場合) には、 非常に便利です。というのも、bootinfo の変更により、 NetBSD 4.0 以前のカーネルは新しいブートローダーとの組合せでは動作しないからです。
ボリュームヘッダーの内容は、以下のコマンドを使って見ることができます。
sgivol sd0
出力例は以下のとおりです。
disklabel shows 4404240 sectors checksum: 00000000 root part: 0 swap part: 1 bootfile: /netbsd Volume header files: sgilabel offset 2 blocks, length 512 bytes (1 blocks) ide offset 3 blocks, length 322048 bytes (629 blocks) sash offset 632 blocks, length 322048 bytes (629 blocks) boot offset 1261 blocks, length 53296 bytes (105 blocks) SGI partitions: 0:a blocks 3377306 first 3183 type 4 (BSD4.2) 1:b blocks 1024000 first 3380489 type 3 (Raw) 8:i blocks 3199 first 0 type 0 (Volume Header) 10:k blocks 4404489 first 0 type 6 (Volume)
さらなる情報については、boot(8) および sgivol(8) マニュアルページをご覧ください。
他の情報源
NetBSD ドキュメンテーション (トップ)
サイト外のドキュメンテーション (トップ)
Back to NetBSD/sgimips Port Page