FreeBSD6.2をシリアルコンソールからインストールする方法

ここではFreeBSDを直接インストールするのではなく、DOS等の端末を使ってでのシリアル経由でのインストール方法を紹介して行きたいと思います。シリアルコンソールからインストールする理由は、FreeBSD等のPC-UNIXは直接音声利用してインストールすることが不可能だからです。まあもっともUNIXをシリアルコンソールからインストールすると言うことは珍しいお話ではありませんが。

1. インストールでまず必要なもの

パソコン2台
ぼくの場合、6000円で買ってきたAT互換機(これにFreeBSD本体をインストール)、それと端末用のWindowsまたはDOSマシン。
FreeBSD 6.2-ReleaseのCD-ROM
ftp://ftp.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-disc1.iso から落としてきて焼いて下さい。
ネットワークボードを2枚
1枚は、インテルのイーサエキスプレスプロ、これはFreeBSDをこれからインストールしようとしているマシンに挿します。PCIです。もう1枚はアライドテレシス社のLA-PCI-Tです。PCIのものです。これは端末で使います。
アライドテレシス社のセンターネットPC/tcp VER6.0
これは、端末のパソコンにインストールします。
ETV
ETVはフリーの通信ソフト。 etvは以下のところからgetして下さい。 http://www.watakatsu.com/unix/download/etv115.lzh
RS232C用のクロスケーブル1本
これはインストールをするときのみに使います。インストール後でのFreeBSDへのアクセスには、主に、PC/TCP付属のTELNETである、VTNあるいは、JTNを使います。
VDM
これはVDM100が良いようです。VDM101や、VDM102、VDM103等の、点字ディスプレイ対応のものはインストール時にETVを使うときにトラブルになるようです(たとえ、GRAPH + F2でピンディスプレイをOFFにしてもうまく行きませんでした)。ちなみに、VDM100-Hをぼくは使いました。ただし、これはインストールの時の話で、インストール後は、どのVDMや、グラスルーツを使っても問題ありません。

2. インストール前の下準備

2.1 FreeBSDのブートフロッピーの作成

1枚目のCD-ROMには、floppiesというサブディレクトリがあります。これにboot.flp,kern1.flp、kern2.flp、kern3.flpというファイルがあります。それと、toolsというサブディレクトリもあります。ここにはfdimage.exeというファイルがあります。この5ファイルが、ブートディスクを作るのに必要です。

さて、FreeBSDのバージョン5以前の場合は、インストーラが立ち上がったときにすぐに出るbootプロンプトで、キーボードから-hと入力することで、シリアルコンソールにインストーラが切り替わりました。 しかし、バージョン5以降では、-hはつかえなくなりました。その変わりに
set console=comconsole と入力しなければならなくなりました。これは結構大変で、タイミングも難しいようです。 なので、boot.flpに上のコマンドを予め書き込むことで対処します。つまりインストーラをちょっと改造しなければなりません。しかしこれを改造するにはWindowsやDOSからはできません。予めFreeBSDのマシンか、Linuxなどが手元になければ不可能です。なので、ここに改造積みのboot.flpをアップしておきます。

FreeBSD上での改造の方法は次のようにします。 # mdconfig -a -t vnode -f boot.flp
すると md0 のように表示されます。
# mount /dev/md0 /mnt
そして、/mnt/boot/loader.confをviなどで次の行を一番最初に書き加えます。
console="comconsole"
これで終了です。 # umount /mnt
#mdconfig -d -u md0
と後処理もして下さい。

さて、起動ディスクの作成です。Windowsのdos窓で作りましょう。先ほどの4個のファイルを、copyコマンドやexplore等で適当なディレクトリにコピーして下さい。ここでは、c:\workとしましょう。では、次のようにコマンドを実行してください。 C:\work>fdimage boot.flp a:(リターン)
 これを実行すると、かたかたとフロッピードライブ音が出ます。体感では、1分ぐらいで作られたように感じました。場合によっては「このMS-DOSプログラムは強制終了されました」とWindowsお得意のエラーメッセージが出るかもしれませんが、まあだいじょうぶでしょう。Windowsの戯言と思って、次に同じように
C:\work>fdimage kern1.flp a:(リターン)
とやって2,3,4枚目も作って下さい。 もちろんUNIX上でddコマンドでも作れます。ddコマンドを知っている人は説明は不用ですよね。

2.2 インサーボードの設定

まず、端末に挿すLA-PCI-Tのボードを設定しましょう。

2.3 端末のパソコンの設定

次に、端末のパソコンである、PC9821V13の設定です。ETVを適当なディレクトリにcopyしてください。ここでは、a:\etvとします。必要なファイルはetv.exeとetv.datです。そして、AUTOEXEC.BATに次のように書き加えて下さい。
SET ETERM=A:\ETV
また、ETV.DATに書かなければならないのは、次の3行です。
set rkanji = euc ; 受信漢字コード (NONE,SJIS,JIS,EUC)
set skanji = EUC ; 送信漢字コード (NONE,SJIS,JIS,EUC)
ssw vt100 = ON ; vt100との細かい動作の違いの設定
次に、LA-PCI-Tボードに付属してきたフロッピーでNEC PC98x1用のなかのPDというディレクトリに lapci.comというのがありますから、これを端末のハードディスクに copyして、autoexec.batに次のように書いてください。
a:\pctcp\lapci.com
 次にFreeBSDをインストールした後、すぐに端末から使えるように alliedをインストールしておきましょう。 alliedのインストールの方法は ALLIED TELESISでDIALUPする方法 をご覧下さい。

3. いよいよ実際のインストール

さて、まず端末とFreeBSDをインストールするパソコンとをクロスケーブルを使ってRS232C同士結んでください。FreeBSDをインストールしようとしているAT互換機には、RS232Cのポートが2個あると思います。1番のポートを使います。最近の新しいPC98シリーズにもポートが2個あると思いますが、これも1番のポートを使います。そして、端末のパソコンから、ETV -S9600と入力して、ETVを立ちあげておいてください。

では、先ほど改造したまたはダウンロードしてきたboot.flpでPCを立ち上げて下さい。このときにはまだFreeBSDのCDは入れておかないで下さい。CDROMからたぶん先にブートしてしまいます。インストーラが立ち上がってからCDROmを入れましょう。 さて、boot.flpで立ち上げると、端末のパソコンから、なにやら文字化けのような音が出てくると思います。そしたら、VDMの音を消しましょう。このとき、音を切るときにはGraph+f1とかではなく、VSU自信のスイッチを切るか、プリンター出力にVSUのスイッチを切り替えるなどにしてください。つまり端末のパソコンのキーボード入力をしないほうが良いようです。そして、BOOT.FLPのフロッピーの読み込みが終わったら、kern1.flpのフロッピーに換えてくれというメッセージが出てますので、変えて下さい。このメッセージはレビューモードで、もちろん読めます。kern1.flpのディスクに交換したら端末のリターンキーを入力して下さい。 同じようにkern2.flp、次にkern3.flpを、最後にもう一度boot.flpに換えます。すると次のような画面が出てきます。

avail memory = 42868736 (41864K bytes)
Preloaded elf kernel "kernel" at 0xc05fa000.
Preloaded mfs_root "/mfsroot" at 0xc05fa09c. chip0: rev 0x11 on pci0.0.0
(省略)
fxp0 at 0x280-0x29f irq 10 on pci
fxp0: address 00:60:52:07:44:02
(省略)
ad0: 8063MB (166.2064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
acd0: drive speed 689KB/sec, 256KB cache
acd0: supported read types: CD-DA
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: CD-ROM unknown medium, unlocked
(省略)
/stand/sysinstall running as init on serial console
These are the predefined terminal types available to
sysinstall when running stand-alone. Please choose the closest match for your particular terminal.
1 ...................... Standard ANSI terminal.
2 ...................... VT100 or compatible terminal.
(省略)
Your choice: (1-5)

ということなのですが、FreeBSDをインストールしようとしているパソコンのメモリや、HDDや、CD-ROM、ネットワークボードのチェックなどいろいろと行われます。かなりいろいろなメッセージが出てくるのですが、ぼくも全て分かっているわけではありません。

ここで注目して欲しいのは、ネットワークボードがちゃんと認識されているかどうかです。インテルのイーサエキスプレスプロでは、fxp0という名前のドライバが使われます。上の画面のようにfxp0なんちゃれと出ているのであれば認識されているでしょう。 ネットワークカードのドライバ名が分からなくても、ethernet adress: ff:00:」等と出ていれば認識されてます。 今はほとんど全てのネットワークカードが使えるので認識しているかどうか心配はまず要らないです。 あとは、ad0がなんちゃれと言っているのは、IDE接続のHDDが認識されているよ、acd0なんちゃれと言っているのは、IDE接続のCD-ROMドライブが認識されてますというメッセージです。この辺をチェックしておけば問題ないでしょう。 と言うことですが、これも今では全く心配は要らないです。 物理的にちゃんと接続されていればまず大丈夫です。 10年前ぐらいだと、なかなかCDROMが認識されなかったり、ネットワークカードが認識されなかったりと 私も結構なかされた経験があります。 最近は認識されなかったことはまったくありません。

次に自分の端末の種類はなんですかと聞いてます。ぼくらがインストールで使っているetvはvg100をサポートしているので、2.を選んでください(一般的にVT100を選択します。例えばテラタームとかでも)。2と入力してリターンです。

次に、どこの国かと聞いてます。日本なので 110のJapanを選んで下さい。結構沢山の国があるので110までカーソルを持って行くのはたいへんです。 110のJapanを選んでエンターです。

次に、システムコンソールはと聞いてます。106キーボードにカーソルがあるので、ここは なにもせずにエンターです。

今度は次のような画面になります。

/stand/sysinstall
Main Menu
Welcome to the FreeBSD installation
(省略)

  • Quick start - How to use this menu system
  • standard installation (recommended)
  • Express Begin a quick installation (for the impatient)
  • Custom Begin a custom installation (for experts)
  • (省略)

batsu ここでは standard installationを選ぶので、standardの最初の文字の's'を入力してリターンです。 もちろんカーソルキーでそこに合わせてエンターでもかまいません。 次のような画面になります。

Message
Now you need to create BSD partitions inside of the fdisk partition(s) just created.
If you have a reasonable amount of disk space (200MB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically.
(省略)
(100%)

これからFreeBSDをインストールするための領域を作ります等の説明が出てます。この画面が出たら一応、説明を読んでからリターンです。画面が変化して、ハードディスクのどこにFreeBSDをインストールするか聞いてきます。でもいまの場合、上にも書いたとおりハードディスクの全体にFreeBSDをインストールするのでallの'a'を入力します。すると他に他のOSをインストールしないのか聞いてきます。注意して欲しいのは質問は英語の否定文で聞いてます。いまは他のOSをインストールしないのでnoを選びます。よく分からない方は、とりあえずnoを選んでリターンです。これで、FreeBSDがハードディスクの全体にインストールするための手続きが終わりました。'q'と入力して次の画面に移動して下さい。画面は次のようになります。

The following commands are valid here (upper or lower case):
C = Create D = Delete
M = Mount pt.N = Newfs Opts
T = Newfs Toggle U = Undo
Q = Finish
A = Auto Defaults for all

ここでは、FreeBSDのパーティションの作り方を聞いてます。ここでは自動で作ってもらいましょう。autoの'a'を入力してください。そして、この画面を終了するために、'q'を入力して下さい。するとFreeBSDのどのパッケージを選びますかという画面が下のように出てきます。

Choose Distributions
As a convenience, we provide several "canned" distribution sets.

  • [ ] 1 Developer Full sources, binaries and doc but no games
  • [ ] 2 X-Developer Same as above + X Window System
  • [ ] 3 Kern-Developer Full binaries and doc, kernel sources only
  • (省略)

ここでは3番を選びましょう*[1]。ここで注意して欲しいのは、インストールしたい番号にカーソルを合わせてからリターンではなく、スペースキーを1度押してマークを付けるようにするということです。リターンをたたくとうまくインストールできません。ではカーソルは1番にあると思います。graph+return等のレビューモードでしっかりと確認して下さい。ではカーソルを2回下げてスペースキーです。すると次のような画面が出てきます。

User Confirmation Requested Would you like to install the FreeBSD ports collection?

PORTSの説明はここではしませんが、これはインストールしておきましょう。その方が後で楽ですから。すると先ほどのインストールパッケージを選ぶ画面に戻ります。

Choose Distributions
As a convenience, we provide several "canned" distribution sets.

  • [ ] 1 Developer Full sources, binaries and doc but no games
  • [ ] 2 X-Developer Same as above + X Window System
  • [x] 3 Kern-Developer Full binaries and doc, kernel sources only
  • (省略)

でも、よく3番のところを見て下さい。[x]と先ほどは空白だったのが、'x'と印が付いてます。これは先ほど3番を選んだとき、スペースキーを押してマークを付けた印です。では、リターンでこの画面を抜けて下さい。次に、インストール元をなににするか聞いてきます。FreeBSDは、CD-ROM、ネットワーク経由、フロッピーなどいろいろな方法でインストールができるようになってます。CD-ROMがいちばん安定していて良いと思います。ここでもCD-ROMを利用します。

-------
Choose Installation Media
FreeBSD can be installed from a
variety of different installation media,
(省略)
1 CD-ROM Install from a FreeBSD CD-ROM
2 FTP Install from an FTP server
3 FTP Passive Install from an FTP server through a firewall
4 DOS Install from a DOS partition
5 NFS Install over NFS
-------
 カーソルはすでに1のCD-ROMにありますから、そのままリターンで良いでしょう。リターンをたたくと次のような画面になります。
-------
User Confirmation Requested Last Chance! Are you SURE you want continue the installation? (省略) ------- というように本当にインストールしてよいのか聞いてきます。インストールしたいのでここでリターンをします。これでインストールが開始されるはずです。しばらくハードディスクになにやら書き込んだ後、CD-ROMの「がちゃ」という音がして、CD-ROMからデータが読み込まれる様子が分かると思います。マシンのスピードにもよりますが、Pentium100MHzで、3,40分ぐらいかかると思います。いろいろとメッセージが出てきてうるさいのでgraph+f1か、VSUをプリンタへ切り替える等で音を切っておいて下さい。CD-ROMからの読み込みが終わると次のような画面が出てきます。 -------
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
(省略)
-------
と、おめでとうとメッセージが出てきます。でもmissing とかいうなにやら不吉なメッセージがcongratulationsの上とかに出ているかもしれませんが、気にしないで大丈夫です。では、次にネットワークボードの設定に移りましょう。一度リターンをすると次のような画面になると思います。
-------
User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
(省略)
-------
 ここからちょっと説明が煩雑になるのですが、画面にfxp0という文字が出てくるまでリターンをして欲しいのです。たぶん2回か、3回ぐらいリターンをたたけば良いと思います。慎重にやってください。次のような画面になります。
-------
User Confirmation Requested
Do you want to try DHCP configuration of the interface?
------
 fxp0つまり、マシンに挿したネットワークボードをdhcpとして使うか聞いてますが、dhcpは使わないのでnoを選んで下さい。すると次のような画面になります。
-------
Network Configuration
Host:
Domain:
Gateway:
Name server:
Configuration for Interface fxp0
IP Address:
Netmask:
Extra options to ifconfig:
-------
 ここで、host:などはスキップしてかまいません。そして、「Configuration for Interface fxp0 IP Address:」と聞こえるまでリターンです。そして、fxp0にipアドレスを割り当てます。ここでは、192.168.0.2と入力してリターンです。netmasuk:では、255.255.255.0と自動的に入っているかもしれません。入っていなければ255.255.255.0と自分で入力してください。  そして、 would like to add Select this if you are happy with these settings と聞いてきますからここでリターンです。そしたら、fxp0をすぐに使うようにするかと聞いてきます。ここでもリターンです。この後、gatewayを使うか、anonymous ftpを使うか、いろいろと聞いてきます。全てnoを選択してください。つまり次のような画面になるまでnoを選択して下さい。
------- User Confirmation Requested
Would you like to set this machine's time zone now?
-------
 時間の設定をします。ここではyesを選んで下さい。すると
-------
Select local or UTC (Greenwich Mean Time) clock
Is this machine's CMOS clock set to UTC?
If it is set to local time, or you don't know,
please choose NO
-------
 ローカルタイムを選ぶならば、noを選択しろということなので、ここではnoを選択してください。すると次のように、どのエリアの時間をセットするか聞いてきます。
-------
Time Zone Selector
Select a region
1 Africa
2 America -- North and South
(省略)
5 Asia -------
 5のAsiaを選んで下さい。するとAsiaの国々のリストの画面が出てきます。Japanは17番です。カーソルをそこへ合わせてリターンです。
-------
Confirmation
Does the abbreviation `JST' look reasonable?
-------
 jstがいいでしょうと聞いてます。jstで良いので、yesです。このあと、マウスの設定をするかとか、いろいろと聞いてきますが、次の画面になるまでnoを選択して下さい。 -------
User Confirmation Requested
Would you like to add any initial user accounts to the system?
-------
 ユーザアカウントを作るかと聞いています。作るのでyesです。  一度目のリターンでは、ユーザアカウントを作る画面にすぐにはなりませんので、もう一度だけリターンです。  するとユーザアカウントの入力になります。ここは自分で使いたいユーザ名を8文字以内で入力して下さい。次にパスワードを聞かれます。パスワードを入力してください。後はリターンで飛ばしてください。次に大切なことなのですが、このいま作っているユーザはwheelというグループに属していないとスーパーユーザにはなれません。telnet等のネットワーク経由でloginするときはいきなりrootではloginできませんので、wheelというグループに属していないといけません。「invite another group」というような音声が聞こえたら、リターンをやめて、wheelと全て小文字で書いて下さい。そして、この画面から抜けます。もう一度次の画面から抜けないといけません。exitまでカーソルを下げて、リターンです。すると次にrootのパスワードを設定して下さいという画面が出てきます。 ------
Now you must set the system manager's password.
-------
 ここでリターンです。パスワードを入力しろと2回言われます。もう一度パスワードを入力しろと言われます。2回とも同じパスワードを入力して下さい。これで全てのインストール作業は終わりです。2,3メニューが出てきますが、全てexitを選んで抜けて下さい。フロッピーを抜いてrebootしてください。FreeBSDが起動して、がらがらとHDDの音が出てくると思います。体感だと1分くらいかかるような気がしますが、実際はそんなにかかりません。そしたら、vtnやjtn等で次のようにしてFreeBSDにloginしてみましょう。 a:\>jtn 192.168.0.2  login:と出ましたか?出たら先ほど作ったアカウントと、パスワードでloginしてください。無事にloginできましたか?

参考資料