SPARCstation に NetBSD-1.2.1 をインストールする 1997/12/05 nsasaki@da2.so-net.ne.jp (sasaki@thinkfree.co.jp is closed) SPARCstation は、多分もっとも販売されているワークステーションの一つです。 そのおかげか、最近はちょっと前の型ならかなり安値で手に入れることができます。 一般的には OS に選択の余地はなく、 Solaris 以外で使用することはあまりないかもしれません。 NetBSD は、BNR2 / 4.4 BSD Lite をベースとした、 さまざまなハードウエアアーキテクチャをサポートする OS です。 多分一般に手に入る汎用 OS の中で、(商用も含めて) もっとも多くのアーキテクチャをサポートする OS の一つと言えるでしょう。 当然のように、SPARCstation もサポートされています。 そこで、いまさらながら SPARCstation に NetBSD を入れてみました。 この文書は SPARCstation に NetBSD をインストールする手順を記録したものです。 私は NetBSD に関連するコミュニティには、なんら参加していません。 ここに書かれていることについては NetBSD に関連するコミュニティには、 なんの関係もないことをご理解ください。 あくまでも私的な記録、としてご覧下さい。 やってみよう、という方の参考になれば幸いです。 そのため、というわけでもないですが、 この文書は次の目的のためにコピーしないでください。 ・この文書を営利目的のために使う ・営利を伴う出版物に引用・紹介する それ以外でしたらご自由にどうぞ。 もし、どうしても営利目的に使いたいという方がいらっしゃいましたら ご連絡ください。 なお、ここに書かれていることを実践することによっていかなる事態になっても、 著者は何の責任も負いません。 これからの説明においては、 あくまでもこの IPX 上で行ったことを具体的に示しています。 他のマシン ( IPC, LX など ) においては違う点もあるかもしれません。 なお、この文書を書いているのは、1997/12 初めです。 執筆時点では NetBSD-1.2.1 が最新ですが、 1997/12/19 には NetBSD-1.3 がリリースされる予定です。 1. 下準備の下準備 NetBSD の配布ファイルと、サポートされている SPARC システムを用意します。 1997/12 初めでは、NetBSD-1.2.1 が最新リリースです。 ここから、できるだけ具体的な例示を記述していきます。 インストーラや、入力すべきコマンドの例をできるだけそのまま記述します。 但し、あまりにも冗長と思われる部分については ........ という表記によって 省略することがあります。 また、インストール手順については、 インストーラーへ入力指示をするタイミング毎に解説してあります。 日本語解説を読むことによって次に行われる処理がわかるように記述したつもりです。 1.1. ハードウエア ここでインストールするハードウエアは、SPARCstation-IPX です。 ハードディスクは NEC-DSE2100S 4092cyl/16head/63sec 4500rpm です。 メモリは、40MB 入っています。 私は、この IPX に付ける専用 CRT を持っていません。 そこで、コンソールをシリアルポートに向けてインストールしてみることにしました。 今時そんなことをする人がいるのか判りませんが、私はわりと好きな方法です。 SPARCstation はブート時にキーボードがない事を知ると、 自動的にコンソールを ttya に向けます。 それを他の SPARCstation のシリアルポートに繋ぎ、 kermit を利用して操作を行うことにしました。 もちろん tip でも構いませんし、DOS + 端末エミュレータでも構いません。 専用端末(VT100など)をお持ちの場合はそれでも結構です。 手持ちの VT220 でもやってみましたが、 古式ゆかしい UNIX の気分が味わえてなかなかのものです。 IPX の場合、シリアルポートのコネクタは PC や他の SPARC システムで使われている DSUB ではなく mini-DIN 8pin です。 これは Macintosh のケーブルが流用できます。 端末接続ですから、クロスケーブルを使用します。 ----------------------------------------------------------------------- <接続図> ┌─────┐ │ Display │ │ │ Solaris2.4 NetBSD │ │ SS-LX SS-IPX │ │┌───┐ ┌───┐ └┬───┬┘│ │ │ │ ┌┴───┴┐│ │←────→ │ │ └─────┘└───┘ ttya ttya └───┘ ───────── クロスケーブル \ keyboard / ────── ----------------------------------------------------------------------- 1.2. ソフトウエア 今回インストールした時点 ( 1997/12/初め ) での最新は NetBSD-1.2.1 です。 今回は、日本サン・ユーザ・グループ (NSUG) が会員向けに配布する NSUG-CD'97 という CD-ROM からインストールすることにします。 もし、CD を手に入れたい方は、詳しくは http://www.nsug.or.jp/ をご覧下さい。 NSUG-CD'97 には、X11R6.3 のバイナリ、OpenBSD-2.1 なども含まれています。 また、NetBSD の公式 WWW サイトには、NetBSD の 配布 CD の入手方法もあります。 こちらは、 http://www.netbsd.org/ をご覧下さい。 # 残念ながら、日本語のサイトをみつけることはできませんでした。 こうした CD-ROM 等のメディアをお持ちでない場合、 FTP サイト等からネットワーク経由でインストールすることもできます。 ダイアルアップでのネットワーク経由でのインストールも可能ですが、 もし全てのファイルを納めてしまえるだけの環境があるなら、 必要なファイルは全て持って来てしまって、 ローカルのファイルからインストールしたほうが良いでしょう。 インストールが失敗したり回線状況が悪いと、 何度も同じファイル転送を行うことになり、まわりの迷惑になりかねません。 というより、何度も転送で待たされるのは腹立たしいと思いませんか? 日本国内の配布サイトは、インストールマニュアルを読むと ftp://netbsd.tohoku.ac.jp/NetBSD になっています。 その他にも IIJ 等にもミラーされています。 IIJ の場合 ftp://ftp.iij.ad.jp/pub/NetBSD に存在します。 大学方面から取り寄せるのでなければ、IIJ 等を利用したほうが高速でしょう。 SPARC システムへのインストールに必要なのは ftp://ftp.iij.ad.jp/pub/NetBSD/NetBSD-1.2.1/sparc 配下のものです。 NetBSD はご存じの通り、さまざまなアーキテクチャがサポートされていますので、 間違えないようにしましょう。 他のアーキテクチャのバイナリ配布を持ってきても動きません。 sparc 配下のファイルを次に示します。 ----------------------------------------------------------------------- -r--r--r-- 1 root wheel 46498 Mar 26 1997 INSTALL drwxr-xr-x 2 root wheel 512 May 20 1997 X11 -r--r--r-- 1 root wheel 8595131 Mar 21 1997 base.tar.gz -r--r--r-- 1 root wheel 6232748 Mar 21 1997 comp.tar.gz -r--r--r-- 1 root wheel 72848 Mar 21 1997 etc.tar.gz drwxr-xr-x 2 root wheel 512 Apr 9 1997 extras -r--r--r-- 1 root wheel 2952391 Mar 21 1997 games.tar.gz -r--r--r-- 1 root wheel 902707 Mar 21 1997 man.tar.gz -r--r--r-- 1 root wheel 5242880 Apr 28 1997 miniroot-121.fs.sun4 -r--r--r-- 1 root wheel 5242880 Apr 28 1997 miniroot-121.fs.sun4c -r--r--r-- 1 root wheel 1904449 Mar 21 1997 misc.tar.gz -r--r--r-- 1 root wheel 816434 Mar 21 1997 text.tar.gz ----------------------------------------------------------------------- このうち、最低限必要なものは、 INSTALL インストールマニュアル base.tar.gz コアと最低限のバイナリ配布ファイル etc.tar.gz システム定義ファイル miniroot-121.fs.sun4c ミニルートシステムのバイナリ です。 とりあえず最低限のものがあればシステムは立ち上がります。 が、ちゃんと使いたいなら全部もってきましょう。 また、フロッピーディスクにブートイメージを置き、 フロッピーブートすることもできます。 フロッピーブートをやってみたい方は、このファイルも忘れずに取得してください。 ----------------------------------------------------------------------- ftp://ftp.iij.ad.jp/pub/NetBSD/arch/sparc/install.floppy/ -rw-rw-r-- 1 root 1506 Aug 26 11:12 README -rw-rw-r-- 1 root 537292 Aug 26 11:12 boot-12A.fs.gz -rw-rw-r-- 1 root 469100 Aug 26 11:13 micro-12.fs.gz ----------------------------------------------------------------------- 2. ほんとうの下準備 2.1. ブートの方法を選ぶ NetBSD をブートさせる方法はいくつかあります。 1) ハードディスクの b パーティションにブートイメージを書き込み、そこからブート。 2) 他のマシンにブートイメージを置き、network 経由でブート 3) フロッピーでブートイメージを用意し、フロッピーブート 簡単なのは 1) の方法です。 もう 1台 UNIX マシンがあり、ネットワークがあれば 2) の方法もわりと簡単です。 ちょっとおもしろそうなのは 3) ですが、けっこう手間かもしれません。 ここでは、ちょっとサボって 1) の方法を利用することにします。 disklabel を書き込む手間を省きたいからです。 Solaris 2.x があるととても楽に作業できます。 SunOS 4.x でも同様のことができますが、 Solaris 2.x の format コマンドのほうが賢いので、 使えるなら Solaris 2.x を使ったほうが楽です。 2.2. Solaris に頼る インストールするディスクにブートに必要な情報を書き込む作業は、 別の SPARC システムにディスクを繋いで行います。 Solaris を CDROM 等からブートさせ、 そのまま format コマンドを利用することもできますが、 Solaris の使用権的に問題がないかが不明です。 一度別のマシンにディスクを繋ぎ、miniroot の書き込みを行ってから、 インストールするマシンに繋ぎなおすほうがいいでしょう。 もちろん、あなたのマシンが正しい Solaris の使用権を得ているならば、 Solaris のインストーラを使用して更に簡単にディスクを構成することができます。 接続の際には SCSI-ID に注意してください。 力を借りるマシンに接続するときは、HDD 側の ID を他の機器とぶつからないように、 そのディスクをブート用にインストールするマシンに戻す時は、 SCSI-ID を 3 にしてください。 2.2.1. パーティションを作成する 使用するディスクを Solaris 2.x の入ったマシンに繋ぎ、 format コマンドを利用して disklabel を書き込みます。 Solaris 2.x の format コマンドは、 ディスクのジオメトリ取得と容量計算を自動でやってくれます。 format コマンドの操作については man 等を参照してください。 どのようにパーティションを割り振るかは自由に決めてよいのですが、 一般的にはある程度の決まり事があります。 ・a パーティションは / に ・b パーティションは swap ・c パーティションは自分のOSが使う領域全体を示す ・g パーティションは /usr その他にも細かい流儀があるようです。 例えば、 ・d パーティションはディスクの物理領域全体を示す などという場合もあるようです。 ですが、細かいことはいわないで、好きなように割り付けましょう。 ここでは、2GB のディスクを次のように割り付けました。 a / 32MB b swap 96MB c 全部 d /usr/local 384MB e /var 256MB f /export 384MB g /usr 256MB h /home 残り(約 600MB) ここで作成したパーティション割りは、インストール時に必要です。 メモしておきましょう。 2.2.2. 必要なファイルを転送する パーティションを割り付けたら、/home 等直接インストールに関連のないところに ファイルシステムを作成して、NetBSD の配布物を転送しておくとよいでしょう。 他にマシンがあれば、これらは NFS 等によって取得することができますが、 転送しておけば単体でインストールすることができます。 Solaris で作成した ufs ファイルシステムは、 NetBSD の ffs ファイルシステムとしてマウントすることができます。 このとき、/usr や /var など、 配布ファイルが展開されるところにコピーするとあとで困ります。 コピーしたディレクトリはメモしておいてください。 今回の場合も CD はあるのですが、 CD をマウントしようとすると mount コマンドの usage が出力されてしまいます。 どうやら、インストール用シェルの一部に間違いがあるようです。 ----------------------------------------------------------------------- *** install.sub Tue Dec 2 11:42:16 1997 --- install.sub.new Tue Dec 2 15:40:42 1997 *************** *** 741,747 **** done # Mount the CD-ROM ! if ! mount -t ${_filesystem} -o ro \ /dev/${_drive}${_partition} /mnt2 ; then echo "Cannot mount CD-ROM drive. Aborting." return --- 741,747 ---- done # Mount the CD-ROM ! if ! mount -t ${_fstype} -o ro \ /dev/${_drive}${_partition} /mnt2 ; then echo "Cannot mount CD-ROM drive. Aborting." return ----------------------------------------------------------------------- ちゃんと確認をしていないのですが、 多分すでに NetBSD のチームでは不備があることを認識している事項なのでしょう。 そういうわけで、ここではディスクにコピーすることにしましょう。 2.2.3. miniroot を書き込む 最後に miniroot を b パーティションに書き込みます。 この例では、最初のディスクとして記述していますが、 デバイス名 ( rsdX または cYdXd0s1 ) を間違えないように注意して行ってください。 X,Y は接続しているディスクの ID 等で変化します。 インストールマニュアルでは BSD 系の OS を例として記述されています。 ----------------------------------------------------------------------- % dd if=miniroot-121.fs.sun4c of=/dev/rsd0b bs=20b conv=sync 512+0 records in 512+0 records out % ----------------------------------------------------------------------- Solaris 2.x から書き込む場合は、 デバイスファイル名が違いますので注意しましょう。 ----------------------------------------------------------------------- % dd if=miniroot-121.fs.sun4c of=/dev/rdsk/c0t3d0s1 bs=20b conv=sync 512+0 records in 512+0 records out % ----------------------------------------------------------------------- 書き込みが終了したらシステムを停止して、 インストールするマシンにディスクを接続し直します。 SCSI-ID の確認を忘れないでください。 もちろん、直接行っている場合はこの必要はありません。 2.3. コンソールの確認と ROM モニタの設定 コンソールが正しくシリアルポートに向いているかを確認します。 ポートの設定はデフォルトでは 9600bps, 8bit, Non-Parity, 1 Stopbit です。 シリアルケーブルを接続し、端末を接続してください。 端末ソフトウエアを利用する場合は、そのソフトウエアを起動してください。 SPARCstation からキーボードをはずし、電源を入れます。 正しく接続されていれば、次のようなメッセージが出力されるはずです。 ----------------------------------------------------------------------- WARNING: Unable to determine keyboard type Can't open input device. SPARCstation IPX, No Keyboard ROM Rev. 2.3, 40 MB memory installed, Serial #2116554. Ethernet address 8:0:20:b:d5:ce, Host ID: 57204bca. Testing 1 megs of memory. Still to go 1 ----------------------------------------------------------------------- メモリのチェックが始まったら Break 信号を送り、ROM モニタに落します。 キーボードを繋いでいる場合 L1+A キーで ROM モニタへ落ちますが、 シリアルポートがコンソールになっている場合は Break 信号 が同様の役割をします。 ----------------------------------------------------------------------- Testing 1 megs of memory. Still to go 1 Type b (boot), c (continue), or n (new command mode) > ----------------------------------------------------------------------- インストールマニュアルによると、 ROM モニタのモードを new command mode にするよう指示されています。 そこで、デフォルトで new command mode になるよう、 変数の書き換えを行います。 また、security-mode が none になっていることも確認しましょう。 ----------------------------------------------------------------------- Type b (boot), c (continue), or n (new command mode) >n Type help for more information ok setenv sunmon-compat? false ok printenv Parameter Name Value Default Value selftest-#megs 1 ........ sunmon-compat? false true security-mode none none ........ ok ----------------------------------------------------------------------- 設定したらリセットし、 デフォルトが new command mode になっていることを確認します。 ----------------------------------------------------------------------- ok reset WARNING: Unable to determine keyboard type Can't open input device. SPARCstation IPX, No Keyboard ROM Rev. 2.3, 40 MB memory installed, Serial #2116554. Ethernet address 8:0:20:b:d5:ce, Host ID: 57204bca. Testing 1 megs of memory. Still to go 1 [BREAKを送る] Type 'go' to resume Type help for more information ok ----------------------------------------------------------------------- 2.4. miniroot のブート では、まず b パーティションにコピーされている miniroot をブートします。 ROM モニタに対し、次のようにコマンドします。 ----------------------------------------------------------------------- ok boot disk:b netbsd -s ----------------------------------------------------------------------- 次のようにブートするはずです。 ----------------------------------------------------------------------- Can't open input device. SPARCstation IPX, No Keyboard ROM Rev. 2.3, 40 MB memory installed, Serial #2116554. Ethernet address 8:0:20:b:d5:ce, Host ID: 57204bca. Rebooting with command: disk:b netbsd -s Boot device: /sbus/esp@0,800000/sd@3,0:b File and args: netbsd -s >> NetBSD BOOT [$Revision: 1.2 $] Booting netbsd @ 0x4000 1138656+109096+70120+[45468+49712]=0x15cfc4 Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 1.2.1 (GENERIC_SCSI3) #7: Fri Mar 21 11:31:53 MET 1997 pk@flambard:/usr/src1/sys/arch/sparc/compile/GENERIC_SCSI3 real mem = 41795584 avail mem = 37433344 using 510 buffers containing 2088960 bytes of memory bootpath: /sbus0/esp@0,800000/sd@3,0:b mainbus0 (root) cpu0 at mainbus0: SUNW,Sun 4/50 (W8601/8701 or MB86903 @ 40 MHz, on-chip FPU) cpu0: cache chip bug; trap page uncached ...... root on sd0b WARNING: clock gained 216 days -- CHECK AND RESET THE DATE! Preserved 9630 blocks of miniroot leaving 31682 pages of swap Enter pathname of shell or RETURN for sh: ----------------------------------------------------------------------- ここでリターンキーを押すと、インストール用のシェルが起動します。 3. インストール いよいよインストールです。 インストールはシェルスクリプトにより行うことができます。 但し、このスクリプトはあまり親切ではありません。 そのため途中で思ったように進まなくなるかもしれません。 でも、失敗しても、慌てずにもう一度やってみてください。 ただのシェルスクリプトなので、^C で中止することができます。 インストール用のシェルは、最初に Terminal type を訊いてきます。 使用している端末の名前を入力しましょう。 端末名を入力すると、インストールするかアップグレードするかを訊いてきます。 今回は新規インストールなので [i] を入力します。 これで /install というシェルが起動されます。 [u] を選ぶと、/upgrade というシェルが起動するようになっています。 ----------------------------------------------------------------------- erase ^H, werase ^W, kill ^U, intr ^C Terminal type? [sun] sun Erase is backspace. (I)nstall or (U)pgrade? i ----------------------------------------------------------------------- 専用ディスプレイを使用してインストールする場合は面倒なことはないのですが、 今回はシリアルポート経由で xterm + kermit を使用しています。 xterm は 40行で使用していますのでちょっと細工をします。 一度 intr を入力してシェルを停止します。 ここで、Terminal type と、stty rows の設定をして、画面を使いやすくします。 その後、/install を再起動します。 ----------------------------------------------------------------------- erase ^H, werase ^W, kill ^U, intr ^C Terminal type? [sun] ^C # TERM=xterm; export TERM # stty rows 40 # /install ----------------------------------------------------------------------- インストールプログラムが起動すると、 入力のしかたについての簡単な説明を表示したあと インストールを続けるかを尋ねてきます。 デフォルトの入力値は [] の中に表示されています。 そのままリターンを入力するとデフォルトの値が採用されます。 当然インストールを続けるので [y] を入力します。 ----------------------------------------------------------------------- Welcome to the NetBSD/sparc 121 installation program. This program is designed to help you put NetBSD on your disk, in a simple and rational way. You'll be asked several questions, and it would probably be useful to have your disk's hardware manual, the installation notes, and a calculator handy. As with anything which modifies your disk's contents, this program can cause SIGNIFICANT data loss, and you are advised to make sure your data is backed up before beginning the installation process. Default answers are displayed in brackets after the questions. You can hit Control-C at any time to quit, but if you do so at a prompt, you may have to hit return. Also, quitting in the middle of installation may leave your system in an inconsistent state. Proceed with installation? [n] y ----------------------------------------------------------------------- まず、timezone の入力を要求されます。 入力欄で [?] を入力すると使用できる timezone 名のリストが表示されます。 ----------------------------------------------------------------------- Cool! Let's get to it... Select a time zone for your location. Timezones are represented on the system by a directory structure rooted in "/usr/share/timezone". Most timezones can be selected by entering a token like "MET" or "GMT-6". Other zones are grouped by continent, with detailed zone information separated by a slash ("/"), e.g. "US/Pacific". To get a listing of what's available in /usr/share/zoneinfo, enter "?" at the prompts below. What timezone are you in [`?' for list] []? ? ----------------------------------------------------------------------- どうやら日本は Japan をいう名称を使用するようなので、[Japan] と入力します。 ----------------------------------------------------------------------- Africa EST5EDT Hongkong Mideast Turkey America Egypt Iceland NZ UCT Asia Eire Indian NZ-CHAT US Atlantic Etc Iran Navajo UTC Australia Europe Israel PRC Universal Brazil Factory Jamaica PST8PDT W-SU CET GB Japan Pacific WET CST6CDT GMT Kwajalein Poland Zulu Canada GMT+0 Libya Portugal posixrules Chile GMT-0 MET ROC Cuba GMT0 MST ROK EET Greenwich MST7MDT Singapore EST HST Mexico SystemV What timezone are you in [`?' for list] []? Japan ----------------------------------------------------------------------- 次はインストールするディスクの選択です。 複数のディスクが接続されていなければ、 使用できるディスクとしてリストされるのは sd0 だけです。 ここの入力にはデフォルトの値がありませんので [sd0] を入力します。 入力後、そのディスクラベルを編集するかどうかを訊かれます。 今回はすでにパーティションを割り振ってあるので、[n] と答えることにします。 もちろん、もう一度編集したい方は [y] でいいのですが、 どこかのパーティションに配布ファイルをコピーした場合は、 再編集すると消えてしまいますので注意しましょう。 ----------------------------------------------------------------------- You have selected timezone "Japan". The installation program needs to know which disk to consider the root disk. Note the unit number may be different than the unit number you used in the standalone installation program. Available disks are: sd0 Which disk is the root disk? sd0 Do you wish to edit the disklabel on sd0? [y]n ----------------------------------------------------------------------- ここからはマウントポイントの設定です。 最初には sd0a が / ファイルシステムとしてマウントされることが示されています。 ここで、先程割り振ったパーティション通りにマウントポイントを指示していきます。 但し、先に NetBSD の配布ファイルをコピーしたパーティションを マウントしてはいけません。 ここで指示したマウントポイントは newfs の対象になるからです。 swap については b パーティションに自動的に割り振られますので その他のマウントポイントを指示することにします。 ----------------------------------------------------------------------- You will now have the opportunity to enter filesystem information. You will be prompted for device name and mount point (full path, including the prepending '/' character). Note that these do not have to be in any particular order. You will be given the opportunity to edit the resulting 'fstab' file before any of the filesystems are mounted. At that time you will be able to resolve any filesystem order dependencies. The following will be used for the root filesystem: sd0a / Device name? [done] sd0g Mount point? /usr ........ Device name? [done] sd0f Mount point? /export Device name? [done] done ----------------------------------------------------------------------- 入力したものがリストされ、再編集するかどうか訊かれます。 間違いがなければ [n] を入力するとファイルシステムが構築されます。 もし間違えている場合は [y] を選択すると vi が起動し修正可能です。 但しこの vi での編集は 1回きりで、vi を閉じた途端に newfs が始まります。 もし間違えたときは インストーラそのものを ^C で停止し、 再び /install でインストールシェルを起動したほうが無難なようです。 ----------------------------------------------------------------------- You have configured the following devices and mount points: sd0a / sd0g /usr sd0d /usr/local sd0e /var sd0f /export Filesystems will now be created on these devices. If you made any mistakes, you may edit this now. Edit? [n] n ----------------------------------------------------------------------- newfs が終了すると、次はネットワーク環境を定義するかを訊かれます。 「The Network is The Computer」 (c) Sun Microsystems Inc. をネットワーク接続しないことは考えられない (!) ので、[y] を選択します。 ----------------------------------------------------------------------- Creating filesystems... /dev/rsd0a: 66528 sectors in 66 cylinders of 16 tracks, 63 sectors 32.5MB in 5 cyl groups (16 c/g, 7.88MB/g, 1920 i/g) super-block backups (for fsck -b #) at: 32, 16224, 32416, 48608, 64800, ........ 1161760, 1177952, 1194144, 1210336, 1226528, You will now be given the opportunity to configure the network. This will be useful if you need to transfer the installation sets via FTP or NFS. Even if you choose not to transfer installation sets that way, this information will be preserved and copied into the new root filesystem. Note, enter all symbolic host names WITHOUT the domain name appended. I.e. use 'hostname' NOT 'hostname.domain.name'. Configure the network? [y] y ----------------------------------------------------------------------- ネットワーク内でのこのマシンの立場は、ここで定義します。 マシン名は可愛く snoopy としました。 このとき、ドメイン名を含めてはいけません。 ドメイン名については、どこかのドメインに属しているならそれを、 外部接続しない場合なら自由につけて構いません。 それらを入力すると、どのネットワークインタフェースについて 定義するかを訊いてきます。 ここはディスクと同じようにデフォルト値がありませんので、 インタフェース名 [le0] を入力します。 ----------------------------------------------------------------------- Enter system hostname: [] snoopy Enter DNS domain name: thinkfree.co.jp You may configure the following network interfaces (the interfaces marked with [X] have been succesfully configured): le0 Configure which interface? [done] le0 ----------------------------------------------------------------------- IP アドレス、ネットワーク上でのマシン名、ネットマスクを定義します。 ネットワーク上でのマシン名は、インタフェース毎のシンボル名です。 インタフェースが一つの場合はホスト名と同じものをつければ良いでしょう。 また、ifconfig に対する追加定義があればここで定義できます。 普通はなにも必要ないので、そのままリターンを入力すればいいでしょう。 ----------------------------------------------------------------------- Enter system hostname: [] snoopy Enter DNS domain name: thinkfree.co.jp You may configure the following network interfaces (the interfaces marked with [X] have been succesfully configured): le0 Configure which interface? [done] le0 IP address? [] 192.168.200.21 Symbolic (host) name? snoopy Netmask? [] 255.255.255.0 Your network interface might require additional link-layer directives (like `link0'). If this is the case you can enter these at the next prompt. Additional link-layer arguments? [] [Return] ----------------------------------------------------------------------- 定義が成功したインタフェースについては、 インタフェース名の前に [X] が付きます。 これで定義を終えるなら done を入力します ----------------------------------------------------------------------- You may configure the following network interfaces (the interfaces marked with [X] have been succesfully configured): [X] le0 Configure which interface? [done] done ----------------------------------------------------------------------- 次はデフォルトルーターのアドレスですとネームサーバーのアドレスです。 ネットワーク内にあるデフォルトルーターとネームサーバーの IP アドレスを入力しましょう。 なければそのまま [Return] で構いません。 ネームサーバーを指定した場合はそれを使うかどうかを訊かれます。 ここではすぐ利用することにして [y] を入力しておきます。 ----------------------------------------------------------------------- Enter IP address of default route: [none] 192.168.200.1 Enter IP address of primary nameserver: [none] 192.168.200.1 Would you like to use the nameserver now? [y] y ----------------------------------------------------------------------- 入力を終えると、/etc/hosts を編集するかを選択できます。 他のホストを定義するなら、ここでしてしまっても結構です。 インストール終了後にも編集できるものですので、 面倒ならあとまわしでも構いません。 ----------------------------------------------------------------------- The host table is as follows: 127.0.0.1 localhost 192.168.200.21 snoopy snoopy.thinkfree.co.jp You may want to edit the host table in the event that you need to mount an NFS server. Would you like to edit the host table? [n] ----------------------------------------------------------------------- その他のネットワークに関する定義を行うために、 ここでシェルに抜けることができます。 例えばインストールプログラムは別のルーターを定義することを例に挙げています。 特に問題がなければここでシェルを使う必要はありませんので、 このままインストールを続けるため [y] を入力します。 ----------------------------------------------------------------------- You will now be given the opportunity to escape to the command shell to do any additional network configuration you may need. This may include adding additional routes, if needed. In addition, you might take this opportunity to redo the default route in the event that it failed above. If you do change the default route, and wish for that change to carry over to the installed system, execute the following command at the shell prompt: echo > /tmp/mygate where is the IP address of the default router. Escape to shell? [n] n ----------------------------------------------------------------------- これでネットワークに関する設定は終了です。 次は fstab を編集するかを訊かれます。 先程行ったマウントポイントの指定がそのまま反映されています。 特に変更がなければ [n] を入力します。 ここにリストされているパーティションは、 配布ファイルの展開先として、一時的にマウントされます。 先に NetBSD の配布ファイルをコピーしたパーティションは、 配布ファイルの位置として指定しますので、ここで指示してはいけません。 ----------------------------------------------------------------------- The fstab is configured as follows: /dev/sd0a / ffs rw 1 2 /dev/sd0g /usr ffs rw 1 2 /dev/sd0e /var ffs rw 1 2 /dev/sd0d /usr/local rw 1 2 /dev/sd0f /export rw 1 2 You may wish to edit the fstab. For example, you may need to resolve dependencies in the order which the filesystems are mounted. You may also wish to take this opportunity to place NFS mounts in the fstab. This would be especially useful if you plan to keep '/usr' on an NFS server. Edit the fstab? [n] n ----------------------------------------------------------------------- 次は配布ファイルがあるメディアと位置を指定します。 配布ファイルはディスクにコピーしてあるので、disk を選びます。 メディアとして、他のものを選択することもできますが、 CDROM については先のインストーラの間違いがありますので 指定しないほうがいいでしょう。 ftp, NFS の場合は配布サイトの入力や、マウント先のアドレスを訊かれますので、 それぞれ適当なものを指定してください。 # 但し、tape も含め私は試していません。念の為。 ----------------------------------------------------------------------- /dev/sd0a on /mnt type ffs (local) /dev/sd0g on /mnt/usr type ffs (local) /dev/sd0e on /mnt/var type ffs (local) /dev/sd0d on /mnt/usr/local type ffs (local) /dev/sd0f on /mnt/export type ffs (local) It is now time to extract the installation sets onto the hard disk. Make sure the sets are either on a local device (i.e. tape, CD-ROM) or on a network server. Install from (f)tp, (t)ape, (C)D-ROM, (N)FS or local (d)isk? d ----------------------------------------------------------------------- 入力すると、どのディスクの、どのパーティションをマウントするのかを訊かれます。 事前にコピーしたパーティションをアルファベット 1文字で指定します。 ファイルシステムのタイプは、Solaris で作成したものは ffs のままで OK です。 # とゆーか、インストーラによる選択の余地はありません。 うまくマウントされると、どのディレクトリかを訊かれますので、 base.tar.gz があるディレクトリを、先のメモを読みながら指定します。 ディレクトリ内に配布ファイルが見つかると、 どのファイルを展開するかのリストが表示されます。 展開するファイルを指定するために [y] を入力します。 ----------------------------------------------------------------------- The following disk devices are installed on your system; please select the disk device containing the partition with the installation sets: sd0 Which is the disk with the installation sets? [abort] sd0 Partition? [d] h The following filesystem types are supported: 1) ffs Which filesystem type? [ffs] Enter the directory relative to the mount point that contains the file. [] NetBSD-1.2.1/sparc The following sets are available for extraction: (marked sets have already been extracted) base.tar.gz comp.tar.gz etc.tar.gz games.tar.gz man.tar.gz misc.tar.gz text.tar.gz Continue extraction [y]?y ----------------------------------------------------------------------- 展開するファイルを一つずつ指示します。 指示する毎にファイルが展開されていきます。 必要なものを全て展開していきます。 ----------------------------------------------------------------------- Filename: [base.tar.gz][Return] ./bin ........ [X] base.tar.gz comp.tar.gz etc.tar.gz ........ Continue extraction [y]?y Filename: [comp.tar.gz][Return] ./usr ./usr/... ........ ----------------------------------------------------------------------- 全ての展開が終了したら、[n] を入力します。 ----------------------------------------------------------------------- [X] base.tar.gz [X] comp.tar.gz [X] etc.tar.gz [X] games.tar.gz [X] man.tar.gz [X] misc.tar.gz [X] text.tar.gz Continue extraction [n]?n ----------------------------------------------------------------------- これがインストーラに対しての最後の入力です。 全ての展開が終了したら [n] を入力します。 入力すると、インストーラは今まで入力した定義をシステム環境にコピーし、 デバイスファイルを作成し、ブートブロックを書き込みます。 これでインストール作業は終了です。 ----------------------------------------------------------------------- Extract more sets? [n] Copying fstab...done. Copying hostname.le0...done. Copying hosts...done. Copying myname...done. Copying mygate...done. Copying resolv.conf...done. Installing timezone link...done. Making devices...done. Copying kernel...done. Installing boot block... 919+1 records in 919+1 records out 29416 bytes transferred in 1 secs (29416 bytes/sec) Syncing disks...done. Umounting filesystems... /mnt/usr /mnt/var /mnt Done. CONGRATULATIONS! You have successfully installed NetBSD! To boot the installed system, enter halt at the command prompt. Once the system has halted, reset the machine and boot from the disk. # ----------------------------------------------------------------------- おめでとうございます!あなたは NetBSD のインストールに成功しました! インストールされたシステムをブートするには、 コマンドプロンプトへ halt と入力してください。 システムが停止したら、マシンをリセットするとディスクからブートします。 というわけですが、 実は途中でインストールが失敗していても、このメッセージは出力されるようです。 さあ、リブートしてみましょう。 halt して、ok プロンプトに対し、boot と入力するだけです。 ----------------------------------------------------------------------- # halt syncing disks... done halted Program terminated Type help for more information ok boot Can't open input device. SPARCstation IPX, No Keyboard ROM Rev. 2.3, 40 MB memory installed, Serial #2116554. Ethernet address 8:0:20:b:d5:ce, Host ID: 57204bca. Rebooting with command: Boot device: /sbus/esp@0,800000/sd@3,0 File and args: >> NetBSD BOOT [$Revision: 1.2 $] Booting netbsd @ 0x4000 1138656+109096+70120+[45468+49712]=0x15cfc4 Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 1.2.1 (GENERIC_SCSI3) #7: Fri Mar 21 11:31:53 MET 1997 pk@flambard:/usr/src1/sys/arch/sparc/compile/GENERIC_SCSI3 real mem = 41795584 avail mem = 37433344 using 510 buffers containing 2088960 bytes of memory bootpath: /sbus0/esp@0,800000/sd@3,0 mainbus0 (root) cpu0 at mainbus0: SUNW,Sun 4/50 (W8601/8701 or MB86903 @ 40 MHz, on-chip FPU) ........ checking quotas: done. building databases... clearing /tmp standard daemons: update cron. starting network daemons: routed printer inetd. creating runtime link editor directory cache. starting local daemons:. Mon Dec 1 21:05:40 JST 1997 NetBSD/sparc (snoopy) (console) login: ----------------------------------------------------------------------- どうでしょう? 正しくブートしましたか? 4. インストールのあとしまつ 最後にしておかなければならないことがあります。 最初にファイルをコピーしておいたパーティションの初期化とマウントの定義です。 初期化については、Solaris で作成したファイルシステムを そのまま使い続けても特に問題がないので行う必要はありません。 しかし、マウントの定義はしておかないと、その分はムダになりますね。 まず root でログインし、パスワードを設定してしまいましょう。 ----------------------------------------------------------------------- NetBSD/sparc (snoopy) (console) login: root Dec 1 21:09:03 snoopy login: ROOT LOGIN (root) ON console Dec 1 21:09:03 snoopy login: ROOT LOGIN (root) ON console Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. NetBSD 1.2.1 (GENERIC_SCSI3) #7: Fri Mar 21 11:31:53 MET 1997 Welcome to NetBSD! Terminal type? [sun] kterm Don't login as root, use su snoopy# passwd Changing local password for root. New password: Retype new password: snoopy# ----------------------------------------------------------------------- 次に配布ファイルがあったパーティションを一時的にマウントし、 内容をどこかへコピーしておきます。 今回は /export を大きめに取ってあるので、/export/sd0h を作り、 そこにコピーしてしまうことにします。 ----------------------------------------------------------------------- # mount /dev/sd0h /mnt # mkdir /export/sd0h # cd /mnt # tar cf - NetBSD-1.2.1 | (cd /export/sd0h; tar xf -) ----------------------------------------------------------------------- 次にそのパーティションをアンマウントし、 newfs してしまいます。 その後、好きなマウントポイントを作成し、/etc/fstab を編集して 次のブート時に自動でマウントするようにしておけば良いでしょう。 ここではもともと home ディレクトリにするつもりのパーティションだったので、 /home にマウントするよう fstab に書き加えました。 ----------------------------------------------------------------------- # umount /mnt # newfs /dev/sd0h # vi /etc/fstab # mount /home ----------------------------------------------------------------------- ここまでくれば、あとはどう設定しようと自由です。 NetBSD/sparc の世界をお楽しみください。 5. その他の情報 5.1. フロッピーブート フロッピーブートは、ブートフロッピーさえできてしまえば簡単です。 フロッピーは 2HD のものを 2枚用意します。 それぞれのファイルの圧縮を伸長し、 そのまま dd コマンド等でイメージを転送します。 ----------------------------------------------------------------------- % gunzip boot-12A.fs.gz micro-12.fs.gz % dd if=boot12A.fs of=/dev/rfd0 2880+0 records in 2880+0 records out % dd if=boot12A.fs of=/dev/rfd0 2880+0 records in 2880+0 records out % ----------------------------------------------------------------------- ここで作成した 1枚目をブートフロッピー、 2枚目を ファイルシステムフロッピーとして、ラベルを貼っておきましょう。 ブートは、ブートフロッピーをドライブに入れ、 ROM モニタから次のようにコマンドすれば OK です。 ----------------------------------------------------------------------- ok boot /fd netbsd -s ----------------------------------------------------------------------- 途中で、フロッピーが勝手に飛び出します。 そこで、ファイルシステムフロッピーに入れ換えて [Retern] を入力すれば、 シングルユーザモードのシェルが立ち上がります。 このシステムは非常に小さくつくられており、ls コマンド等が使えません。 UNIX の経験が豊富な人向けの方法だと思います。 5.2. ネットワークブート ごめんなさい。 以前に SUN4/260 を使用してネットワークブートをやったことはあるのですが、 記録に残していません。 INSTALL を読めば、大体のことはわかると思います。 この手順は、Solaris でのネットワーククライアント接続手順と同様なので、 Solaris の、ディスクレスクライアントの設定の説明を読むと理解しやすいでしょう。 というわけで、なんのお役にもたてません。ごめんなさい。 6. おしまい とりあえず、記録はここまでです。 もし、トライしてみた人の参考になれば、うれしく思います。 ささき sasaki@thinkfree.co.jp nsasaki@da2.so-net.or.jp