USBキーボードマシンにFreeBSDをインストールする


概要

 USBキーボードのマシンに FreeBSD 4.x-RELEASE (4.1〜) をインストールする方法を説明します。 もちろん、USBコントローラ、USBハブ、キーボードは 正常に認識するという前提になります。

  画面イメージ付インストール手順もどうぞ。

 成功例、失敗例、訂正、コメント等がありましたら、 著者まで御一報下さいませ。


問題点と解決方針

 USBキーボードのマシンに FreeBSD 4.1-RELEASE以降をインストールする際の問題は2点あります。

  1. フロッピから起動した場合、 「Please insert MFS root floppy and press enter:」と言われるが、 キーボードが全く効かない
    この症状が現れるマシンと、 現れないマシンがあるようです。
  2. インストーラ (sysinstall) は立ち上がるが、キー入力できない
最初の問題点は、 のいずれかで回避できます。 これをクリアできれば、 ことでインストールが可能になります。 最後の手段は、 でしょうか。


CD-ROMから起動する

 余計なところでキーは打たないことがポイントになります。 特に、余計な「Enter」を押すとやり直しになります。 まず、

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in XX seconds...
では何もしないで、黙って待ちます。
Kernel Configuration Menu

Skip kernel configuration and continue with installation
Start kernel configuration in full-screen visual mode
Start kernel configuration in CLI mode
が表示されたところで、カーソル「↓」を押します。 反転した部分が
Start kernel configuration in full-screen visual mode
に移動すればまずは成功です。 カーネルの設定とインストールに進みます。


kern.flpを改造する

kern.flpの改造

 kern.flpを改造します。 改造するにはFreeBSD環境が必要です。 自力で改造できない場合には、 4.3-RELEASEの改造済kern.flpイメージをどうぞ。

 kern.flpを改造するには、 フロッピを作ってからマウントしても良いですし、 vn(8)が使える環境ならばkern.flpを直接操作しても良いでしょう。 vnを使う場合には、

# vnconfig -v /dev/vn0 /tmp/kern.flp
# mount /dev/vn0a /mnt
# vi /mnt/boot/loader.rc
# umount /mnt
# vnconfig -u /dev/vn0
のようになります。ファイル名は各自の環境に合わせてください。

 /boot/loader.rcというファイルに
load /kernel
echo \007\007
echo Please insert MFS root floppy and press enter:
read
load -t mfs_root /mfsroot
echo \007\007
autoboot 10
と書いてあります。 これを、下記のように書き換えます。
load /kernel
echo \007\007
echo Please insert MFS root floppy within 30 seconds:
read -t 30
load -t mfs_root /mfsroot
echo \007\007
autoboot 10
「read -t 30」は 「30秒間入力がないか、Enterが入力されれば先に進む」という意味です。 時間は好みで調整してください。 キー入力ができないのに「Enterを押せ」になっているので、 一定時間が経過したら自動的に先に進むようにしてしまいます。

改造版kern.flpからの起動

 ここでも、余計なところでキーは打たないことがポイントになります。 フロッピを入れて起動します。 そして、下記が表示されるまで黙って待ちます (画面)。 内蔵スピーカから音が出るようになっていれば、ピー、ピーと二回鳴ります。

Please insert MFS root floppy within 30 seconds:
ここで、落ち着いてフロッピを交換します。 30秒だと結構余裕があります。 mfsroot.flpを読み終わると、
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in XX seconds...
と表示されます (画面)。 ここでは、何も入力してはいけません。 ひたすら待ちます。
Kernel Configuration Menu

Skip kernel configuration and continue with installation
Start kernel configuration in full-screen visual mode
Start kernel configuration in CLI mode
が表示されたところ(画面) で、カーソル「↓」を押します。 反転した部分が
Start kernel configuration in full-screen visual mode
に移動すればまずは成功です(画面)。


カーネルの設定とインストール

 起動時のカーネル設定メニュー

Kernel Configuration Menu

Skip kernel configuration and continue with installation
Start kernel configuration in full-screen visual mode
Start kernel configuration in CLI mode
が表示され、キー入力が可能であったなら、 PS/2キーボードとマウスを無効にしてしまいます。 不要なドライバの無効化、I/Oや割り込みの変更、 ドライバの有効化などが必要な場合は、同様に設定します。

 カーソルキーの「↓」「↑」で

Start kernel configuration in full-screen visual mode
を反転させ、「Enter」を押します。 Active Drivers
Input :        (Collapsed)
を反転させ(画面)、 「Enter」を押すと、 「Keyboard」と「PS/2 Mouse」と 「System console driver」が表示されます (画面)。 このうち、「Keyboard」と「PS/2 Mouse」を削除します。 まず、
Keyboard                                                  atkbd0   1
を反転させ、「Delete」を押します。 この行が消えるはずです(画面)。 次に、
PS/2 Mouse                                                psm0     12
を反転させ、「Delete」を押します (画面)。 他に必要な設定があれば、同様に行います。 全てが終われば、「q」を押します。
Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)
と表示されるので(画面)、 「y」を押します。

 あとは、普通にインストールできるはずです (画面)。


起動時のカーネル設定ファイル

 FreeBSDをインストールして、再起動します。 下記のファイルができているはずです。 なければ作ります。 次回からは、普通に起動すれば済むはずです。


カーネルの再構築

 カーネルを再構築する場合には、 PS/2キーボードとマウスを無効にします。 具体的には、下記のようにコメントしてしまえば良いでしょう。

# atkbdc0 controls both the keyboard and the PS/2 mouse
#device		atkbdc0 at isa? port IO_KBD
#device		atkbd0	at atkbdc? irq 1 flags 0x1
#device		psm0	at atkbdc? irq 12


(作成: 2001年7月2日 )