Q. セカンダリのマスタに FreeBSD を入れたとき、いつも boot: で
1:wd(2,a)/kernel を入力するのは面倒なんですが。
A. セカンダリのマスタに FreeBSD を入れると、起動時は wd2 として認識されて
しまうので、最初は "boot:1:wd(2,a)/kernel" というようにオプションをつけ
なければ FreeBSD は起動してくれません。
もし boot でオプションをつけずに直接 FreeBSD を起動させようとするな
ら、方法は 2 つあります。ひとつ目は [管理番号 85] を参照してくださ
い。もう一つの方法としてカーネルの再構築をして FreeBSD の入っている
wd2 のドライブを wd1 として認識させる方法があります。
必要な作業は
1. カーネルコンフィグレーションファイルの変更
2. カーネルの再構築
3. デバイスファイルの作成
4. /etc/fstab の変更
5. 再構築したカーネルのインストール
です。
FreeBSD 2.2.x-RELEASE では IDE のみのシステムの場合
1台目のディスク(wd0) - プライマリ マスタ (wdc0 drive0)
2台目のディスク(wd1) - プライマリ スレーブ (wdc0 drive1)
3台目のディスク(wd2) - セカンダリ マスタ (wdc1 drive0)
4台目のディスク(wd3) - セカンダリ スレーブ (wdc1 drive1)
という対応を前提としています。この対応はカーネルのコンフィグレーション
ファイルで変更できます。
例えば
セカンダリのマスタに接続されている2台目のハードディスクを
起動ディスクとする
ような場合は wd1 に セカンダリマスタ (wdc1 drive0) を対応させる必要があ
ります。
注意:
既にインストール済みの場合、デバイスファイルや /etc/fstab の内容は
wd2 として作成されていますから、そのまま作り直したカーネルをインス
トールして再ブートするとファイルシステムがマウントできなくなって何
もできない状態になってしまうので気をつけて下さい。
1. カーネルコンフィグレーションファイルの変更
コンフィグレーションファイルの controller wdc のセクションを
次のように変更します
そのためにはまず (/usr/src)/sys/i386/conf/GENERIC のファイルを
適当な名前でコピーして以下のように一部変更します。
変更箇所は 2,3 箇所。
-------------------------------------------------------------------------
ident MYMACHINE ← 新しく作ったファイル名
.....
config kernel root on wd1 ← "wd0" から "wd1" に変更
....
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
# disk wd2 at wdc1 drive 0 行頭に # を書いて無効化
disk wd1 at wdc1 drive 0
↑ FreeBSD の入っている wd2 を wd1 に変更
2. カーネルの再構築
このような設定を行なって カーネルの再構築を行ないます。コンフィグレー
ションファイルの名前を MYMACHINE とした場合、
# config MYMACHINE
# cd ../../compile/MYMACHINE/
# make depend
# make
ここではまだ再起動をしないで、そのまま次の操作に入ってください。
3. デバイスファイルの作成
wd1 で足りないデバイスファイルを作ります。2 台目のディスクの場合
# cd /dev/dev
# sh MAKEDEV wd1s1a
4. /etc/fstab の変更
/etc/fstab の変更を行ないます。
FreeBSD が wd2 としてインストールしたときの /etc/fstab
--------------------------------------------------------------------------
/dev/wd2s1b none swap sw 0 0
/dev/wd2a / ufs rw 1 1
/dev/wd2s1f /usr ufs rw 1 1
/dev/wd2s1e /var ufs rw 1 1
proc /proc procfs rw 0 0
/dev/wcd0c /cdrom cd9660 ro,noauto 0 0
--------------------------------------------------------------------------
このファイルの "wd2*" をすべて "wd1*" に変更。
5. 再構築したカーネルのインストール
最後に再構築したカーネルをインストールします。
# cd /usr/src/sys/compile/MYMACHINE
# make install
以上の作業を行なった後、再ブートすれば自動的に FreeBSD が起動するでしょ
う。
グループ名: boot-config