Introduction
|
|
インストールが終了したらカーネルの再構築を行う。
インストールの際にインストールされるカーネルはGENERICカーネルと呼ばれ、
もっとも一般的で汎用性の高い構成となっている。
システムを運用していく上で問題が発生しなければ、
このままGENERICカーネルを使用しても差し支えないのだが、
汎用性を高くするために不要な設定やドライバがカーネルに含まれており、
また、ThinkPad s30の場合はそのままでは音が鳴らないのでカーネルを再構築する。
|
Copy
|
|
カーネルのコンフィグレーションファイルを用意する。
FreeBSDのカーネル構成は全てコンフィグレーションファイルにて設定する。
コンフィグレーションファイルを1から作るのは無駄だし、
間違いやすいので一般的には既存のコンフィグレーションファイルを元に編集する。
FreeBSDをインストールするとカーネルのソースは/usr/src/sys以下に展開され、
コンフィグレーションファイルは/usr/src/sys/i386/conf以下に置かれる。
ここにあるファイルの内、GENERICというファイルが
GENERICカーネルのコンフィグレーションファイルなので、
任意の名称のファイルにコピーする。
ホスト名を全て大文字にしたファイル名とするのが一般的。
|
Edit
|
|
コピーしたコンフィグレーションファイルを編集する。
カーネルのコンフィグレーションファイルを任意のエディタで編集して
カーネルの構成を定義する。
基本的には不要なオプションやドライバを削除し、
必要なオプションやドライバを追加する。
場合によっては、各ドライバの使用する割り込みや
I/Oバッファのアドレスを指定する等のオプションを変更したりする必要もあるが、
ThinkPad s30の場合は不要だった。
以下に現在使用中のカーネルコンフィグレーション概要を示す。
cpu
|
I686_CPU
以外は不要なので削除
|
ident
|
コンフィグレーションファイル名
|
options MATH_EMULATE
|
浮動小数点コプロセッサ内蔵なので不要
|
options INET6
|
IPv6は使用しないので削除
|
option SMP
option APIC_ID
|
CPUは1個なので削除
|
device fdc0
device fd0
device fd1
|
フロッピドライブは装備してないので削除
|
device atapifd
device atapist
|
IDE接続のFD/TAPEは使用しないので削除
|
device ahd
:
|
SCSIデバイスは使用しないので削除
|
device asr
:
|
RAIDコントローラは使用しないので削除
|
device sio0
device sio1
device sio2
device sio3
|
シリアルポートは装備してないので削除
|
device ppc0
device ppbus
device lpt
device plip
device ppi
device vpo
|
パラレルポートは装備してないので削除
|
device pcm
|
音を鳴らしたいので追加
|
|
Configure
|
|
新しいカーネルのコンフィグレーションを有効にする。
コンフィグレーションを有効にするためには、
コンフィグレーションファイルのあるディレクトリで、
カーネルコンフィグレーションファイル名を引数として
configコマンドを実行する。
configコマンドを実行する事によりコンパイル環境が構築される
|
Compile
|
|
新しいカーネルのコンパイル
コンパイルディレクトリ
/usr/src/sys/compile/コンフィグレーションファイル名に移動して
コンパイルを行う。make dependを忘れずに。
# cd ../../compile/ファイル名
# make depend
# make
|
|
Install
|
|
新しいカーネルとドライバモジュールをインストールする
古いカーネルは/kernel.oldと言う名称でセーブされるが、
カーネルを再構築(make install)すると
/kernel.oldは現在のカーネルで上書きされてしまう。
インストール時のGENERICカーネルなど、
確実に起動できるカーネルとカーネルモジュールをバックアップしておくと良い。
|
Reboot
|
|
万が一新しいカーネルが起動できない場合は、起動時の
Hit [Enter] to boot immediately,
or any other key for command prompt
Booting [kernel] in 9 second...
|
のメッセージが表示されている時に Enter 以外の任意のキー入力すると、
loaderのプロンプトokが表示されるので、
unloadコマンドで現在のカーネルをアンロードした後、
loadコマンドで確実に起動できるカーネルを選択して
bootコマンドにより起動させカーネルを再度構築する。
カーネルの名称が不明な場合はlsコマンドを実行すると、
/にあるファイルの一覧が表示される。
Hit [Enter] to boot immediately,
or any other key for command prompt
Booting [kernel] in 9 second...
Type '?' for a list of commands,
'help' for more detailed help.
ok unload
ok ls
/
d dev
d stand
:
kernel
kernel.old
:
ok load kernel
/kernel text=0x... data=0x... syms=[0x4+0x...]
ok boot
|
|